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
| // RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s
// [class.base.init]p5
// A ctor-initializer may initialize a variant member of the constructor’s
// class. If a ctor-initializer specifies more than one mem-initializer for the
// same member or for the same base class, the ctor-initializer is ill-formed.
union E {
int a;
int b;
E() : a(1), // expected-note{{previous initialization is here}}
b(2) { // expected-error{{initializing multiple members of union}}
}
};
union F {
struct {
int a;
int b;
};
int c;
F() : a(1), // expected-note{{previous initialization is here}}
b(2),
c(3) { // expected-error{{initializing multiple members of union}}
}
};
|