1// RUN: %clang_cc1 -fsyntax-only %s 2 3template<typename T, T I, int J> 4struct adder { 5 enum { 6 value = I + J, 7 value2 8 }; 9}; 10 11int array1[adder<long, 3, 4>::value == 7? 1 : -1]; 12 13namespace PR6375 { 14 template<typename T> 15 void f() { 16 enum Enum 17 { 18 enumerator1 = 0xFFFFFFF, 19 enumerator2 = enumerator1 - 1 20 }; 21 22 int xb1 = enumerator1; 23 int xe1 = enumerator2; 24 } 25 26 template void f<int>(); 27} 28 29namespace EnumScoping { 30 31template <typename T> 32class C { 33 enum { 34 value = 42 35 }; 36}; 37 38void f(int i, C<int>::C c) { 39 int value; 40} 41 42} 43