blob: 0f9185427739e51e814123df4c39dff9ad7f6e5e [file] [log] [blame]
/* PR c/98592 - ICE in gimple_canonical_types_compatible_p while formatting
a MEM_REF
{ dg-do compile }
{ dg-options "-O2 -Wall" } */
void f (int);
void vlaNx3_to_pia1 (int n)
{
int a[n][3];
/* The VLA isn't formatted correctly due to PR 98587. Just verify
there is no ICE and a warning is issued. */
f (((*(int(*)[4])&a[1][2]))[3]); // { dg-warning "\\\[-Wuninitialized" }
}
void vlaNxN_to_pia1 (int n)
{
int a[n][n];
/* Same as above. */
f (((*(int(*)[4])&a[1][2]))[3]); // { dg-warning "\\\[-Wuninitialized" }
}
void vlaNxN_to_pvla4xN (int n)
{
int a[n][n];
/* Same as above. */
f (((*(int(*)[4][n])&a[1][2]))[3][4]); // { dg-warning "\\\[-Wuninitialized" }
}
void vlaN_to_pia2 (int n)
{
int a[n];
/* Same as above. */
f (((*(int(*)[3][4])&a[1]))[2][3]); // { dg-warning "\\\[-Wuninitialized" }
}
void vlaN_to_pvlaNx4 (int n)
{
int a[n];
/* Same as above. */
f (((*(int(*)[n][4])&a[1]))[1][3]); // { dg-warning "\\\[-Wuninitialized" }
}