aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-08-30 21:38:47 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2023-08-31 16:14:59 +0200
commit890db123f72af6093bac085d0a0e33432fb8d8bb (patch)
treead7ea5ec20d994c1981a68615ba6604d148dc638
parent8adc38c478bf3709dfa79ddff1d613dc418a9d02 (diff)
Remove Python 2 left-overs from number protocol
In-place div is no longer used, Py_nb_true_divide replaces Py_nb_divide. Pick-to: 6.5 Task-number: PYSIDE-2446 Change-Id: Iffcaa0d58520f05307e6203adc9b302a1d33bb90 Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io> Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
-rw-r--r--sources/shiboken6/generator/generator.cpp1
-rw-r--r--sources/shiboken6/generator/shiboken/cppgenerator.cpp20
2 files changed, 3 insertions, 18 deletions
diff --git a/sources/shiboken6/generator/generator.cpp b/sources/shiboken6/generator/generator.cpp
index cea9e86ef..e34ff10e1 100644
--- a/sources/shiboken6/generator/generator.cpp
+++ b/sources/shiboken6/generator/generator.cpp
@@ -575,7 +575,6 @@ static const QHash<QString, QString> &pythonOperators()
{u"operator++"_s, u"__iadd__"_s},
{u"operator--"_s, u"__isub__"_s},
{u"operator*="_s, u"__imul__"_s},
- {u"operator/="_s, u"__idiv__"_s},
{u"operator%="_s, u"__imod__"_s},
// Bitwise operators
{u"operator&"_s, u"__and__"_s},
diff --git a/sources/shiboken6/generator/shiboken/cppgenerator.cpp b/sources/shiboken6/generator/shiboken/cppgenerator.cpp
index 58aad63ca..7e8a3334e 100644
--- a/sources/shiboken6/generator/shiboken/cppgenerator.cpp
+++ b/sources/shiboken6/generator/shiboken/cppgenerator.cpp
@@ -218,7 +218,8 @@ static bool skipOperatorFunc(const AbstractMetaFunctionCPtr &func)
if (func->isModifiedRemoved() || func->usesRValueReferences())
return true;
const auto &name = func->name();
- return name == u"operator[]" || name == u"operator->" || name == u"operator!";
+ return name == u"operator[]" || name == u"operator->" || name == u"operator!"
+ || name == u"operator/="; // __idiv__ is not needed in Python3
}
QList<AbstractMetaFunctionCList>
@@ -4897,7 +4898,7 @@ static const QHash<QString, QString> &nbFuncs()
{u"__add__"_s, u"nb_add"_s},
{u"__sub__"_s, u"nb_subtract"_s},
{u"__mul__"_s, u"nb_multiply"_s},
- {u"__div__"_s, u"nb_divide"_s},
+ {u"__div__"_s, u"nb_true_divide"_s},
{u"__mod__"_s, u"nb_remainder"_s},
{u"__neg__"_s, u"nb_negative"_s},
{u"__pos__"_s, u"nb_positive"_s},
@@ -4910,7 +4911,6 @@ static const QHash<QString, QString> &nbFuncs()
{u"__iadd__"_s, u"nb_inplace_add"_s},
{u"__isub__"_s, u"nb_inplace_subtract"_s},
{u"__imul__"_s, u"nb_inplace_multiply"_s},
- {u"__idiv__"_s, u"nb_inplace_divide"_s},
{u"__imod__"_s, u"nb_inplace_remainder"_s},
{u"__ilshift__"_s, u"nb_inplace_lshift"_s},
{u"__irshift__"_s, u"nb_inplace_rshift"_s},
@@ -4946,8 +4946,6 @@ void CppGenerator::writeTypeAsNumberDefinition(TextStream &s, const AbstractMeta
for (auto it = nbFuncs().cbegin(), end = nbFuncs().cend(); it != end; ++it) {
const QString &nbName = it.key();
- if (nbName == u"__div__" || nbName == u"__idiv__")
- continue; // excludeFromPy3K
const auto nbIt = nb.constFind(nbName);
if (nbIt != nb.constEnd()) {
const QString fixednbName = nbName == boolT()
@@ -4956,18 +4954,6 @@ void CppGenerator::writeTypeAsNumberDefinition(TextStream &s, const AbstractMeta
<< nbIt.value() << ")},\n";
}
}
-
- auto nbIt = nb.constFind(u"__div__"_s);
- if (nbIt != nb.constEnd())
- s << "{Py_nb_true_divide, reinterpret_cast<void *>(" << nbIt.value() << ")},\n";
-
- nbIt = nb.constFind(u"__idiv__"_s);
- if (nbIt != nb.constEnd()) {
- s << "// This function is unused in Python 3. We reference it here.\n"
- << "{0, reinterpret_cast<void *>(" << nbIt.value() << ")},\n"
- << "// This list is ending at the first 0 entry.\n"
- << "// Therefore, we need to put the unused functions at the very end.\n";
- }
}
void CppGenerator::writeTpTraverseFunction(TextStream &s, const AbstractMetaClassCPtr &metaClass)