+2017-03-24 Tom de Vries <tom@codesourcery.com>
+
+ PR testsuite/80092
+ * 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/Walloca-14.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.
+
2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
* gcc.target/powerpc/p9-options-1.c: New test.
/* PR c/7652 */
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Wimplicit-fallthrough" } */
extern void bar (int);
+/* { dg-require-effective-target alloca } */
/* PR target/78439. */
enum demangle_component_type
+/* { dg-require-effective-target alloca } */
/* PR c/79413 */
void
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=2000 -O2" } */
#define alloca __builtin_alloca
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=2000 -O2" } */
// Test when the conditionals are incorrectly reversed.
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca -O2" } */
// Make sure we don't warn on VLA with -Walloca.
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=128 -O2" } */
void f (void*);
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=100 -O2" } */
void f (void*);
/* PR tree-optimization/80109 */
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-O2 -Walloca-larger-than=126812070" } */
void
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=2000 -O2" } */
void f (void *);
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=2000 -O2" } */
void f (void *);
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=5000 -O2" } */
char *
/* { 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" { *-*-* } } */
/* { 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" { *-*-* } } */
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca -O0" } */
extern void f(void *);
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=2000 -O2" } */
void *p;
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Walloca-larger-than=5000 -O2" } */
extern void useit(char *);
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-Wvla-larger-than=100 -O2" } */
typedef __SIZE_TYPE__ size_t;
/* { dg-do compile } */
/* { dg-require-effective-target stdint_types } */
+/* { dg-require-effective-target alloca } */
/* { dg-options "-O2 -Wvla-larger-than=40" } */
#include <stdint.h>
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
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__
-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__
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*);
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*);
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
/* { dg-additional-options "-g" } */
int a, b, c, d, *e, f, g;
/* { dg-do compile } */
+/* { dg-require-effective-target alloca } */
typedef struct { int _mp_size; } mpz_t[1];
int a, b;
/* { dg-do compile } */
/* { dg-require-effective-target int128 } */
+/* { dg-require-effective-target alloca } */
void foo();
-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;