1- // RUN: %clang_cc1 -std=c++98 %s -verify=expected,cxx98-14,cxx98-20,cxx98 -fexceptions -fcxx-exceptions -pedantic-errors
2- // RUN: %clang_cc1 -std=c++11 %s -verify=expected,cxx11-20,cxx11-17,cxx11-14,cxx98-14,cxx98-20, since-cxx11,cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
3- // RUN: %clang_cc1 -std=c++14 %s -verify=expected,cxx11-20,cxx11-17,cxx11-14,since-cxx14,cxx98-14,cxx98-20, since-cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
4- // RUN: %clang_cc1 -std=c++17 %s -verify=expected,cxx11-20,cxx11-17,cxx98-20, since-cxx14,since-cxx17,since-cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
5- // RUN: %clang_cc1 -std=c++20 %s -verify=expected,cxx11-20,cxx98-20, since-cxx14,since-cxx20,since-cxx17,since-cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
1+ // RUN: %clang_cc1 -std=c++98 %s -verify=expected,cxx98-14,cxx98 -fexceptions -fcxx-exceptions -pedantic-errors
2+ // RUN: %clang_cc1 -std=c++11 %s -verify=expected,cxx11-20,cxx11-17,cxx11-14,cxx98-14,since-cxx11,cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
3+ // RUN: %clang_cc1 -std=c++14 %s -verify=expected,cxx11-20,cxx11-17,cxx11-14,since-cxx14,cxx98-14,since-cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
4+ // RUN: %clang_cc1 -std=c++17 %s -verify=expected,cxx11-20,cxx11-17,since-cxx14,since-cxx17,since-cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
5+ // RUN: %clang_cc1 -std=c++20 %s -verify=expected,cxx11-20,since-cxx14,since-cxx20,since-cxx17,since-cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
66// RUN: %clang_cc1 -std=c++23 %s -verify=expected,since-cxx14,since-cxx20,since-cxx17,since-cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
77// RUN: %clang_cc1 -std=c++2c %s -verify=expected,since-cxx14,since-cxx20,since-cxx17,since-cxx11 -fexceptions -fcxx-exceptions -pedantic-errors
88
@@ -136,7 +136,6 @@ namespace cwg1310 { // cwg1310: 5
136136 // expected-error@-1 {{ISO C++ specifies that qualified reference to 'W' is a constructor name rather than a template name in this context, despite preceding 'template' keyword}}
137137 }
138138 template <typename W>
139- // cxx98-20-note@-1 2{{declared as a non-template here}}
140139 void wt_test_good () {
141140 typename W::W::X w2ax;
142141 typename W::template W<int >::X w4x;
@@ -147,9 +146,7 @@ namespace cwg1310 { // cwg1310: 5
147146 (void )w.W ::W::n;
148147 (void )w.W ::template W<int >::n;
149148 (void )w.template W <int >::W::n;
150- // cxx98-20-error@-1 {{'W' following the 'template' keyword does not refer to a template}}
151149 (void )w.template W <int >::template W<int >::n;
152- // cxx98-20-error@-1 {{'W' following the 'template' keyword does not refer to a template}}
153150 }
154151 template void wt_test<W<int > >(); // #cwg1310-W-int
155152 template void wt_test_good<W<int > >();
0 commit comments