]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/SemaTemplate/instantiate-enum.cpp
Vendor import of clang trunk r300422:
[FreeBSD/FreeBSD.git] / test / SemaTemplate / instantiate-enum.cpp
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> 
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 struct C {
33   struct X {};
34   enum {
35     value = 42
36   };
37 };
38
39 void f(int i, C<int>::X c) {
40   int value;
41 }
42
43 }