p8.cpp revision 8e8fb3be5bd78f0564444eca02b404566a5f3b5d
1// RUN: %clang_cc1 -fsyntax-only -verify %s 2// expected-no-diagnostics 3 4namespace N { 5 enum { C }; 6 template<class T> class B { 7 void f(T); 8 }; 9} 10 11template<class C> void N::B<C>::f(C) { 12 C b; 13} 14 15namespace N { 16 enum { D }; 17 namespace M { 18 enum { C , D }; 19 template<typename C> class X { 20 template<typename U> void f(C, U); 21 22 template<typename D> void g(C, D) { 23 C c; 24 D d; 25 } 26 }; 27 28 struct Y { 29 template<typename U> void f(U); 30 }; 31 } 32 33 struct Y { 34 template<typename D> void f(D); 35 }; 36} 37 38template<typename C> 39template<typename D> 40void N::M::X<C>::f(C, D) { 41 C c; 42 D d; 43} 44 45template<typename C> 46void N::M::Y::f(C) { 47 C c; 48} 49 50template<typename D> 51void N::Y::f(D) { 52 D d; 53} 54 55