diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-12-14 14:53:44 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-12-15 08:23:15 +0100 |
commit | 83f7993e9e6dd0a6d515d08ee6448b82c12ff1b1 (patch) | |
tree | ad2401880bfdf2ad25be678157f1403eab51347e /sources/shiboken6/generator/shiboken/cppgenerator.cpp | |
parent | cf540671a591c446d1d573fc5812aa64102774c6 (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.cpp | 6 |
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" |