On 2014.11.11 at 13:39 -0500, Jason Merrill wrote: > On 11/11/2014 10:37 AM, Markus Trippelsdorf wrote: > > On 2014.11.11 at 10:11 -0500, Jason Merrill wrote: > >> On 11/08/2014 06:57 AM, Markus Trippelsdorf wrote: > >>> +++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit73.C > >>> @@ -7,9 +7,9 @@ > >>> // the template > >>> > >>> namespace N { > >>> - template <class T> class foo; // { dg-error "" } referenced below > >>> + template <class T> class foo; // { dg-error "" "" { target { ! c++11 > >>> } } } referenced below > >>> } > >>> > >>> using namespace N; > >>> > >>> -template <> class foo<void>; // { dg-error "" } invalid specialization > >>> +template <> class foo<void>; // { dg-error "" "" { target { ! c++11 } } > >>> } invalid specialization > >> > >> This should still get an error in C++11 mode. > > > > Both EGG and clang currently accept it. > > EDG rejects it in strict mode.
They also reject g++.dg/template/spec36.C and g++.old-deja/g++.pt/lookup10.C with "-strict-ansi -std=c++11". Which is kind of ironical given that two of their employees worked on the issue: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#374 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3064.pdf -- Markus