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