aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-10-01 17:25:05 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-10-01 17:25:05 +0000
commitb3da7bb1cfd62e0ad61e661e428f0af2124ee5e1 (patch)
tree694d7ced2e4915115bb5bcf49f7941a944c10e7e /gcc/cp
parent2816d1644f17de74f9065f2a2f2af48555e13b11 (diff)
downloadgcc-b3da7bb1cfd62e0ad61e661e428f0af2124ee5e1.zip
gcc-b3da7bb1cfd62e0ad61e661e428f0af2124ee5e1.tar.gz
gcc-b3da7bb1cfd62e0ad61e661e428f0af2124ee5e1.tar.bz2
pt.c (tsubst_decl): If the type of a template instantiation is bogus, so is the whole instantiation.
* pt.c (tsubst_decl): If the type of a template instantiation is bogus, so is the whole instantiation. From-SVN: r29757
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/pt.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index a97890d..bef91e9 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+1999-10-01 Mark Mitchell <mark@codesourcery.com>
+
+ * pt.c (tsubst_decl): If the type of a template instantiation is
+ bogus, so is the whole instantiation.
+
1999-09-30 Mark Mitchell <mark@codesourcery.com>
* decl.c (initialize_local_var): Handle static variables here.
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 5b7c181..fca18cc 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -5778,6 +5778,8 @@ tsubst_decl (t, args, type, in_decl)
ctx = NULL_TREE;
}
type = tsubst (type, args, /*complain=*/1, in_decl);
+ if (type == error_mark_node)
+ return error_mark_node;
/* We do NOT check for matching decls pushed separately at this
point, as they may not represent instantiations of this