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