// 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<> void foo<NamedEnumNS::NamedEnum::Val0>() | |
NamedEnumNS::foo<Val0>(); | |
// CHECK: template<> void foo<NamedEnumNS::NamedEnum::Val1>() | |
NamedEnumNS::foo<(NamedEnum)1>(); | |
// CHECK: template<> void foo<2>() | |
NamedEnumNS::foo<(NamedEnum)2>(); | |
} | |
} // NamedEnumNS |