Move some compiler macro definitions into the compiler sections
authorThiago Macieira <thiago.macieira@intel.com>
Wed, 28 Mar 2012 19:00:59 +0000 (16:00 -0300)
committerQt by Nokia <qt-info@nokia.com>
Sat, 21 Apr 2012 03:09:18 +0000 (05:09 +0200)
Makes for a couple of cleaner definitions of fallbacks.

Change-Id: I9b1a6f77bab986514e1862ae1f431ea37b89c1b5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
src/corelib/global/qcompilerdetection.h

index cea26e0..d6267b5 100644 (file)
 #  define Q_CC_MSVC_NET
 #  define Q_OUTOFLINE_TEMPLATE inline
 #  define Q_NO_TEMPLATE_FRIENDS
+#  define Q_COMPILER_MANGLES_RETURN_TYPE
 #  define Q_ALIGNOF(type) __alignof(type)
 #  define Q_DECL_ALIGN(n) __declspec(align(n))
 #  define Q_ASSUME(expr) __assume(expr)
 #  define Q_UNREACHABLE() __assume(0)
 #  define Q_NORETURN __declspec(noreturn)
+#  define Q_DECL_DEPRECATED __declspec(deprecated)
 /* Intel C++ disguising as Visual C++: the `using' keyword avoids warnings */
 #  if defined(__INTEL_COMPILER)
+#    define Q_DECL_VARIABLE_DEPRECATED
 #    define Q_CC_INTEL
 #  endif
 /* MSVC does not support SSE/MMX on x64 */
 /* work-around for missing compiler intrinsics */
 #  define __is_empty(X) false
 #  define __is_pod(X) false
+#  define Q_DECL_DEPRECATED __attribute__ ((__deprecated__))
 #elif defined(__GNUC__)
 #  define Q_CC_GNU
 #  define Q_C_CALLBACKS
 
 #  define Q_ALIGNOF(type)   __alignof__(type)
 #  define Q_TYPEOF(expr)    __typeof__(expr)
+#  define Q_DECL_DEPRECATED __attribute__ ((__deprecated__))
 #  define Q_DECL_ALIGN(n)   __attribute__((__aligned__(n)))
 #  define Q_LIKELY(expr)    __builtin_expect(!!(expr), true)
 #  define Q_UNLIKELY(expr)  __builtin_expect(!!(expr), false)
 #  define Q_NORETURN        __attribute__((__noreturn__))
+#  define Q_REQUIRED_RESULT __attribute__ ((__warn_unused_result__))
 #  if !defined(QT_MOC_CPP)
 #    define Q_PACKED __attribute__ ((__packed__))
 #    define Q_NO_PACKED_REFERENCE
 #  define Q_ALLOC_SIZE(x)
 #endif
 #ifndef Q_REQUIRED_RESULT
-#  if defined(Q_CC_GNU)
-#    define Q_REQUIRED_RESULT __attribute__ ((warn_unused_result))
-#  else
-#    define Q_REQUIRED_RESULT
-#  endif
+#  define Q_REQUIRED_RESULT
 #endif
-#ifndef Q_COMPILER_MANGLES_RETURN_TYPE
-#  if defined(Q_CC_MSVC)
-#    define Q_COMPILER_MANGLES_RETURN_TYPE
-#  endif
+#ifndef Q_DECL_DEPRECATED
+#  define Q_DECL_DEPRECATED
+#endif
+#ifndef Q_DECL_VARIABLE_DEPRECATED
+#  define Q_DECL_VARIABLE_DEPRECATED Q_DECL_DEPRECATED
 #endif
 
 /*
 #endif
 
 /*
-   Warnings and errors when using deprecated methods
-*/
-#if defined(Q_CC_GNU) || defined(Q_CC_RVCT)
-#  define Q_DECL_DEPRECATED __attribute__ ((__deprecated__))
-#elif defined(Q_CC_MSVC)
-#  define Q_DECL_DEPRECATED __declspec(deprecated)
-#  if defined (Q_CC_INTEL)
-#    define Q_DECL_VARIABLE_DEPRECATED
-#  endif
-#else
-#  define Q_DECL_DEPRECATED
-#endif
-#ifndef Q_DECL_VARIABLE_DEPRECATED
-#  define Q_DECL_VARIABLE_DEPRECATED Q_DECL_DEPRECATED
-#endif
-
-/*
    Proper for-scoping in MIPSpro CC
 */
 #ifndef QT_NO_KEYWORDS