Fix broken build.

Variadic macros are not supported by C++98 standard.

Change-Id: Ib520297e43b654b46925f3ee2735a975ebbe8e35
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Jędrzej Nowacki 2011-11-01 14:41:10 +01:00 committed by Qt by Nokia
parent d3710a13a6
commit 991d9cf928
2 changed files with 5 additions and 4 deletions

View 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();

View 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()