2017-03-23 Tom de Vries * gcc.dg/Walloca-7.c: Add dg-require-effective-target alloca. * gcc.dg/Walloca-12.c: Same. * gcc.dg/attr-alloc_size-8.c: Same. * gcc.dg/Walloca-4.c: Same. * gcc.dg/Walloca-8.c: Same. * gcc.dg/Walloca-13.c: Same. * gcc.dg/attr-alloc_size-9.c: Same. * gcc.dg/Walloca-1.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same. * gcc.dg/Walloca-5.c: Same. * gcc.dg/Walloca-10.c: Same. * gcc.dg/Walloca-9.c: Same. * gcc.dg/attr-alloc_size-6.c: Same. * gcc.dg/Wvla-larger-than-1.c: Same. * gcc.dg/torture/pr71881.c: Same. * gcc.dg/torture/pr71901.c: Same. * gcc.dg/torture/pr78742.c: Same. * gcc.dg/builtin-alloc-size.c: Same. * gcc.dg/Walloca-2.c: Same. * gcc.dg/Walloca-6.c: Same. * gcc.dg/Walloca-11.c: Same. * gcc.dg/attr-alloc_size-7.c: Same. * gcc.dg/Wvla-larger-than-2.c: Same. * gcc.dg/Walloca-3.c: Same. * c-c++-common/Wimplicit-fallthrough-7.c: Same. * gcc.c-torture/compile/pr79413.c: Same. * gcc.c-torture/compile/pr78439.c: Same. Index: gcc/testsuite/gcc.dg/Walloca-7.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-7.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-7.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca -O0" } */ extern void f(void *); Index: gcc/testsuite/gcc.dg/Walloca-12.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-12.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-12.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=128 -O2" } */ void f (void*); Index: gcc/testsuite/gcc.dg/attr-alloc_size-8.c =================================================================== --- gcc/testsuite/gcc.dg/attr-alloc_size-8.c (revision 246278) +++ gcc/testsuite/gcc.dg/attr-alloc_size-8.c (working copy) @@ -3,6 +3,7 @@ -Wvla-larger-than, and -Walloc-size-larger-than options. The former two more specific options override the more general latter option. */ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-O2 -Walloc-size-larger-than=123 -Walloca-larger-than=234 -Wvla-larger-than=345" } */ #define SIZE_MAX __SIZE_MAX__ Index: gcc/testsuite/gcc.dg/Walloca-4.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-4.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-4.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=5000 -O2" } */ char * Index: gcc/testsuite/gcc.dg/Walloca-8.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-8.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-8.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=2000 -O2" } */ void *p; Index: gcc/testsuite/gcc.dg/Walloca-13.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-13.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-13.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=100 -O2" } */ void f (void*); Index: gcc/testsuite/gcc.dg/attr-alloc_size-9.c =================================================================== --- gcc/testsuite/gcc.dg/attr-alloc_size-9.c (revision 246278) +++ gcc/testsuite/gcc.dg/attr-alloc_size-9.c (working copy) @@ -3,6 +3,7 @@ with attribute malloc. This means that the pointer they return can be assumed not to alias any other valid pointer. */ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-O2 -fdump-tree-optimized" } */ void sink (void*); Index: gcc/testsuite/gcc.dg/Walloca-1.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-1.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-1.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=2000 -O2" } */ #define alloca __builtin_alloca Index: gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-3.c =================================================================== --- gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-3.c (revision 246278) +++ gcc/testsuite/gcc.dg/tree-ssa/builtin-sprintf-warn-3.c (working copy) @@ -4,6 +4,7 @@ -O2 (-ftree-vrp) is necessary for the tests involving ranges to pass, otherwise -O1 is sufficient. { dg-do compile } + { dg-require-effective-target alloca } { dg-options "-O2 -Wformat -Wformat-overflow=1 -ftrack-macro-expansion=0" } */ typedef __SIZE_TYPE__ size_t; Index: gcc/testsuite/gcc.dg/Walloca-5.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-5.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-5.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=123 -O2" } */ /* { dg-xfail-if "Currently broken but Andrew's work should fix this" { *-*-* } } */ Index: gcc/testsuite/gcc.dg/Walloca-10.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-10.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-10.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=2000 -O2" } */ // Test when the conditionals are incorrectly reversed. Index: gcc/testsuite/gcc.dg/Walloca-9.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-9.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-9.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=5000 -O2" } */ extern void useit(char *); Index: gcc/testsuite/gcc.dg/attr-alloc_size-6.c =================================================================== --- gcc/testsuite/gcc.dg/attr-alloc_size-6.c (revision 246278) +++ gcc/testsuite/gcc.dg/attr-alloc_size-6.c (working copy) @@ -4,6 +4,7 @@ to allocate objects in excess of the number of bytes specified by -Walloc-larger-than=maximum. */ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-O0 -Wall -Walloc-size-larger-than=12345" } */ #define MAXOBJSZ 12345 Index: gcc/testsuite/gcc.dg/Wvla-larger-than-1.c =================================================================== --- gcc/testsuite/gcc.dg/Wvla-larger-than-1.c (revision 246278) +++ gcc/testsuite/gcc.dg/Wvla-larger-than-1.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Wvla-larger-than=100 -O2" } */ typedef __SIZE_TYPE__ size_t; Index: gcc/testsuite/gcc.dg/torture/pr71881.c =================================================================== --- gcc/testsuite/gcc.dg/torture/pr71881.c (revision 246278) +++ gcc/testsuite/gcc.dg/torture/pr71881.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-additional-options "-g" } */ int a, b, c, d, *e, f, g; Index: gcc/testsuite/gcc.dg/torture/pr71901.c =================================================================== --- gcc/testsuite/gcc.dg/torture/pr71901.c (revision 246278) +++ gcc/testsuite/gcc.dg/torture/pr71901.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ typedef struct { int _mp_size; } mpz_t[1]; int a, b; Index: gcc/testsuite/gcc.dg/torture/pr78742.c =================================================================== --- gcc/testsuite/gcc.dg/torture/pr78742.c (revision 246278) +++ gcc/testsuite/gcc.dg/torture/pr78742.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target int128 } */ +/* { dg-require-effective-target alloca } */ void foo(); Index: gcc/testsuite/gcc.dg/builtin-alloc-size.c =================================================================== --- gcc/testsuite/gcc.dg/builtin-alloc-size.c (revision 246278) +++ gcc/testsuite/gcc.dg/builtin-alloc-size.c (working copy) @@ -3,6 +3,7 @@ attribute alloc_size that __builtin_object_size can make use of (or are treated as if they were for that purpose).. { dg-do compile } + { dg-require-effective-target alloca } { dg-additional-options "-O2 -fdump-tree-optimized" } */ void sink (void*); Index: gcc/testsuite/gcc.dg/Walloca-2.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-2.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-2.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=2000 -O2" } */ void f (void *); Index: gcc/testsuite/gcc.dg/Walloca-6.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-6.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-6.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=256 -O2" } */ /* { dg-xfail-if "Currently broken but Andrew's work should fix this" { *-*-* } } */ Index: gcc/testsuite/gcc.dg/Walloca-11.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-11.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-11.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca -O2" } */ // Make sure we don't warn on VLA with -Walloca. Index: gcc/testsuite/gcc.dg/attr-alloc_size-7.c =================================================================== --- gcc/testsuite/gcc.dg/attr-alloc_size-7.c (revision 246278) +++ gcc/testsuite/gcc.dg/attr-alloc_size-7.c (working copy) @@ -3,6 +3,7 @@ detect and diagnose calls that attemnpt to allocate objects in excess of the maximum specified by -Walloc-size-larger-than=maximum. */ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-O2 -Wall -Walloc-size-larger-than=12345" } */ #define SIZE_MAX __SIZE_MAX__ Index: gcc/testsuite/gcc.dg/Wvla-larger-than-2.c =================================================================== --- gcc/testsuite/gcc.dg/Wvla-larger-than-2.c (revision 246278) +++ gcc/testsuite/gcc.dg/Wvla-larger-than-2.c (working copy) @@ -1,5 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-O2 -Wvla-larger-than=40" } */ #include Index: gcc/testsuite/gcc.dg/Walloca-3.c =================================================================== --- gcc/testsuite/gcc.dg/Walloca-3.c (revision 246278) +++ gcc/testsuite/gcc.dg/Walloca-3.c (working copy) @@ -1,4 +1,5 @@ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Walloca-larger-than=2000 -O2" } */ void f (void *); Index: gcc/testsuite/c-c++-common/Wimplicit-fallthrough-7.c =================================================================== --- gcc/testsuite/c-c++-common/Wimplicit-fallthrough-7.c (revision 246278) +++ gcc/testsuite/c-c++-common/Wimplicit-fallthrough-7.c (working copy) @@ -1,5 +1,6 @@ /* PR c/7652 */ /* { dg-do compile } */ +/* { dg-require-effective-target alloca } */ /* { dg-options "-Wimplicit-fallthrough" } */ extern void bar (int); Index: gcc/testsuite/gcc.c-torture/compile/pr79413.c =================================================================== --- gcc/testsuite/gcc.c-torture/compile/pr79413.c (revision 246278) +++ gcc/testsuite/gcc.c-torture/compile/pr79413.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-require-effective-target alloca } */ /* PR c/79413 */ void Index: gcc/testsuite/gcc.c-torture/compile/pr78439.c =================================================================== --- gcc/testsuite/gcc.c-torture/compile/pr78439.c (revision 246278) +++ gcc/testsuite/gcc.c-torture/compile/pr78439.c (working copy) @@ -1,3 +1,4 @@ +/* { dg-require-effective-target alloca } */ /* PR target/78439. */ enum demangle_component_type