Home | History | Annotate | Download | only in temp.local
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 // expected-no-diagnostics
      3 
      4 namespace N {
      5   enum { C };
      6   template<class T> class B {
      7     void f(T);
      8   };
      9 }
     10 
     11 template<class C> void N::B<C>::f(C) {
     12   C b;
     13 }
     14 
     15 namespace 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 
     38 template<typename C>
     39 template<typename D>
     40 void N::M::X<C>::f(C, D) {
     41   C c;
     42   D d;
     43 }
     44 
     45 template<typename C>
     46 void N::M::Y::f(C) {
     47   C c;
     48 }
     49 
     50 template<typename D>
     51 void N::Y::f(D) {
     52   D d;
     53 }
     54 
     55