aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/Woverride-init-side-effects-1.c
blob: 50f198d7fa0750c5450ed17238ca64068f91557e (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
/* PR c/64918 */
/* { dg-do compile } */
/* { dg-options "" } */

struct S { int m, n; };
union U { short s; long int l; };

void
foo (int i)
{
  int a[] = {
    [0] = ++i,
    [1] = i,
    [0] = 42	/* { dg-warning "initialized field with side-effects overwritten" } */
  };
  struct S s = {
    .n = ++i,
    .m = i,
    .n = i	/* { dg-warning "initialized field with side-effects overwritten" } */
  };
  union U u = {
    .s = i--,
    .l = 42	/* { dg-warning "initialized field with side-effects overwritten" } */
  };
}