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()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