1// { dg-do run } 2template<class T_type, int N> 3class foo { 4public: 5 enum bar { z = 0 }; 6}; 7 8template<int N> 9class foo<double, N> { 10public: 11 enum bar { z = 1 }; 12}; 13 14template<class T_type> 15class foo<T_type, 2> { 16public: 17 enum bar { z = 2 }; 18}; 19 20int main() 21{ 22 if ((foo<int,3>::z == 0) && (foo<double,3>::z == 1) 23 && (foo<float,2>::z == 2)) 24 return 0; 25 else 26 return 1; 27} 28