Home | History | Annotate | Download | only in temp.expl.spec
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 
      3 namespace N {
      4   template<class T> class X; // expected-note {{'N::X' declared here}} \
      5                              // expected-note {{explicitly specialized declaration is here}}
      6 }
      7 
      8 // TODO: Don't add a namespace qualifier to the template if it would trigger
      9 // the warning about the specialization being outside of the namespace.
     10 template<> class X<int> { /* ... */ };	// expected-error {{no template named 'X'; did you mean 'N::X'?}} \
     11                                         // expected-warning {{first declaration of class template specialization of 'X' outside namespace 'N' is a C++11 extension}}
     12 
     13 namespace N {
     14 
     15 template<> class X<char*> { /* ... */ };	// OK: X is a template
     16 
     17 }
     18