Approved by Jim Blandy:
[deliverable/binutils-gdb.git] / gdb / gnu-v2-abi.c
index ad73165345ac497e2f14b690c60244e80760efb7..ef460555155cc64a53697b897f38ebbb8a46e721 100644 (file)
@@ -22,7 +22,6 @@
    Boston, MA 02111-1307, USA.  */
 
 #include "defs.h"
-#include "gdb_regex.h"
 #include "gdb_string.h"
 #include "symtab.h"
 #include "gdbtypes.h"
@@ -83,11 +82,11 @@ gnuv2_is_operator_name (const char *name)
    J is an index into F which provides the desired virtual function.
 
    TYPE is the type in which F is located.  */
-static value_ptr
-gnuv2_virtual_fn_field (value_ptr * arg1p, struct fn_field * f, int j,
+static struct value *
+gnuv2_virtual_fn_field (struct value **arg1p, struct fn_field * f, int j,
                        struct type * type, int offset)
 {
-  value_ptr arg1 = *arg1p;
+  struct value *arg1 = *arg1p;
   struct type *type1 = check_typedef (VALUE_TYPE (arg1));
 
 
@@ -96,8 +95,10 @@ gnuv2_virtual_fn_field (value_ptr * arg1p, struct fn_field * f, int j,
      with a strange type, so cast it to type `pointer to long' (which
      should serve just fine as a function type).  Then, index into
      the table, and convert final value to appropriate function type.  */
-  value_ptr entry, vfn, vtbl;
-  value_ptr vi = value_from_longest (builtin_type_int,
+  struct value *entry;
+  struct value *vfn;
+  struct value *vtbl;
+  struct value *vi = value_from_longest (builtin_type_int,
                                     (LONGEST) TYPE_FN_FIELD_VOFFSET (f, j));
   struct type *fcontext = TYPE_FN_FIELD_FCONTEXT (f, j);
   struct type *context;
@@ -111,8 +112,7 @@ gnuv2_virtual_fn_field (value_ptr * arg1p, struct fn_field * f, int j,
   /* Now context is a pointer to the basetype containing the vtbl.  */
   if (TYPE_TARGET_TYPE (context) != type1)
     {
-      value_ptr tmp = value_cast (context, value_addr (arg1));
-      VALUE_POINTED_TO_OFFSET (tmp) = 0;
+      struct value *tmp = value_cast (context, value_addr (arg1));
       arg1 = value_ind (tmp);
       type1 = check_typedef (VALUE_TYPE (arg1));
     }
@@ -181,12 +181,12 @@ gnuv2_virtual_fn_field (value_ptr * arg1p, struct fn_field * f, int j,
 
 
 struct type *
-gnuv2_value_rtti_type (value_ptr v, int *full, int *top, int *using_enc)
+gnuv2_value_rtti_type (struct value *v, int *full, int *top, int *using_enc)
 {
   struct type *known_type;
   struct type *rtti_type;
   CORE_ADDR coreptr;
-  value_ptr vp;
+  struct value *vp;
   int using_enclosing = 0;
   long top_offset = 0;
   char rtti_type_name[256];
@@ -248,17 +248,17 @@ gnuv2_value_rtti_type (value_ptr v, int *full, int *top, int *using_enc)
   */
   if (VALUE_ENCLOSING_TYPE(v) != VALUE_TYPE(v))
     {
-      value_ptr tempval;
+      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_pointer (tempval);
+      vtbl=value_as_address (tempval);
       using_enclosing=1;
     }
   else
     {
-      vtbl=value_as_pointer(value_field(v,TYPE_VPTR_FIELDNO(known_type)));
+      vtbl=value_as_address(value_field(v,TYPE_VPTR_FIELDNO(known_type)));
       using_enclosing=0;
     }
 
This page took 0.024993 seconds and 4 git commands to generate.