annotate clang/test/SemaTemplate/temp_arg_enum_printing.cpp @ 150:1d019706d866

LLVM10
author anatofuz
date Thu, 13 Feb 2020 15:10:13 +0900
parents
children 2e18cbf3894f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -fsyntax-only -ast-print %s | FileCheck %s
anatofuz
parents:
diff changeset
2
anatofuz
parents:
diff changeset
3 namespace NamedEnumNS
anatofuz
parents:
diff changeset
4 {
anatofuz
parents:
diff changeset
5
anatofuz
parents:
diff changeset
6 enum NamedEnum
anatofuz
parents:
diff changeset
7 {
anatofuz
parents:
diff changeset
8 Val0,
anatofuz
parents:
diff changeset
9 Val1
anatofuz
parents:
diff changeset
10 };
anatofuz
parents:
diff changeset
11
anatofuz
parents:
diff changeset
12 template <NamedEnum E>
anatofuz
parents:
diff changeset
13 void foo();
anatofuz
parents:
diff changeset
14
anatofuz
parents:
diff changeset
15 void test() {
anatofuz
parents:
diff changeset
16 // CHECK: template<> void foo<NamedEnumNS::Val0>()
anatofuz
parents:
diff changeset
17 NamedEnumNS::foo<Val0>();
anatofuz
parents:
diff changeset
18 // CHECK: template<> void foo<NamedEnumNS::Val1>()
anatofuz
parents:
diff changeset
19 NamedEnumNS::foo<(NamedEnum)1>();
anatofuz
parents:
diff changeset
20 // CHECK: template<> void foo<2>()
anatofuz
parents:
diff changeset
21 NamedEnumNS::foo<(NamedEnum)2>();
anatofuz
parents:
diff changeset
22 }
anatofuz
parents:
diff changeset
23
anatofuz
parents:
diff changeset
24 } // NamedEnumNS