aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/generator/shiboken/cppgenerator.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-12-14 14:53:44 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-12-15 08:23:15 +0100
commit83f7993e9e6dd0a6d515d08ee6448b82c12ff1b1 (patch)
treead2401880bfdf2ad25be678157f1403eab51347e /sources/shiboken6/generator/shiboken/cppgenerator.cpp
parentcf540671a591c446d1d573fc5812aa64102774c6 (diff)
shiboken6: Fix the multiple inheritance code generation for CMake UNITY_BUILD (jumbo)
Move the static array into the function to prevent name clashes. Task-number: PYSIDE-2155 Change-Id: Ib3241280a439b0847ff8eaedbca701a9c1e14615 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken6/generator/shiboken/cppgenerator.cpp')
-rw-r--r--sources/shiboken6/generator/shiboken/cppgenerator.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/sources/shiboken6/generator/shiboken/cppgenerator.cpp b/sources/shiboken6/generator/shiboken/cppgenerator.cpp
index 9408868e9..5d48bbc3b 100644
--- a/sources/shiboken6/generator/shiboken/cppgenerator.cpp
+++ b/sources/shiboken6/generator/shiboken/cppgenerator.cpp
@@ -4348,13 +4348,13 @@ void CppGenerator::writeMultipleInheritanceInitializerFunction(TextStream &s,
{
QString className = metaClass->qualifiedCppName();
const QStringList ancestors = getAncestorMultipleInheritance(metaClass);
+ s << "int *\n"
+ << multipleInheritanceInitializerFunctionName(metaClass) << "(const void *cptr)\n"
+ << "{\n" << indent;
s << "static int mi_offsets[] = { ";
for (qsizetype i = 0; i < ancestors.size(); i++)
s << "-1, ";
s << "-1 };\n"
- << "int *\n"
- << multipleInheritanceInitializerFunctionName(metaClass) << "(const void *cptr)\n"
- << "{\n" << indent
<< "if (mi_offsets[0] == -1) {\n" << indent
<< "std::set<int> offsets;\n"
<< "const auto *class_ptr = reinterpret_cast<const " << className << " *>(cptr);\n"