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