2002-08-19 David Carlton <carlton@math.stanford.edu>
authorDavid Carlton <carlton@bactrian.org>
Mon, 19 Aug 2002 22:53:33 +0000 (22:53 +0000)
committerDavid Carlton <carlton@bactrian.org>
Mon, 19 Aug 2002 22:53:33 +0000 (22:53 +0000)
* gnu-v2-abi.c (gnuv2_value_rtti_type): Eliminate test for being
enclosed.  Fix PR gdb/574.

gdb/ChangeLog
gdb/gnu-v2-abi.c

index 4f4062affa381df8acaad8ad1b5c70433e1a9b78..1a46bc66e8cea981ba1021f3ceefa58077fb34f2 100644 (file)
@@ -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>
index 2b086c57f5eacfde3c22d727b1583070ed6c66c0..fb31c44529f8580c69eba9061a913315d625e3aa 100644 (file)
@@ -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;
 }