summaryrefslogtreecommitdiff
path: root/clang/test/SemaTemplate/instantiate-enum.cpp
blob: 5353a92a90bc85c503c762c9acbf79082e4c1471 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// RUN: %clang_cc1 -fsyntax-only %s

template<typename T, T I, int J>
struct adder {
  enum {
    value = I + J,
    value2
  };
};

int array1[adder<long, 3, 4>::value == 7? 1 : -1];

namespace PR6375 {
  template<typename T> 
  void f() {
    enum Enum
    {
      enumerator1 = 0xFFFFFFF,
      enumerator2 = enumerator1 - 1
    };
  
    int xb1 = enumerator1;
    int xe1 = enumerator2;
  }

  template void f<int>();
}