+2016-10-19 Aldy Hernandez <aldyh@redhat.com>
+
+ * gcc.dg/Walloca-1.c: Adjust test for !lp64 targets.
+ * gcc.dg/Walloca-2.c: Same.
+
2016-10-19 Aldy Hernandez <aldyh@redhat.com>
* gcc.dg/Wvla-1.c: Rename to...
char *s = alloca (123);
useit (s); // OK, constant argument to alloca
- s = alloca (num); // { dg-warning "large due to conversion" }
+ s = alloca (num); // { dg-warning "large due to conversion" "" { target lp64 } }
+ // { dg-warning "unbounded use of 'alloca'" "" { target { ! lp64 } } 26 }
useit (s);
s = alloca(90000); /* { dg-warning "is too large" } */
{
void *p;
if (n > 0 && n < 2000)
- p = __builtin_alloca (n);
+ // FIXME: This is a bogus warning, and is currently happening on
+ // 32-bit targets because VRP is not giving us any range info for
+ // the argument to __builtin_alloca. This should be fixed by the
+ // upcoming range work.
+ p = __builtin_alloca (n); // { dg-bogus "unbounded use of 'alloca'" "" { xfail { ! lp64 } } }
else
p = __builtin_malloc (n);
f (p);
void *p;
if (n > 0 && n < 3000)
{
- p = __builtin_alloca (n); // { dg-warning "'alloca' may be too large" }
- // { dg-message "note:.*argument may be as large as 2999" "note" { target *-*-* } 34 }
+ p = __builtin_alloca (n); // { dg-warning "'alloca' may be too large" "" { target lp64} }
+ // { dg-message "note:.*argument may be as large as 2999" "note" { target lp64 } 38 }
+ // { dg-warning "unbounded use of 'alloca'" "" { target { ! lp64 } } 38 }
}
else
p = __builtin_malloc (n);