1234567891011121314151617181920 |
- // credit goes to Martin Uecker for the awesome ICE_P macro
- #define ICE_P(x) \
- (__builtin_types_compatible_p(typeof(0?((void*)((long)(x)*0l)):(int*)1),int*))
- #define T(x) __builtin_choose_expr(ICE_P(x), 1, 0)
- #define TEST(x, r) _Static_assert(T(x) == r, #x " => " #r)
- static void test(int n)
- {
- char foo[n++];
- TEST(sizeof(foo), 0);
- }
- /*
- * check-name: vla-sizeof-ice
- * check-command: sparse -Wno-vla $file
- */
|