This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] c++/42018 try to reject specialization re-declared in wrong namespace


This patch is my attempt to fix PR c++/42018, but it's wrong, because
it also rejects some valid specializations, causing:

FAIL: g++.old-deja/g++.ns/template12.C (test for excess errors)
Excess errors:
/home/redi/src/gcc/gcc-4.x/gcc/testsuite/g++.old-deja/g++.ns/template12.C:18:47:
error: specialization of 'template<class T> const T bar::foo(const
T&)' in different namespace [-fpermissive]
/home/redi/src/gcc/gcc-4.x/gcc/testsuite/g++.old-deja/g++.ns/template12.C:13:20:
error:   from definition of 'template<class T> const T bar::foo(const
T&)' [-fpermissive]

FAIL: g++.old-deja/g++.pt/memtemp96.C (test for excess errors)
Excess errors:
/home/redi/src/gcc/gcc-4.x/gcc/testsuite/g++.old-deja/g++.pt/memtemp96.C:11:17:
error: specialization of 'template<class T> template<class U> int
A::f(U)' must appear at namespace scope

Can anyone point me in the right direction so that the new test in the
patch fails, but those don't?

Thanks,

Jonathan

Attachment: pr42018.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]