1 // RUN: %clang_cc1 -fsyntax-only %s 2 3 template<typename T, T I, int J> 4 struct adder { 5 enum { 6 value = I + J, 7 value2 8 }; 9 }; 10 11 int array1[adder<long, 3, 4>::value == 7? 1 : -1]; 12 13 namespace PR6375 { 14 template<typename T> f()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 29 namespace EnumScoping { 30 31 template <typename T> 32 class C { 33 enum { 34 value = 42 35 }; 36 }; 37 f(int i,C<int>::C c)38void f(int i, C<int>::C c) { 39 int value; 40 } 41 42 } 43