Details
Description
have two typesystems, both using the same shared pointer and then have one typesystem include the other. shiboken will then generate two `SKB_*_IDX` with the same name in two different anon enums, leading to duplicate declarations. The attached patch reproduces the issue in the 5.12 branch of pyside-setup. The error is:
In file included from /ssd2/milian/projects/qt5/src/pyside-setup/pyside3_build/py3.7-qt5.12.3-64bit-release/shiboken2/tests/otherbinding/other/extendsnoimplicitconversion_wrapper.cpp:10: /ssd2/milian/projects/qt5/src/pyside-setup/pyside3_build/py3.7-qt5.12.3-64bit-release/shiboken2/tests/otherbinding/other/other_python.h:45:64: error: ‘SBK_SHAREDPTR_INTEGER_IDX’ conflicts with a previous declaration SBK_SHAREDPTR_INTEGER_IDX = 5, // const SharedPtr<Integer > & ^ In file included from /ssd2/milian/projects/qt5/src/pyside-setup/pyside3_build/py3.7-qt5.12.3-64bit-release/shiboken2/tests/otherbinding/other/other_python.h:13, from /ssd2/milian/projects/qt5/src/pyside-setup/pyside3_build/py3.7-qt5.12.3-64bit-release/shiboken2/tests/otherbinding/other/extendsnoimplicitconversion_wrapper.cpp:10: /ssd2/milian/projects/qt5/src/pyside-setup/pyside3_build/py3.7-qt5.12.3-64bit-release/shiboken2/tests/smartbinding/smart/smart_python.h:24:5: note: previous declaration ‘<unnamed enum> SBK_SHAREDPTR_INTEGER_IDX’ SBK_SHAREDPTR_INTEGER_IDX = 5, // SharedPtr<Integer > ^~~~~~~~~~~~~~~~~~~~~~~~~
Attachments
Issue Links
- relates to
-
PYSIDE-1016 const& shared pointers arguments generate broken code
- Closed
-
PYSIDE-1043 using shared pointer for third-party type: SKB_*_IDX was not declared in this scope
- Closed
-
PYSIDE-454 Support shared pointers in APIs
- Closed
-
PYSIDE-1571 Missing QtBluetooth classes
- Closed