1 /* { dg-do compile } */
2 #include <limits.h>
3
4 #if defined(__LP64__) || defined(_WIN64)
5 #define DIM (UINT_MAX>>1)+1
6 #else
7 #define DIM 65536
8 #endif
9
10 int
11 sub (int *a)
12 {
13 return a[0];
14 }
15
16 int
17 main (void)
18 {
19 int a[DIM][DIM]; /* { dg-error "exceeds maximum object size|size of array 'a' is too large" } */
20 return sub (&a[0][0]);
21 }