aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/pt.c
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2007-08-14 22:13:45 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2007-08-14 22:13:45 +0000
commitfa3546f12eff8fd7db529ecc3c42666c8c8218cd (patch)
treeab462adb3681803da15424f5ebee1d512e43304d /gcc/cp/pt.c
parentf8c3b097ed6ce43f64f9dfceac2698b0727969ac (diff)
downloadgcc-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.c2
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;
}
}