1 /* PR other/42611 */ 2 /* { dg-do compile } */ 3 /* { dg-options "" } */ 4 5 #define L \ 6 (sizeof (__SIZE_TYPE__) == 1 ? __SCHAR_MAX__ \ 7 : sizeof (__SIZE_TYPE__) == sizeof (short) ? __SHRT_MAX__ \ 8 : sizeof (__SIZE_TYPE__) == sizeof (int) ? __INT_MAX__ \ 9 : sizeof (__SIZE_TYPE__) == sizeof (long) ? __LONG_MAX__ \ 10 : sizeof (__SIZE_TYPE__) == sizeof (long long) ? __LONG_LONG_MAX__ \ 11 : __INTMAX_MAX__) 12 struct S { int a; char b[L]; }; /* { dg-error "type .struct S. is too large" } */ 13 14 void foo(void)15foo (void) 16 { 17 struct S s; 18 asm volatile ("" : : "r" (&s)); 19 } 20