diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/large-size-array-3.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/large-size-array-3.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/large-size-array-3.c b/gcc/testsuite/gcc.dg/large-size-array-3.c new file mode 100644 index 000000000..ea13b933a --- /dev/null +++ b/gcc/testsuite/gcc.dg/large-size-array-3.c @@ -0,0 +1,21 @@ +/* { dg-do compile } */ +#include <limits.h> + +#if defined(__LP64__) || defined(_WIN64) +#define DIM (UINT_MAX>>1)+1 +#else +#define DIM 65536 +#endif + +int +sub (int *a) +{ + return a[0]; +} + +int +main (void) +{ + int a[DIM][DIM]; /* { dg-error "size of array 'a' is too large" } */ + return sub (&a[0][0]); +} |