[Development] QNX and Dinkumware support for constexpr and nullptr
James McDonnell
jmcdonnell at qnx.com
Wed Oct 28 22:41:12 CET 2015
On 2015-10-28, 12:02 PM, "Development on behalf of Thiago Macieira"
<development-bounces at qt-project.org on behalf of
thiago.macieira at intel.com> wrote:
>On Wednesday 28 October 2015 13:28:39 Rafael Roquetto wrote:
>> Hi James,
>>
>> On Wed, Oct 28, 2015 at 02:10:02PM +0000, James McDonnell wrote:
>> > Fixes to 6.6.0 are...unlikely. But if you let me know what I need to
>> > take/do to re-produce the problem I can try to help out. Is it just
>>this
>> > particular change or do I need to take all the changes in the
>> > 5.7-c++11-atomics topic?
>>
>> You can just take this particular change and try to build atomicfptr.cpp
>> manually -> this should reproduce the problem.
>>
>> (i.e. qcc -Vgcc_ntoarmv7le -o atomicfptr atomicfptr.cpp)
I¹ve created a QNX JIRA for the atomic function pointer compile failure.
No idea (yet) if 6.6.0 will be patched as a result.
>
>Plus the tests at tests/auto/corelib/thread/qatomicinteger and the
>atomic64.cpp config test. We may make the atomic64.cpp functionality
>mandatory
>in Qt 5.8.
8 of the qatomicinteger tests produce ³not supported² (from initTestCase)
when run:
tst_QAtomicInteger_Gcc_char
tst_QAtomicInteger_Gcc_char16_t
tst_QAtomicInteger_Gcc_qlonglong
tst_QAtomicInteger_Gcc_qulonglong
tst_QAtomicInteger_Gcc_schar
tst_QAtomicInteger_Gcc_short
tst_QAtomicInteger_Gcc_uchar
tst_QAtomicInteger_Gcc_ushort
Everything else is a-okey-dokey. atomic64.cpp compiles fine.
>
>These will make sure other integral types are supported properly, like
>char16_t. Our tests don't check, but please verify whether
>pointer-to-members
>and volatile combinations work too.
Volatile combinations? Atomics of volatile types? Or volatile atomics?
Pointer-to-member works (with one caveat) but only because they fall into
the ³I don¹t know what this is; I¹ll do it by size² category. The caveat
is that pointer-to-member doesn¹t work if the atomic is declared volatile.
The size based atomic has a pointer conversion that fails when the this
pointer is volatile. I¹ve created a QNX JIRA for this problem.
>
>It would be better if DW could be fixed to support constexpr, so neither
>of
>the patches I prepared will be necessary. That is, force
>Q_COMPILER_CONSTEXPR
>to be defined in Qt dev branch and make sure at least qtbase compiles.
>Since
>that will most likely require more invasive changes to DW, we should
>settle
>for <atomic> being fixed for function pointers.
>
>--
>Thiago Macieira - thiago.macieira (AT) intel.com
> Software Architect - Intel Open Source Technology Center
>
>_______________________________________________
>Development mailing list
>Development at qt-project.org
>http://lists.qt-project.org/mailman/listinfo/development
More information about the Development
mailing list