[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaTemplate / anonymous-union.cpp
blobdf590f21c1f4e0c270ed4748a5379564bb54bb15
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 // PR5868
4 struct T0 {
5 int x;
6 union {
7 void *m0;
8 };
9 };
10 template <typename T>
11 struct T1 : public T0, public T { //expected-warning{{direct base 'T0' is inaccessible due to ambiguity:\n struct T1<struct A> -> T0\n struct T1<struct A> -> A -> T0}}
12 void f0() {
13 m0 = 0; // expected-error{{ambiguous conversion}}
17 struct A : public T0 { };
19 void f1(T1<A> *S) { S->f0(); } // expected-note{{instantiation of member function}} expected-note{{in instantiation of template class 'T1<A>' requested here}}
21 namespace rdar8635664 {
22 template<typename T>
23 struct X {
24 struct inner;
26 struct inner {
27 union {
28 int x;
29 float y;
32 typedef T type;
36 void test() {
37 X<int>::inner i;
38 i.x = 0;