diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2016-10-19 13:52:43 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2016-10-19 13:52:43 +0000 |
commit | b70f0b0cc3134537d56b2115289cb94c3eb7a4e4 (patch) | |
tree | 9671518370936c4b6d9798bd7fe3e1994de2f13d /gcc | |
parent | 346a966edf51acaa628b199d3db6d5e9d783b40b (diff) | |
download | gcc-b70f0b0cc3134537d56b2115289cb94c3eb7a4e4.zip gcc-b70f0b0cc3134537d56b2115289cb94c3eb7a4e4.tar.gz gcc-b70f0b0cc3134537d56b2115289cb94c3eb7a4e4.tar.bz2 |
Wvla-1.c: Rename to...
* gcc.dg/Wvla-1.c: Rename to...
* gcc.dg/Wvla-larger-than-1.c: ...this.
* gcc.dg/Wvla-2.c: Rename to...
* gcc.dg/Wvla-larger-than-2.c: ...this.
* gcc.dg/Wvla-3.c: Rename to...
* gcc.dg/Walloca-11.c.: ...this.
* gcc.dg/wvla-[1-7].c: Rename to:
* gcc.dg/Wvla-[1-7].c: ...this.
From-SVN: r241344
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Walloca-11.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-1.c | 25 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-2.c | 71 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-3.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-4.c (renamed from gcc/testsuite/gcc.dg/wvla-4.c) | 0 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-5.c (renamed from gcc/testsuite/gcc.dg/wvla-5.c) | 0 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-6.c (renamed from gcc/testsuite/gcc.dg/wvla-6.c) | 0 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-7.c (renamed from gcc/testsuite/gcc.dg/wvla-7.c) | 0 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-larger-than-1.c | 24 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wvla-larger-than-2.c | 70 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/wvla-1.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/wvla-2.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/wvla-3.c | 5 |
14 files changed, 126 insertions, 115 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a270700..d3d269d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2016-10-19 Aldy Hernandez <aldyh@redhat.com> + + * gcc.dg/Wvla-1.c: Rename to... + * gcc.dg/Wvla-larger-than-1.c: ...this. + * gcc.dg/Wvla-2.c: Rename to... + * gcc.dg/Wvla-larger-than-2.c: ...this. + * gcc.dg/Wvla-3.c: Rename to... + * gcc.dg/Walloca-11.c.: ...this. + * gcc.dg/wvla-[1-7].c: Rename to: + * gcc.dg/Wvla-[1-7].c: ...this. + 2016-10-19 Bin Cheng <bin.cheng@arm.com> PR tree-optimization/78005 diff --git a/gcc/testsuite/gcc.dg/Walloca-11.c b/gcc/testsuite/gcc.dg/Walloca-11.c new file mode 100644 index 0000000..5124476 --- /dev/null +++ b/gcc/testsuite/gcc.dg/Walloca-11.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-Walloca -O2" } */ + +// Make sure we don't warn on VLA with -Walloca. + +void f (void*); + +void h1 (unsigned n) +{ + int a [n]; + f (a); +} diff --git a/gcc/testsuite/gcc.dg/Wvla-1.c b/gcc/testsuite/gcc.dg/Wvla-1.c index 384c930..d2e3cb5 100644 --- a/gcc/testsuite/gcc.dg/Wvla-1.c +++ b/gcc/testsuite/gcc.dg/Wvla-1.c @@ -1,24 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-Wvla-larger-than=100 -O2" } */ +/* { dg-options "-std=c89 -Wvla" } */ -typedef __SIZE_TYPE__ size_t; - -extern void useit (char *); - -int num; - -void test_vlas (size_t num) -{ - char str2[num]; /* { dg-warning "unbounded use" } */ - useit(str2); - - num = 98; - for (int i=0; i < 1234; ++i) { - char str[num]; // OK, VLA in a loop, but it is a - // known size *AND* the compiler takes - // care of cleaning up between - // iterations with - // __builtin_stack_restore. - useit(str); - } -} +extern void +func (int i, int array[i]); /* { dg-warning "ISO C90 forbids variable length array 'array'" } */ diff --git a/gcc/testsuite/gcc.dg/Wvla-2.c b/gcc/testsuite/gcc.dg/Wvla-2.c index 96814dc..92c67ed 100644 --- a/gcc/testsuite/gcc.dg/Wvla-2.c +++ b/gcc/testsuite/gcc.dg/Wvla-2.c @@ -1,70 +1,5 @@ /* { dg-do compile } */ -/* { dg-require-effective-target stdint_types } */ -/* { dg-options "-O2 -Wvla-larger-than=40" } */ +/* { dg-options "-std=c99 -Wvla" } */ -#include <stdint.h> - -void f0 (void *); -void -f1 (__SIZE_TYPE__ a) -{ - if (a <= 10) - { - // 10 * 4 bytes = 40: OK! - uint32_t x[a]; - f0 (x); - } -} - -void -f2 (__SIZE_TYPE__ a) -{ - if (a <= 11) - { - // 11 * 4 bytes = 44: Not OK. - uint32_t x[a]; // { dg-warning "array may be too large" } - // { dg-message "note:.*argument may be as large as 44" "note" { target *-*-* } 25 } - f0 (x); - } -} - -void -f3 (__SIZE_TYPE__ a, __SIZE_TYPE__ b) -{ - if (a <= 5 && b <= 3) - { - // 5 * 3 * 4 bytes = 60: Not OK. - uint32_t x[a][b]; // { dg-warning "array may be too large" } - f0 (x); - } -} - -void -f4 (__SIZE_TYPE__ a, __SIZE_TYPE__ b) -{ - if (a <= 5 && b <= 2) - { - // 5 * 2 * 4 bytes = 40 bytes: OK! - uint32_t x[a][b]; - f0 (x); - } -} - -void -f5 (__SIZE_TYPE__ len) -{ - // Test that a direct call to __builtin_alloca_with_align is not - // confused with a VLA. - void *p = __builtin_alloca_with_align (len, 8); - f0 (p); -} - -void -f6 (unsigned stuff) -{ - int n = 7000; - do { - char a[n]; // { dg-warning "variable-length array is too large" } - f0 (a); - } while (stuff--); -} +extern void +func (int i, int array[i]); /* { dg-warning "ISO C90 forbids variable length array 'array'" } */ diff --git a/gcc/testsuite/gcc.dg/Wvla-3.c b/gcc/testsuite/gcc.dg/Wvla-3.c index 5124476..45132fa 100644 --- a/gcc/testsuite/gcc.dg/Wvla-3.c +++ b/gcc/testsuite/gcc.dg/Wvla-3.c @@ -1,12 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-Walloca -O2" } */ +/* { dg-options "-pedantic-errors -std=c89 -Wvla" } */ -// Make sure we don't warn on VLA with -Walloca. - -void f (void*); - -void h1 (unsigned n) -{ - int a [n]; - f (a); -} +extern void +func (int i, int array[i]); /* { dg-error "ISO C90 forbids variable.* array 'array'" } */ diff --git a/gcc/testsuite/gcc.dg/wvla-4.c b/gcc/testsuite/gcc.dg/Wvla-4.c index ae2e0b0..ae2e0b0 100644 --- a/gcc/testsuite/gcc.dg/wvla-4.c +++ b/gcc/testsuite/gcc.dg/Wvla-4.c diff --git a/gcc/testsuite/gcc.dg/wvla-5.c b/gcc/testsuite/gcc.dg/Wvla-5.c index 919b8dc..919b8dc 100644 --- a/gcc/testsuite/gcc.dg/wvla-5.c +++ b/gcc/testsuite/gcc.dg/Wvla-5.c diff --git a/gcc/testsuite/gcc.dg/wvla-6.c b/gcc/testsuite/gcc.dg/Wvla-6.c index 694a4cc..694a4cc 100644 --- a/gcc/testsuite/gcc.dg/wvla-6.c +++ b/gcc/testsuite/gcc.dg/Wvla-6.c diff --git a/gcc/testsuite/gcc.dg/wvla-7.c b/gcc/testsuite/gcc.dg/Wvla-7.c index 4c264f0..4c264f0 100644 --- a/gcc/testsuite/gcc.dg/wvla-7.c +++ b/gcc/testsuite/gcc.dg/Wvla-7.c diff --git a/gcc/testsuite/gcc.dg/Wvla-larger-than-1.c b/gcc/testsuite/gcc.dg/Wvla-larger-than-1.c new file mode 100644 index 0000000..384c930 --- /dev/null +++ b/gcc/testsuite/gcc.dg/Wvla-larger-than-1.c @@ -0,0 +1,24 @@ +/* { dg-do compile } */ +/* { dg-options "-Wvla-larger-than=100 -O2" } */ + +typedef __SIZE_TYPE__ size_t; + +extern void useit (char *); + +int num; + +void test_vlas (size_t num) +{ + char str2[num]; /* { dg-warning "unbounded use" } */ + useit(str2); + + num = 98; + for (int i=0; i < 1234; ++i) { + char str[num]; // OK, VLA in a loop, but it is a + // known size *AND* the compiler takes + // care of cleaning up between + // iterations with + // __builtin_stack_restore. + useit(str); + } +} diff --git a/gcc/testsuite/gcc.dg/Wvla-larger-than-2.c b/gcc/testsuite/gcc.dg/Wvla-larger-than-2.c new file mode 100644 index 0000000..96814dc --- /dev/null +++ b/gcc/testsuite/gcc.dg/Wvla-larger-than-2.c @@ -0,0 +1,70 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target stdint_types } */ +/* { dg-options "-O2 -Wvla-larger-than=40" } */ + +#include <stdint.h> + +void f0 (void *); +void +f1 (__SIZE_TYPE__ a) +{ + if (a <= 10) + { + // 10 * 4 bytes = 40: OK! + uint32_t x[a]; + f0 (x); + } +} + +void +f2 (__SIZE_TYPE__ a) +{ + if (a <= 11) + { + // 11 * 4 bytes = 44: Not OK. + uint32_t x[a]; // { dg-warning "array may be too large" } + // { dg-message "note:.*argument may be as large as 44" "note" { target *-*-* } 25 } + f0 (x); + } +} + +void +f3 (__SIZE_TYPE__ a, __SIZE_TYPE__ b) +{ + if (a <= 5 && b <= 3) + { + // 5 * 3 * 4 bytes = 60: Not OK. + uint32_t x[a][b]; // { dg-warning "array may be too large" } + f0 (x); + } +} + +void +f4 (__SIZE_TYPE__ a, __SIZE_TYPE__ b) +{ + if (a <= 5 && b <= 2) + { + // 5 * 2 * 4 bytes = 40 bytes: OK! + uint32_t x[a][b]; + f0 (x); + } +} + +void +f5 (__SIZE_TYPE__ len) +{ + // Test that a direct call to __builtin_alloca_with_align is not + // confused with a VLA. + void *p = __builtin_alloca_with_align (len, 8); + f0 (p); +} + +void +f6 (unsigned stuff) +{ + int n = 7000; + do { + char a[n]; // { dg-warning "variable-length array is too large" } + f0 (a); + } while (stuff--); +} diff --git a/gcc/testsuite/gcc.dg/wvla-1.c b/gcc/testsuite/gcc.dg/wvla-1.c deleted file mode 100644 index d2e3cb5..0000000 --- a/gcc/testsuite/gcc.dg/wvla-1.c +++ /dev/null @@ -1,5 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-std=c89 -Wvla" } */ - -extern void -func (int i, int array[i]); /* { dg-warning "ISO C90 forbids variable length array 'array'" } */ diff --git a/gcc/testsuite/gcc.dg/wvla-2.c b/gcc/testsuite/gcc.dg/wvla-2.c deleted file mode 100644 index 92c67ed..0000000 --- a/gcc/testsuite/gcc.dg/wvla-2.c +++ /dev/null @@ -1,5 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-std=c99 -Wvla" } */ - -extern void -func (int i, int array[i]); /* { dg-warning "ISO C90 forbids variable length array 'array'" } */ diff --git a/gcc/testsuite/gcc.dg/wvla-3.c b/gcc/testsuite/gcc.dg/wvla-3.c deleted file mode 100644 index 45132fa..0000000 --- a/gcc/testsuite/gcc.dg/wvla-3.c +++ /dev/null @@ -1,5 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-pedantic-errors -std=c89 -Wvla" } */ - -extern void -func (int i, int array[i]); /* { dg-error "ISO C90 forbids variable.* array 'array'" } */ |