111
|
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
|
|
15 foo (void)
|
|
16 {
|
131
|
17 struct S s; /* { dg-warning "size of .s. \[0-9\]+ bytes exceeds maximum object size \[0-9\]+" } */
|
111
|
18 asm volatile ("" : : "r" (&s));
|
|
19 }
|