On Wednesday, 9 de November de 2011 10:45:42 Olivier Goffart wrote: > Also, it would be nice to have a wiki page listing which the features not > supported by which compilers. (we use to have that in the very old trolltech > wiki) Also, this should be reflected in qglobal.h (which deserve a cleanup)
+1 > (In qglobal.h, yhere is still stuff like Q_NO_DECLARED_NOT_DEFINED, > Q_NO_USING_KEYWORD, Q_NO_EXPLICIT_KEYWORD, Q_NO_BOOL_TYPE, > Q_FULL_TEMPLATE_INSTANTIATION, Q_BROKEN_DEBUG_STREAM, > Q_BROKEN_TEMPLATE_SPECIALIZATION, Q_NO_TEMPLATE_FRIENDS, ... > Which of them are still required? Which of them do one remember the > meaning?) Hopefully we can get rid of these: Q_NO_DECLARED_NOT_DEFINED - no clue what this is Q_NO_USING_KEYWORD - Symantec C++, Digital Mars, Borland C++, Comeau, others Q_NO_EXPLICIT_KEYWORD - Symantec C++, Digital Mars, Borland C++ Q_NO_BOOL_TYPE - Borland C++, Compaq C++ 6, Q_CC_DIAB Q_BROKEN_DEBUG_STREAM - Apple's gcc 3.1 - 3.3 Q_BROKEN_TEMPLATE_SPECIALIZATION - xlC 4, old EDG compilers Q_FULL_TEMPLATE_INSTANTIATION - gcc 2.95 Q_NO_STL_WCHAR - gcc 2.95 Q__NO_PACKED_REFERENCE - was broken code I guess Q_TYPENAME - xlC 4 The member-template and partial-specialisation macros are gone already. We should also remove all those compilers above that aren't tested by anyone anymore. These need more investigation as they are probably still enabled for current compilers. My guess is they can be gone too. Q_NO_DEPRECATED_CONSTRUCTORS - gcc on __APPLE__ Q_CANNOT_DELETE_CONSTANT - xlC 4, MSVC QT_NO_TEMPLATE_TEMPLATE_PARAMETERS - only enabled for Sun CC currently, but I'm told 5.10 has them This is currently the only we need to keep: Q_NO_TEMPLATE_FRIENDS - GCC only for now, but the code says Sun CC 5.10 has it Then there are all the C++11 features, but they are Q_COMPILER_* > My point is that it should be known why do don't use a feature of the C++ > language, but also which feature need not to be used or only within #ifdef. > And if there is no reference telling us that, how are developper supposed to > know? Well, we currently have one certain macro for C++98 features, one potential (TTPs), then we have C++03 and TR1 features, C++11 and extensions (like C99 support). -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center Intel Sweden AB - Registration Number: 556189-6027 Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development