diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-10-26 00:44:44 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-10-26 00:44:44 +0000 |
commit | c83788c9a91bd06f2b9a6c344f817e1326878ce8 (patch) | |
tree | 4851d0f3f74a197c70c79513cd29892c5249e71a /gcc/cp/decl.c | |
parent | d39d0277a044a44458b7fedce39cecc5747bc64b (diff) | |
download | gcc-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.c | 11 |
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); } |