diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 69e6fc68b31..6c8b627969a 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ Sun May 17 12:32:08 1998 Jason Merrill + * decl.c (duplicate_decls): Use CANONICAL_TYPE_VARIANT to compare + old and new types. + * pt.c (tsubst): Make sure that BINFO_TYPE of new binfos is the canonical type. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 9d409e3620d..1ab0922a28d 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -2926,7 +2926,7 @@ duplicate_decls (newdecl, olddecl) TREE_TYPE (newdecl) = TREE_TYPE (olddecl) = newtype; /* Lay the type out, unless already done. */ - if (oldtype != TREE_TYPE (newdecl) + if (newtype != CANONICAL_TYPE_VARIANT (oldtype) && TREE_TYPE (newdecl) != error_mark_node && !(processing_template_decl && uses_template_parms (newdecl))) layout_type (TREE_TYPE (newdecl));