diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr36489.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr36489.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr36489.c b/gcc/testsuite/gcc.dg/pr36489.c new file mode 100644 index 000000000..5cf221615 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr36489.c @@ -0,0 +1,22 @@ +/* PR c/36489 */ +/* { dg-do compile } */ +/* { dg-options "-Woverride-init" } */ + +struct A { int a; int b[3]; }; +union B { int a; int b[3]; }; +int t1[10][10] + = { [1][2] = 11, [1][3] = 12 }; +int t2[10][10] + = { [1][2] = 11, [1] = { [3] = 12 } }; /* { dg-warning "initializ" } */ +int t3[10][10] + = { [1][2] = 11, [1][2] = 12 }; /* { dg-warning "initializ" } */ +struct A t4[2] + = { [0].b[0] = 1, [0].b[1] = 2, [0].b[2] = 3 }; +struct A t5[2] + = { [0].b[0] = 1, [0].b[1] = 2, [0].b = { 3 } }; /* { dg-warning "initializ" } */ +union B t6 + = { .b[0] = 1, .b[1] = 2, .b[2] = 3 }; +union B t7 + = { .b[0] = 1, .b[1] = 2, .b = { 2 } }; /* { dg-warning "initializ" } */ +union B t8 + = { .b[0] = 1, .b[1] = 2, .b[1] = 3 }; /* { dg-warning "initializ" } */ |