1// RUN: %clang_cc1 -fsyntax-only -ast-print %s | FileCheck %s
2
3namespace NamedEnumNS
4{
5
6enum NamedEnum
7{
8  Val0,
9  Val1
10};
11
12template <NamedEnum E>
13void foo();
14
15void 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