Fix broken build.
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>
Tue, 1 Nov 2011 13:41:10 +0000 (14:41 +0100)
committerQt by Nokia <qt-info@nokia.com>
Tue, 1 Nov 2011 15:15:08 +0000 (16:15 +0100)
Variadic macros are not supported by C++98 standard.

Change-Id: Ib520297e43b654b46925f3ee2735a975ebbe8e35
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/global/qglobal.h
tests/auto/corelib/global/qglobal/tst_qglobal.cpp

index aa52fc1..9d3c1be 100644 (file)
@@ -1729,8 +1729,8 @@ template <> class QStaticAssertFailure<true> {};
 
 #define Q_STATIC_ASSERT_PRIVATE_JOIN(A, B) Q_STATIC_ASSERT_PRIVATE_JOIN_IMPL(A, B)
 #define Q_STATIC_ASSERT_PRIVATE_JOIN_IMPL(A, B) A ## B
-#define Q_STATIC_ASSERT(...) \
-    enum {Q_STATIC_ASSERT_PRIVATE_JOIN(q_static_assert_result, __LINE__) = sizeof(QStaticAssertFailure<bool(__VA_ARGS__)>)}
+#define Q_STATIC_ASSERT(Condition) \
+    enum {Q_STATIC_ASSERT_PRIVATE_JOIN(q_static_assert_result, __LINE__) = sizeof(QStaticAssertFailure<bool(Condition)>)}
 
 Q_CORE_EXPORT void qt_check_pointer(const char *, int);
 Q_CORE_EXPORT void qBadAlloc();
index 9dc78a1..9c6e5ce 100644 (file)
@@ -319,8 +319,9 @@ struct Template
 
 struct MyTemplate
 {
-    Q_STATIC_ASSERT(Template<TypeDef, int>::True);
-    Q_STATIC_ASSERT(!!Template<TypeDef, int>::True);
+    static const bool Value = Template<TypeDef, int>::True;
+    Q_STATIC_ASSERT(Value);
+    Q_STATIC_ASSERT(!!Value);
 };
 
 void tst_QGlobal::qstaticassert()