summaryrefslogtreecommitdiff
path: root/gcc/cp/decl.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2002-10-26 00:44:44 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2002-10-26 00:44:44 +0000
commitc83788c9a91bd06f2b9a6c344f817e1326878ce8 (patch)
tree4851d0f3f74a197c70c79513cd29892c5249e71a /gcc/cp/decl.c
parentd39d0277a044a44458b7fedce39cecc5747bc64b (diff)
downloadgcc-c83788c9a91bd06f2b9a6c344f817e1326878ce8.tar.gz
* call.c (build_over_call): Use DECL_CONTEXT, not
DECL_VIRTUAL_CONTEXT. * class.c (modify_vtable_entry): Don't mess with DECL_VIRTUAL_CONTEXT. (set_vindex): Remove. (set_primary_base): Remove vfuns_p parameter. (determine_primary_base): Likewise. (modify_all_vtables): Likewise. (layout_class_type): Likewise. Adjust calls to other functions accordingly. (finish_struct_1): Adjust calls to modified functions. Set DECL_VINDEX here. * cp-tree.h (lang_type_class): Remove vsize. (CLASSTYPE_VSIZE): Remove. (lang_decl): Remove thunks. (DECL_THUNKS): Adjust. (DECL_VIRTUAL_CONTEXT): Remove. (duplicate_decls): Don't copy it. * pt.c (build_template_decl): Don't set it. (tsubst_decl): Likewise. * typeck.c (expand_ptrmemfunc_cst): Don't use it. * g++.dg/lookup/ptrmem1.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58548 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r--gcc/cp/decl.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index 3e1c21553dd..e3b7b5b773a 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -3374,8 +3374,6 @@ duplicate_decls (newdecl, olddecl)
definition. */
if (DECL_VINDEX (olddecl))
DECL_VINDEX (newdecl) = DECL_VINDEX (olddecl);
- if (DECL_VIRTUAL_CONTEXT (olddecl))
- DECL_VIRTUAL_CONTEXT (newdecl) = DECL_VIRTUAL_CONTEXT (olddecl);
if (DECL_CONTEXT (olddecl))
DECL_CONTEXT (newdecl) = DECL_CONTEXT (olddecl);
DECL_STATIC_CONSTRUCTOR (newdecl) |= DECL_STATIC_CONSTRUCTOR (olddecl);
@@ -3412,12 +3410,9 @@ duplicate_decls (newdecl, olddecl)
if (newtype != error_mark_node && oldtype != error_mark_node
&& TYPE_LANG_SPECIFIC (newtype) && TYPE_LANG_SPECIFIC (oldtype))
- {
- CLASSTYPE_VSIZE (newtype) = CLASSTYPE_VSIZE (oldtype);
- CLASSTYPE_FRIEND_CLASSES (newtype)
- = CLASSTYPE_FRIEND_CLASSES (oldtype);
- }
-
+ CLASSTYPE_FRIEND_CLASSES (newtype)
+ = CLASSTYPE_FRIEND_CLASSES (oldtype);
+\
DECL_ORIGINAL_TYPE (newdecl) = DECL_ORIGINAL_TYPE (olddecl);
}