diff options
author | Paolo Carlini <paolo@gcc.gnu.org> | 2007-08-14 22:13:45 +0000 |
---|---|---|
committer | Paolo Carlini <paolo@gcc.gnu.org> | 2007-08-14 22:13:45 +0000 |
commit | fa3546f12eff8fd7db529ecc3c42666c8c8218cd (patch) | |
tree | ab462adb3681803da15424f5ebee1d512e43304d /gcc/cp/pt.c | |
parent | f8c3b097ed6ce43f64f9dfceac2698b0727969ac (diff) | |
download | gcc-fa3546f12eff8fd7db529ecc3c42666c8c8218cd.zip gcc-fa3546f12eff8fd7db529ecc3c42666c8c8218cd.tar.gz gcc-fa3546f12eff8fd7db529ecc3c42666c8c8218cd.tar.bz2 |
re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template)
/cp
2007-08-14 Paolo Carlini <pcarlini@suse.de>
PR c++/27211
* decl2.c (check_classfn): Return error_mark_node in case of error;
in that case, do not call add_method.
* decl.c (start_decl): Deal with check_classfn returning
error_mark_node.
(grokfndecl): Likewise.
* pt.c (tsubst_friend_function): Likewise.
/testsuite
2007-08-14 Paolo Carlini <pcarlini@suse.de>
PR c++/27211
* g++.dg/template/error27.C: New.
* g++.dg/template/error28.C: New.
* g++.dg/other/pr28304.C: Adjust.
* g++.old-deja/g++.mike/p811.C: Likewise.
From-SVN: r127493
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r-- | gcc/cp/pt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index e4f56d8..5a0bd71 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -6287,7 +6287,7 @@ tsubst_friend_function (tree decl, tree args) tree fn = check_classfn (context, new_friend, NULL_TREE); - if (fn) + if (fn && fn != error_mark_node) new_friend = fn; } } |