aboutsummaryrefslogtreecommitdiff
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
commit2a73a662d6126607a81bd392614c30daa16580f0 (patch)
treee6156f37a93f5ce6f317572a87d8dde17ebce8b8
parentfcaffe4c2a56cdb0c0bb542a3d00dcf8bb5c19b3 (diff)
downloadgdb-2a73a662d6126607a81bd392614c30daa16580f0.zip
gdb-2a73a662d6126607a81bd392614c30daa16580f0.tar.gz
gdb-2a73a662d6126607a81bd392614c30daa16580f0.tar.bz2
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.
-rw-r--r--gdb/ChangeLog2
-rw-r--r--gdb/gnu-v2-abi.c23
2 files changed, 3 insertions, 22 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4f4062a..1a46bc6 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,7 @@
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.
* MAINTAINERS: Add self to Write After Approval list.
2002-08-19 Andrew Cagney <ac131313@redhat.com>
diff --git a/gdb/gnu-v2-abi.c b/gdb/gnu-v2-abi.c
index 2b086c5..fb31c44 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;
}