diff mbox

[testsuite] Add missing dg-require-effective-target alloca to gcc testsuite

Message ID 6e0d0f16-6db5-0369-f0dd-90344f5d272e@mentor.com
State New
Headers show

Commit Message

Tom de Vries March 23, 2017, 3:46 p.m. UTC
Hi,

I've run the gcc testsuite for target nvptx-none and ran into "test for 
excess errors" FAILs due to:
...
sorry, unimplemented: target cannot support alloca.
...

This patch marks those testcases as requiring alloca.

OK for trunk for stage1?

Thanks,
- Tom

Comments

Thomas Schwinge March 23, 2017, 4:24 p.m. UTC | #1
Hi Tom!

On Thu, 23 Mar 2017 16:46:19 +0100, Tom de Vries <Tom_deVries@mentor.com> wrote:
> I've run the gcc testsuite for target nvptx-none and ran into "test for 
> excess errors" FAILs due to:
> ...
> sorry, unimplemented: target cannot support alloca.
> ...
> 
> This patch marks those testcases as requiring alloca.

Thanks!

> OK for trunk for stage1?

Wouldn't this be good "as obvious" for trunk, right now?  (Or are there
any potential worries?)

> 2017-03-23  Tom de Vries  <tom@codesourcery.com>

"PR testsuite/80092", I suppose?

> 	* 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.


Grüße
 Thomas
Tom de Vries March 23, 2017, 4:48 p.m. UTC | #2
On 23/03/17 17:24, Thomas Schwinge wrote:
> Hi Tom!
>
> On Thu, 23 Mar 2017 16:46:19 +0100, Tom de Vries <Tom_deVries@mentor.com> wrote:
>> I've run the gcc testsuite for target nvptx-none and ran into "test for
>> excess errors" FAILs due to:
>> ...
>> sorry, unimplemented: target cannot support alloca.
>> ...
>>
>> This patch marks those testcases as requiring alloca.
>
> Thanks!
>
>> OK for trunk for stage1?
>
> Wouldn't this be good "as obvious" for trunk, right now?  (Or are there
> any potential worries?)
>

I suppose you're right we could classify this as obvious.

I'm not sure about "right now" though, given that we're in stage4 and 
this is neither a regression fix nor a documentation fix.

Thanks,
- Tom
Mike Stump March 23, 2017, 5:25 p.m. UTC | #3
On Mar 23, 2017, at 8:46 AM, Tom de Vries <Tom_deVries@mentor.com> wrote:
> 
> I've run the gcc testsuite for target nvptx-none and ran into "test for excess errors" FAILs due to:
> ...
> sorry, unimplemented: target cannot support alloca.

We'd encourage ports to support alloca.  :-)

> OK for trunk for stage1?

Ok.  Ok for release branches and trunk as well, if you want.  I'd recommend trunk, if your port is meant to work and test out nicely in gcc 7.
Thomas Schwinge March 28, 2017, 8:23 a.m. UTC | #4
Hi!

On Thu, 23 Mar 2017 16:46:19 +0100, Tom de Vries <Tom_deVries@mentor.com> wrote:
> I've run the gcc testsuite for target nvptx-none and ran into "test for 
> excess errors" FAILs due to:
> ...
> sorry, unimplemented: target cannot support alloca.
> ...
> 
> This patch marks those testcases as requiring alloca.

I observed that this test case:

> --- 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" } */

... as well as this test case:

> --- 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 */

... previously did PASS for anything but "-O0" (that is, any "alloca"
usage got optimized away).  Now changed as follows:

    [-FAIL:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -O0  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -O1  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -O2  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -O3 -g  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -Os  [-(test for excess errors)-]

    [-FAIL:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O0  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O1  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O2  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O3 -g  [-(test for excess errors)-]
    [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -Os  [-(test for excess errors)-]

Would it be useful to XFAIL these for "-O0" only (along with a comment),
so that we continue testing that any "alloca" usage gets optimized away?
(Just an idea.)


Grüße
 Thomas
Tom de Vries March 28, 2017, 8:50 a.m. UTC | #5
On 28/03/17 10:23, Thomas Schwinge wrote:
> Hi!
>
> On Thu, 23 Mar 2017 16:46:19 +0100, Tom de Vries <Tom_deVries@mentor.com> wrote:
>> I've run the gcc testsuite for target nvptx-none and ran into "test for
>> excess errors" FAILs due to:
>> ...
>> sorry, unimplemented: target cannot support alloca.
>> ...
>>
>> This patch marks those testcases as requiring alloca.
>
> I observed that this test case:
>
>> --- 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" } */
>
> ... as well as this test case:
>
>> --- 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 */
>
> ... previously did PASS for anything but "-O0" (that is, any "alloca"
> usage got optimized away).  Now changed as follows:
>
>     [-FAIL:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -O0  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -O1  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -O2  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -O3 -g  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.c-torture/compile/pr79413.c   -Os  [-(test for excess errors)-]
>
>     [-FAIL:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O0  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O1  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O2  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -O3 -g  [-(test for excess errors)-]
>     [-PASS:-]{+UNSUPPORTED:+} gcc.dg/torture/pr71881.c   -Os  [-(test for excess errors)-]
>
> Would it be useful to XFAIL these for "-O0" only (along with a comment),
> so that we continue testing that any "alloca" usage gets optimized away?
> (Just an idea.)

I'd say that makes sense for test-cases which have the purpose of 
testing whether alloca is optimized away at certain optimization levels, 
but not for random test cases.

Thanks,
- Tom
diff mbox

Patch

2017-03-23  Tom de Vries  <tom@codesourcery.com>

	* 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 <stdint.h>
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