| // { dg-do assemble } | |
| union Un {int i;}; | |
| template<class T1, class T2> struct St1 {}; | |
| template<class T> struct St1<Un,T> {}; | |
| template<class T> struct St2 {}; | |
| template<> struct St2<Un> {}; | |
| template<class T1, class T2> struct St3 {}; | |
| template<> struct St3<Un,int> {}; | |
| void f() { | |
| St1<int,int> s1; | |
| St2<int> s2; | |
| St3<int,int> s3; | |
| } |