From: Jason Merrill Date: Tue, 11 Mar 2003 10:34:45 +0000 (-0500) Subject: re PR c++/8660 (template overloading ICE in tsubst_expr, at cp/pt.c:7644) X-Git-Tag: releases/gcc-3.4.0~8026 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=220dd8ca3411661ea6b821fb90f39ed2153f385c;p=thirdparty%2Fgcc.git re PR c++/8660 (template overloading ICE in tsubst_expr, at cp/pt.c:7644) PR c++/8660 * decl2.c (check_classfn): A member template only matches a member template. [[Split portion of a mixed commit.]] From-SVN: r64167.2 --- diff --git a/gcc/testsuite/g++.dg/template/member2.C b/gcc/testsuite/g++.dg/template/member2.C new file mode 100644 index 000000000000..372c778a7560 --- /dev/null +++ b/gcc/testsuite/g++.dg/template/member2.C @@ -0,0 +1,13 @@ +// PR c++/8660 +// Bug: we were treating the definition of the non-template as a definition +// of the template, which broke. + +struct BadgerBuf +{ + void ReadPod(); + template + void ReadPod(); +}; + +void BadgerBuf::ReadPod () + { ReadPod (); } diff --git a/gcc/testsuite/g++.old-deja/g++.mike/err1.C b/gcc/testsuite/g++.old-deja/g++.mike/err1.C index 8748c7860b15..3f234bb92a43 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/err1.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/err1.C @@ -2,7 +2,7 @@ struct gorf { int stuff; - void snarf(); + void snarf(); // ERROR - }; template void gorf::snarf() { return; } // ERROR -