aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/g++.dg/ext/desig2.C
blob: 229ae527d77fcf5c300f11290a3767fabf56dbb6 (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
// Test for C99-style designated array initializer

union U
{
  long l;
  const char *p;
};

__extension__ U u = { .p = "" };

__extension__ int i[4] = { [0] = 1, [1] = 2 };

// Currently, except for unions, the C++ front end only supports
// designators that designate the element that would have been initialized
// anyway.  While that's true, make sure that we get a sorry rather than
// bad code.

struct A
{
  int i;
  int j;
};

__extension__ A a = { .j = 1 }; // { dg-message "non-trivial" }
__extension__ int j[2] = { [1] = 1 }; // { dg-message "non-trivial" }