Fix ASSERT_POD on clang

As reported by bashi.  Not tested.
This commit is contained in:
Behdad Esfahbod 2012-06-06 11:27:17 -04:00
parent 4282d2f377
commit 79e2b4791f
1 changed files with 6 additions and 2 deletions

View File

@ -112,7 +112,11 @@ ASSERT_STATIC (sizeof (hb_var_int_t) == 4);
#define ASSERT_TYPE_POD(_type) _ASSERT_TYPE_POD0 (__LINE__, _type) #define ASSERT_TYPE_POD(_type) _ASSERT_TYPE_POD0 (__LINE__, _type)
#ifdef __GNUC__ #ifdef __GNUC__
# define _ASSERT_INSTANCE_POD1(_line, _instance) union _type_of_instance_on_line_##_line##_is_not_POD { __typeof__(_instance) instance; } # define _ASSERT_INSTANCE_POD1(_line, _instance) \
HB_STMT_START { \
typedef __typeof__(_instance) _type_##_line; \
_ASSERT_TYPE_POD1 (_line, _type_##_line); \
} HB_STMT_END
#else #else
# define _ASSERT_INSTANCE_POD1(_line, _instance) typedef int _assertion_on_line_##_line##_not_tested # define _ASSERT_INSTANCE_POD1(_line, _instance) typedef int _assertion_on_line_##_line##_not_tested
#endif #endif