| /* PR middle-end/100510 - bogus -Wvla-large-than with -Walloca |
| { dg-do compile } |
| { dg-options "-O0 -Walloca -Wvla-larger-than=1000" } */ |
| |
| void f (void*); |
| |
| #pragma GCC optimize ("0") |
| |
| void nowarn_O0 (__SIZE_TYPE__ n) |
| { |
| if (n > 32) |
| return; |
| |
| char a[n]; // { dg-bogus "\\\[-Wvla-larger-than=" } |
| f (a); |
| } |
| |
| #pragma GCC optimize ("1") |
| |
| void nowarn_O1 (__SIZE_TYPE__ n) |
| { |
| if (n > 33) |
| return; |
| |
| char a[n]; // { dg-bogus "\\\[-Wvla-larger-than=" } |
| f (a); |
| } |
| |
| #pragma GCC optimize ("2") |
| |
| void nowarn_O2 (__SIZE_TYPE__ n) |
| { |
| if (n > 34) |
| return; |
| |
| char a[n]; // { dg-bogus "\\\[-Wvla-larger-than=" } |
| f (a); |
| } |