qcompilerdetection.h: stream-line MSVC feature detection
Reformat the MSVC feature detection to be similar to other compilers, ie. 1. Inside the C++11 features section instead of where the compilers are detected 2. In one block for the compiler, with sub-blocks for the version. However, it's now not 100% compatible with the previous version, since Q_CC_INTEL is now explicitly excluded while before it was implicitly included in the MSVC case. I have no idea whether that matters, since Q_CC_INTEL is handled for itself further up already. Change-Id: Id9e8da0a5394ad5643bcb29493f14bc6e8264c13 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
This commit is contained in:
parent
3717802653
commit
bf186ceebb
@ -106,10 +106,6 @@
|
||||
# define Q_CC_INTEL
|
||||
# endif
|
||||
|
||||
# if defined(Q_CC_MSVC) && _MSC_VER >= 1400
|
||||
# define Q_COMPILER_VARIADIC_MACROS
|
||||
# endif
|
||||
|
||||
/* only defined for MSVC since that's the only compiler that actually optimizes for this */
|
||||
/* might get overridden further down when Q_COMPILER_NOEXCEPT is detected */
|
||||
# define Q_DECL_NOTHROW throw()
|
||||
@ -646,7 +642,13 @@
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(Q_CC_MSVC) && _MSC_VER >= 1600 && !defined(Q_CC_INTEL)
|
||||
#if defined(Q_CC_MSVC) && !defined(Q_CC_INTEL)
|
||||
# if _MSC_VER >= 1400
|
||||
/* C++11 features supported in VC8 = VC2005: */
|
||||
# define Q_COMPILER_VARIADIC_MACROS
|
||||
# endif
|
||||
# if _MSC_VER >= 1600
|
||||
/* C++11 features supported in VC10 = VC2010: */
|
||||
# define Q_COMPILER_AUTO_TYPE
|
||||
# define Q_COMPILER_LAMBDA
|
||||
# define Q_COMPILER_DECLTYPE
|
||||
@ -654,7 +656,8 @@
|
||||
# define Q_COMPILER_STATIC_ASSERT
|
||||
// MSVC has std::initilizer_list, but does not support the braces initialization
|
||||
//# define Q_COMPILER_INITIALIZER_LISTS
|
||||
#endif
|
||||
# endif
|
||||
#endif /* Q_CC_MSVC */
|
||||
|
||||
#ifdef __cplusplus
|
||||
# if defined(Q_OS_BLACKBERRY) || defined(Q_OS_QNX)
|
||||
|
Loading…
Reference in New Issue
Block a user