xref: /aosp_15_r20/external/clang/test/SemaTemplate/temp_arg_enum_printing.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
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 
test()15 void test() {
16   // CHECK: template <NamedEnumNS::NamedEnum E = NamedEnumNS::NamedEnum::Val0>
17   NamedEnumNS::foo<Val0>();
18   // CHECK: template <NamedEnumNS::NamedEnum E = NamedEnumNS::NamedEnum::Val1>
19   NamedEnumNS::foo<(NamedEnum)1>();
20   // CHECK: template <NamedEnumNS::NamedEnum E = 2>
21   NamedEnumNS::foo<(NamedEnum)2>();
22 }
23 
24 } // NamedEnumNS
25