blob: 821db47c2eda23dd1541370a11be93c0fcdd2ecf [file] [log] [blame]
/* Test for various initializer warnings being suppressed by use of
designated initializers. */
/* { dg-do compile } */
/* { dg-options "-std=c99 -W -Wall -Wtraditional" } */
struct t
{
int a;
int b;
int c;
};
union u
{
int n;
float i;
};
struct multilevel
{
int x;
struct t t;
union u u;
union u v;
char *f;
};
struct t T0 = { 1 }; /* { dg-warning "(missing|near) init" } */
struct t T1 = { .a = 1 }; /* { dg-bogus "(missing|near) init" } */
union u U0 = { 1 }; /* { dg-warning "initialization of union" } */
union u U1 = { .i = 1 }; /* { dg-bogus "initialization of union" } */
struct multilevel M =
{
12,
{ .b = 3 }, /* { dg-bogus "(missing|near) init" } */
{ 4 }, /* { dg-warning "initialization of union" } */
{ .n = 9 }, /* { dg-bogus "initialization of union" } */
/* "string here" */
}; /* { dg-warning "(missing|near) init" } */