// RUN: %clang_cc1 -fsyntax-only %s -Wall | |
template <typename T> class A { struct { }; }; | |
A<int> a0; | |
template <typename T> struct B { | |
union { | |
int a; | |
void* b; | |
}; | |
void f() { | |
a = 10; | |
b = 0; | |
} | |
}; | |
B<int> b0; | |
template <typename T> struct C { | |
union { | |
int a; | |
void* b; | |
}; | |
C(int a) : a(a) { } | |
C(void* b) : b(b) { } | |
}; | |
C<int> c0(0); | |
namespace PR7088 { | |
template<typename T> | |
void f() { | |
union { | |
int a; | |
union { | |
float real; | |
T d; | |
}; | |
}; | |
a = 17; | |
d = 3.14; | |
} | |
template void f<double>(); | |
} |