* defilep.y (def_name, def_library): Combine into...
[deliverable/binutils-gdb.git] / gdb / c-valprint.c
index 62ad59fe4bce3a1e41defdf5963ddca801601065..f0f1663667f10eb6e5e1f57c980efaaa50952a30 100644 (file)
@@ -30,6 +30,7 @@
 #include "language.h"
 #include "c-lang.h"
 #include "cp-abi.h"
+#include "target.h"
 \f
 
 /* Print function pointer with inferior address ADDRESS onto stdio
@@ -38,7 +39,9 @@
 static void
 print_function_pointer_address (CORE_ADDR address, struct ui_file *stream)
 {
-  CORE_ADDR func_addr = CONVERT_FROM_FUNC_PTR_ADDR (address);
+  CORE_ADDR func_addr = gdbarch_convert_from_func_ptr_addr (current_gdbarch,
+                                                           address,
+                                                           &current_target);
 
   /* If the function pointer is represented by a description, print the
      address of the description.  */
@@ -228,8 +231,8 @@ c_val_print (struct type *type, char *valaddr, int embedded_offset,
                    {
                      wtype = TYPE_TARGET_TYPE (type);
                    }
-                 vt_val = value_at (wtype, vt_address, NULL);
-                 val_print (VALUE_TYPE (vt_val), VALUE_CONTENTS (vt_val), 0,
+                 vt_val = value_at (wtype, vt_address);
+                 val_print (value_type (vt_val), VALUE_CONTENTS (vt_val), 0,
                             VALUE_ADDRESS (vt_val), stream, format,
                             deref_ref, recurse + 1, pretty);
                  if (pretty)
@@ -278,9 +281,8 @@ c_val_print (struct type *type, char *valaddr, int embedded_offset,
              value_at
              (TYPE_TARGET_TYPE (type),
               unpack_pointer (lookup_pointer_type (builtin_type_void),
-                              valaddr + embedded_offset),
-              NULL);
-             val_print (VALUE_TYPE (deref_val),
+                              valaddr + embedded_offset));
+             val_print (value_type (deref_val),
                         VALUE_CONTENTS (deref_val),
                         0,
                         VALUE_ADDRESS (deref_val),
@@ -442,7 +444,7 @@ c_val_print (struct type *type, char *valaddr, int embedded_offset,
 
     case TYPE_CODE_METHOD:
       {
-       struct value *v = value_at (type, address, NULL);
+       struct value *v = value_at (type, address);
        cp_print_class_method (VALUE_CONTENTS (value_addr (v)),
                               lookup_pointer_type (type), stream);
        break;
@@ -496,7 +498,7 @@ int
 c_value_print (struct value *val, struct ui_file *stream, int format,
               enum val_prettyprint pretty)
 {
-  struct type *type = VALUE_TYPE (val);
+  struct type *type = value_type (val);
   struct type *real_type;
   int full, top, using_enc;
 
@@ -528,7 +530,7 @@ c_value_print (struct value *val, struct ui_file *stream, int format,
               */
              struct value *temparg;
              temparg=value_copy(val);
-             VALUE_TYPE (temparg) = lookup_pointer_type(TYPE_TARGET_TYPE(type));
+             temparg->type = lookup_pointer_type (TYPE_TARGET_TYPE(type));
              val=temparg;
            }
          /* Pointer to class, check real type of object */
@@ -564,7 +566,7 @@ c_value_print (struct value *val, struct ui_file *stream, int format,
          fprintf_filtered (stream, ") ");
        }
     }
-  if (objectprint && (TYPE_CODE (VALUE_TYPE (val)) == TYPE_CODE_CLASS))
+  if (objectprint && (TYPE_CODE (value_type (val)) == TYPE_CODE_CLASS))
     {
       /* Attempt to determine real type of object */
       real_type = value_rtti_type (val, &full, &top, &using_enc);
@@ -594,6 +596,6 @@ c_value_print (struct value *val, struct ui_file *stream, int format,
 
   return val_print (type, VALUE_CONTENTS_ALL (val),
                    VALUE_EMBEDDED_OFFSET (val),
-                   VALUE_ADDRESS (val) + VALUE_OFFSET (val),
+                   VALUE_ADDRESS (val) + value_offset (val),
                    stream, format, 1, 0, pretty);
 }
This page took 0.025027 seconds and 4 git commands to generate.