diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1996-08-13 15:39:22 +0000 |
---|---|---|
committer | Mike Stump <mrs@gcc.gnu.org> | 1996-08-13 15:39:22 +0000 |
commit | 73aad9b9ff694fcaf423834d7e2c47046cac34cd (patch) | |
tree | e2b752085bc40e641e8888cd283761f6cb564dc0 /gcc/cp/decl.c | |
parent | c8c2dcdce1e0144357f43f9d3c015dfbab58957a (diff) | |
download | gcc-73aad9b9ff694fcaf423834d7e2c47046cac34cd.zip gcc-73aad9b9ff694fcaf423834d7e2c47046cac34cd.tar.gz gcc-73aad9b9ff694fcaf423834d7e2c47046cac34cd.tar.bz2 |
87th Cygnus<->FSF quick merge
From-SVN: r12630
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r-- | gcc/cp/decl.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 98d3f14..3486634 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -2869,7 +2869,6 @@ duplicate_decls (newdecl, olddecl) if (TREE_CODE (newdecl) == TEMPLATE_DECL) { - DECL_TEMPLATE_MEMBERS (newdecl) = DECL_TEMPLATE_MEMBERS (olddecl); DECL_TEMPLATE_INSTANTIATIONS (newdecl) = DECL_TEMPLATE_INSTANTIATIONS (olddecl); if (DECL_CHAIN (newdecl) == NULL_TREE) @@ -5646,7 +5645,11 @@ shadow_tag (declspecs) { if (CLASSTYPE_IMPLICIT_INSTANTIATION (value) && TYPE_SIZE (value) == NULL_TREE) - SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (value); + { + SET_CLASSTYPE_TEMPLATE_SPECIALIZATION (value); + if (current_template_parms) + push_template_decl (TYPE_MAIN_DECL (value)); + } else if (CLASSTYPE_TEMPLATE_INSTANTIATION (value)) cp_error ("specialization after instantiation of `%T'", value); } |