Hello QNX experts ref https://codereview.qt-project.org/121146 and http://testresults.qt.io/logs/qt/qtbase/5dae65fe1934e8565af317da17b4d8f42f1d7b8f/LinuxRHEL_6_6x86_64QNXQNX_660armv5GCCRelease_DisableTests_OpenGLES2/da39a3ee5e6b4b0d3255bfef95601890afd80709/buildlog.txt.gz
For Qt 5.7, we agreed that nullptr support was a required C++11 feature. An additional requirement comes from the use of std::atomic: constexpr support[1]. The integration above failed on a QNX 6.6 build due to constexpr support being missing. So the question is: does Dinkumware support it? In fact, does it even support <atomic>? The header is supplied by GCC, but it's in the libstdc++-v3/include hierarchy, so QNX may have disabled it. >From qcompilerdetection.h: # if defined(_HAS_DINKUM_CLIB) && !defined(_HAS_NULLPTR_T) # undef Q_COMPILER_NULLPTR # endif # if defined(_HAS_DINKUM_CLIB) && !defined(_HAS_CONSTEXPR) // The libcpp is missing constexpr keywords on important functions like std::numeric_limits<>::min() // Disable constexpr support on QNX even if the compiler supports it # undef Q_COMPILER_CONSTEXPR # endif The check for certain defines indicates that there are versions of DW with the necessary support. Are those available for QNX 6.6 toolchains? If so, how soon can the CI be upgraded to those toolchains? If not, we'll have to make some hard decisions. PS: I'm assuming the block immediately above the code pasted above is not active in 6.6, because rvalue references are also required for Qt 5.7. [1] does not apply to MSVC, so you may not use constexpr unconditionally in Qt code. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
