1 | // RUN: %clang_cc1 -fsyntax-only -ast-print %s | FileCheck %s |
---|---|
2 | |
3 | namespace NamedEnumNS |
4 | { |
5 | |
6 | enum NamedEnum |
7 | { |
8 | Val0, |
9 | Val1 |
10 | }; |
11 | |
12 | template <NamedEnum E> |
13 | void foo(); |
14 | |
15 | void test() { |
16 | // CHECK: template<> void foo<NamedEnumNS::Val0>() |
17 | NamedEnumNS::foo<Val0>(); |
18 | // CHECK: template<> void foo<NamedEnumNS::Val1>() |
19 | NamedEnumNS::foo<(NamedEnum)1>(); |
20 | // CHECK: template<> void foo<2>() |
21 | NamedEnumNS::foo<(NamedEnum)2>(); |
22 | } |
23 | |
24 | } // NamedEnumNS |
25 |