aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/Wmissing-field-initializers-4.c
blob: 57e4e4d3372c4c560268907775afc8ec0dc703a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/* PR c/82283 */
/* { dg-do compile } */
/* { dg-options "-Wmissing-field-initializers" } */

struct a {
  int b;
};

struct c {
  struct a d;
  int e;
};

void f (struct c *);

void
g (void)
{
  struct c h = {.d = (struct a){0}}; /* { dg-bogus "missing initializer" } */
  f(&h);
}

struct {
  struct {
    int a;
    int b;
  } c[1];
} d = {
  .c[0].a = 1,
  .c[0].b = 1, /* { dg-bogus "missing initializer" } */
};

struct test_t {
  int value1;
  int value2;
};

struct test_t test[] = {
  [0].value1 = 1,
  [0].value2 = 2, /* { dg-bogus "missing initializer" } */
  [1].value1 = 10,
  [1].value2 = 20 /* { dg-bogus "missing initializer" } */
};