summaryrefslogtreecommitdiff
path: root/gdb/gnu-v2-abi.c
diff options
context:
space:
mode:
authorDavid Carlton <carlton@bactrian.org>2002-08-19 22:53:33 +0000
committerDavid Carlton <carlton@bactrian.org>2002-08-19 22:53:33 +0000
commit50f88ea8dc61bf82adad92a655ed34e3c1602cc6 (patch)
tree2f25c550c7e58762fa33f722221db3981f724bd0 /gdb/gnu-v2-abi.c
parent1f9f61e52fc7a3d6187cdb6f3c4619144a6fc757 (diff)
downloadgdb-50f88ea8dc61bf82adad92a655ed34e3c1602cc6.tar.gz
2002-08-19 David Carlton <carlton@math.stanford.edu>
* gnu-v2-abi.c (gnuv2_value_rtti_type): Eliminate test for being enclosed. Fix PR gdb/574.
Diffstat (limited to 'gdb/gnu-v2-abi.c')
-rw-r--r--gdb/gnu-v2-abi.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/gdb/gnu-v2-abi.c b/gdb/gnu-v2-abi.c
index 2b086c57f5e..fb31c44529f 100644
--- a/gdb/gnu-v2-abi.c
+++ b/gdb/gnu-v2-abi.c
@@ -189,7 +189,6 @@ gnuv2_value_rtti_type (struct value *v, int *full, int *top, int *using_enc)
struct type *rtti_type;
CORE_ADDR coreptr;
struct value *vp;
- int using_enclosing = 0;
long top_offset = 0;
char rtti_type_name[256];
CORE_ADDR vtbl;
@@ -244,25 +243,7 @@ gnuv2_value_rtti_type (struct value *v, int *full, int *top, int *using_enc)
if (VALUE_ADDRESS (value_field (v, TYPE_VPTR_FIELDNO (known_type))) == 0)
return NULL;
- /*
- If we are enclosed by something that isn't us, adjust the
- address properly and set using_enclosing.
- */
- if (VALUE_ENCLOSING_TYPE(v) != VALUE_TYPE(v))
- {
- struct value *tempval;
- int bitpos = TYPE_BASECLASS_BITPOS (known_type,
- TYPE_VPTR_FIELDNO (known_type));
- tempval=value_field (v, TYPE_VPTR_FIELDNO(known_type));
- VALUE_ADDRESS(tempval) += bitpos / 8;
- vtbl=value_as_address (tempval);
- using_enclosing=1;
- }
- else
- {
- vtbl=value_as_address(value_field(v,TYPE_VPTR_FIELDNO(known_type)));
- using_enclosing=0;
- }
+ vtbl=value_as_address(value_field(v,TYPE_VPTR_FIELDNO(known_type)));
/* Try to find a symbol that is the vtable */
minsym=lookup_minimal_symbol_by_pc(vtbl);
@@ -304,8 +285,6 @@ gnuv2_value_rtti_type (struct value *v, int *full, int *top, int *using_enc)
if (full)
*full=1;
}
- if (using_enc)
- *using_enc=using_enclosing;
return rtti_type;
}