| // { dg-do run } | |
| template<class T_type, int N> | |
| class foo { | |
| public: | |
| enum bar { z = 0 }; | |
| }; | |
| template<int N> | |
| class foo<double, N> { | |
| public: | |
| enum bar { z = 1 }; | |
| }; | |
| template<class T_type> | |
| class foo<T_type, 2> { | |
| public: | |
| enum bar { z = 2 }; | |
| }; | |
| int main() | |
| { | |
| if ((foo<int,3>::z == 0) && (foo<double,3>::z == 1) | |
| && (foo<float,2>::z == 2)) | |
| return 0; | |
| else | |
| return 1; | |
| } |