diff options
author | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-11-29 00:59:16 +0000 |
---|---|---|
committer | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 1994-11-29 00:59:16 +0000 |
commit | c25194fd440df108bdac183b30b994ba2fb9b1c2 (patch) | |
tree | 572fd369f71d068ba440682b16fe5848cd15d1cf /gcc/cp/search.c | |
parent | fa94d7979844d6e8edce6dd271c2bee3615e26f8 (diff) | |
download | ppe42-gcc-c25194fd440df108bdac183b30b994ba2fb9b1c2.tar.gz ppe42-gcc-c25194fd440df108bdac183b30b994ba2fb9b1c2.zip |
49th Cygnus<->FSF merge
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@8570 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r-- | gcc/cp/search.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/cp/search.c b/gcc/cp/search.c index 7f6af726898..9fb8e63d9bd 100644 --- a/gcc/cp/search.c +++ b/gcc/cp/search.c @@ -377,8 +377,8 @@ pop_memoized_context (use_old) type_stack = (struct type_level *)type_stack->base.prev; } -#if 0 /* unused */ /* This is the newer recursive depth first search routine. */ +#if 0 /* unused */ /* Return non-zero if PARENT is directly derived from TYPE. By directly we mean it's only one step up the inheritance lattice. We check this by walking horizontally across the types that TYPE directly inherits @@ -1995,12 +1995,9 @@ get_abstract_virtuals_1 (binfo, do_self, abstract_virtuals) /* Should we use something besides CLASSTYPE_VFIELDS? */ if (do_self && CLASSTYPE_VFIELDS (BINFO_TYPE (binfo))) { + /* Get around first entry reserved for RTTI. */ tree tmp = TREE_CHAIN (BINFO_VIRTUALS (binfo)); - /* Get around dossier entry if there is one. */ - if (flag_dossier) - tmp = TREE_CHAIN (tmp); - while (tmp) { tree base_pfn = FNADDR_FROM_VTABLE_ENTRY (TREE_VALUE (tmp)); @@ -2417,10 +2414,10 @@ dfs_init_vbase_pointers (binfo) CLEAR_BINFO_VTABLE_PATH_MARKED (binfo); - /* If there is a dossier, it is the first field, though perhaps from + /* If there is a rtti, it is the first field, though perhaps from the base class. Otherwise, the first fields are virtual base class pointer fields. */ - if (CLASSTYPE_DOSSIER (type) && VFIELD_NAME_P (DECL_NAME (fields))) + if (CLASSTYPE_RTTI (type) && VFIELD_NAME_P (DECL_NAME (fields))) /* Get past vtable for the object. */ fields = TREE_CHAIN (fields); |