diff options
Diffstat (limited to 'clang/test/CXX/temp/temp.spec/temp.expl.spec/p3.cpp')
-rw-r--r-- | clang/test/CXX/temp/temp.spec/temp.expl.spec/p3.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/clang/test/CXX/temp/temp.spec/temp.expl.spec/p3.cpp b/clang/test/CXX/temp/temp.spec/temp.expl.spec/p3.cpp index c8b7def5a44..d82691c7c86 100644 --- a/clang/test/CXX/temp/temp.spec/temp.expl.spec/p3.cpp +++ b/clang/test/CXX/temp/temp.spec/temp.expl.spec/p3.cpp @@ -1,14 +1,20 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %s namespace N { - template<class T> class X; // expected-note {{'N::X' declared here}} \ - // expected-note {{explicitly specialized declaration is here}} + template<class T> class X; // expected-note {{'N::X' declared here}} +#if __cplusplus <= 199711L + // expected-note@-2 {{explicitly specialized declaration is here}} +#endif } // TODO: Don't add a namespace qualifier to the template if it would trigger // the warning about the specialization being outside of the namespace. -template<> class X<int> { /* ... */ }; // expected-error {{no template named 'X'; did you mean 'N::X'?}} \ - // expected-warning {{first declaration of class template specialization of 'X' outside namespace 'N' is a C++11 extension}} +template<> class X<int> { /* ... */ }; // expected-error {{no template named 'X'; did you mean 'N::X'?}} +#if __cplusplus <= 199711L +// expected-warning@-2 {{first declaration of class template specialization of 'X' outside namespace 'N' is a C++11 extension}} +#endif namespace N { |