blob: 3b3693f088a751a9c4ed4a19f6dace76cbd4375e [file] [log] [blame]
/* PR tree-optimization/89662- -Warray-bounds ICE on void* arithmetic
{ dg-do compile }
{ dg-require-effective-target alloca }
{ dg-options "-O2 -Wall" } */
static void* vptr (void *c)
{
return c;
}
void sink (void*);
void test_vptr_arith_vla_cst (void)
{
int n = 1;
char c[n];
sink (vptr (c) - 1); /* { dg-warning "\\\[-Warray-bounds" } */
}
void test_vptr_arith_vla_range (int n)
{
if (n < 1 || 4 < n)
return;
char c[n];
sink (vptr (c) - 1); /* { dg-warning "\\\[-Warray-bounds" "pr82608" { xfail *-*-* } } */
}
void test_vptr_arith_vla_var (int n)
{
char c[n];
sink (vptr (c) - 1); /* { dg-warning "\\\[-Warray-bounds" "pr82608" { xfail *-*-* } } */
}