[Development] Q_COMPILER_RANGE_FOR not supported by/defined for VS2012 and VS2013 ?

Michael Möllney mail at michaelmoellney.de
Mon Feb 29 19:40:07 CET 2016


Am 29.02.2016 um 19:15 schrieb Thiago Macieira:
> On segunda-feira, 29 de fevereiro de 2016 18:33:39 PST Michael Möllney wrote:
>> At least this is what can be found on:
>> http://en.cppreference.com/w/cpp/compiler_support
>> https://msdn.microsoft.com/en-us/library/hh567368.aspx
>>
>> So is it an error in
>> https://github.com/qtproject/qtbase/blob/5.7/src/corelib/global/qcompilerdet
>> ection.h#L917 ?
> It's intentional. It's buggy in previous versions, so the #define is not
> present.

Wow, thank you for this info.
Do you have a link at hand, where this is shown?
Is there a code pattern that's producing buggy code?

>> Is the test
>> https://github.com/qtproject/qtbase/blob/5.7/tests/auto/other/compiler/tst_c
>> ompiler.cpp#L991 skipped for all VS compilers older than VS2015?
>>
>> Or does Qt know something about VS2012 and VS2013 that can not be found on
>> the two sites I mentioned, so range for should not be used for these...?
> Use it only if you can test that it actually works.
>
> The deal for Qt's own code is that the submitter using ranged for must test
> with at least one version of the MS compiler before hitting the Stage button.
>

Sorry, I could not find this info.

Sounds like a strong burden for developers coming from the gcc platform 
committing patches to Qt
that they have to test on VS2012 first.

Should this be mentioned in
https://wiki.qt.io/Coding_Conventions#Conventions_for_C.2B.2B11_usage




More information about the Development mailing list