| /* PR c/98592 - ICE in gimple_canonical_types_compatible_p while formatting |
| a MEM_REF |
| { dg-do compile } |
| { dg-options "-O2 -Wall" } |
| { dg-require-effective-target alloca } */ |
| |
| 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" } |
| } |