sim: callback: add human readable strings for debugging to maps
[deliverable/binutils-gdb.git] / gdb / p-valprint.c
index d326dbac8baec74a5984e0d64d90830ea49daee1..a66ff4425032d23d659a7b0736eb2214c6966423 100644 (file)
@@ -1,6 +1,6 @@
 /* Support for printing Pascal values for GDB, the GNU debugger.
 
-   Copyright (C) 2000-2013 Free Software Foundation, Inc.
+   Copyright (C) 2000-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -37,7 +37,7 @@
 #include "p-lang.h"
 #include "cp-abi.h"
 #include "cp-support.h"
-#include "exceptions.h"
+#include "objfiles.h"
 \f
 
 /* Decorations for Pascal.  */
@@ -83,7 +83,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
          len = high_bound - low_bound + 1;
          elttype = check_typedef (TYPE_TARGET_TYPE (type));
          eltlen = TYPE_LENGTH (elttype);
-         if (options->prettyprint_arrays)
+         if (options->prettyformat_arrays)
            {
              print_spaces_filtered (2 + 2 * recurse, stream);
            }
@@ -227,12 +227,12 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
          /* If 'symbol_print' is set, we did the work above.  */
          if (!options->symbol_print
              && (msymbol.minsym != NULL)
-             && (vt_address == SYMBOL_VALUE_ADDRESS (msymbol.minsym)))
+             && (vt_address == BMSYMBOL_VALUE_ADDRESS (msymbol)))
            {
              if (want_space)
                fputs_filtered (" ", stream);
              fputs_filtered ("<", stream);
-             fputs_filtered (SYMBOL_PRINT_NAME (msymbol.minsym), stream);
+             fputs_filtered (MSYMBOL_PRINT_NAME (msymbol.minsym), stream);
              fputs_filtered (">", stream);
              want_space = 1;
            }
@@ -248,7 +248,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
                fputs_filtered (" ", stream);
 
              if (msymbol.minsym != NULL)
-               wsym = lookup_symbol (SYMBOL_LINKAGE_NAME (msymbol.minsym),
+               wsym = lookup_symbol (MSYMBOL_LINKAGE_NAME (msymbol.minsym),
                                      block,
                                      VAR_DOMAIN, &is_this_fld);
 
@@ -263,7 +263,7 @@ pascal_val_print (struct type *type, const gdb_byte *valaddr,
              vt_val = value_at (wtype, vt_address);
              common_val_print (vt_val, stream, recurse + 1, options,
                                current_language);
-             if (options->pretty)
+             if (options->prettyformat)
                {
                  fprintf_filtered (stream, "\n");
                  print_spaces_filtered (2 + 2 * recurse, stream);
@@ -483,10 +483,10 @@ const char pascal_vtbl_ptr_name[] =
 int
 pascal_object_is_vtbl_ptr_type (struct type *type)
 {
-  const char *typename = type_name_no_tag (type);
+  const char *type_name = type_name_no_tag (type);
 
-  return (typename != NULL
-         && strcmp (typename, pascal_vtbl_ptr_name) == 0);
+  return (type_name != NULL
+         && strcmp (type_name, pascal_vtbl_ptr_name) == 0);
 }
 
 /* Return truth value for the assertion that TYPE is of the type
@@ -575,7 +575,7 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
            fprintf_filtered (stream, ", ");
          else if (n_baseclasses > 0)
            {
-             if (options->pretty)
+             if (options->prettyformat)
                {
                  fprintf_filtered (stream, "\n");
                  print_spaces_filtered (2 + 2 * recurse, stream);
@@ -586,7 +586,7 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
            }
          fields_seen = 1;
 
-         if (options->pretty)
+         if (options->prettyformat)
            {
              fprintf_filtered (stream, "\n");
              print_spaces_filtered (2 + 2 * recurse, stream);
@@ -626,11 +626,6 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
                {
                  fputs_filtered (_("<synthetic pointer>"), stream);
                }
-             else if (!value_bits_valid (val, TYPE_FIELD_BITPOS (type, i),
-                                         TYPE_FIELD_BITSIZE (type, i)))
-               {
-                 val_print_optimized_out (stream);
-               }
              else
                {
                  struct value_print_options opts = *options;
@@ -657,7 +652,7 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
                  v = value_field_bitfield (type, i, valaddr, offset, val);
 
                  if (v == NULL)
-                   val_print_optimized_out (stream);
+                   val_print_optimized_out (NULL, stream);
                  else
                    pascal_object_print_static_field (v, stream, recurse + 1,
                                                      options);
@@ -688,7 +683,7 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
          dont_print_statmem_obstack = tmp_obstack;
        }
 
-      if (options->pretty)
+      if (options->prettyformat)
        {
          fprintf_filtered (stream, "\n");
          print_spaces_filtered (2 * recurse, stream);
@@ -730,7 +725,6 @@ pascal_object_print_value (struct type *type, const gdb_byte *valaddr,
       const char *basename = type_name_no_tag (baseclass);
       const gdb_byte *base_valaddr = NULL;
       int thisoffset;
-      volatile struct gdb_exception ex;
       int skip = 0;
 
       if (BASETYPE_VIA_VIRTUAL (type, i))
@@ -750,18 +744,21 @@ pascal_object_print_value (struct type *type, const gdb_byte *valaddr,
 
       thisoffset = offset;
 
-      TRY_CATCH (ex, RETURN_MASK_ERROR)
+      TRY
        {
          boffset = baseclass_offset (type, i, valaddr, offset, address, val);
        }
-      if (ex.reason < 0 && ex.error == NOT_AVAILABLE_ERROR)
-       skip = -1;
-      else if (ex.reason < 0)
-       skip = 1;
-      else
+      CATCH (ex, RETURN_MASK_ERROR)
        {
-         skip = 0;
+         if (ex.error == NOT_AVAILABLE_ERROR)
+           skip = -1;
+         else
+           skip = 1;
+       }
+      END_CATCH
 
+      if (skip == 0)
+       {
          /* The virtual base class pointer might have been clobbered by the
             user program. Make sure that it still points to a valid memory
             location.  */
@@ -787,7 +784,7 @@ pascal_object_print_value (struct type *type, const gdb_byte *valaddr,
            base_valaddr = valaddr;
        }
 
-      if (options->pretty)
+      if (options->prettyformat)
        {
          fprintf_filtered (stream, "\n");
          print_spaces_filtered (2 * recurse, stream);
@@ -844,6 +841,12 @@ pascal_object_print_static_field (struct value *val,
   struct type *type = value_type (val);
   struct value_print_options opts;
 
+  if (value_entirely_optimized_out (val))
+    {
+      val_print_optimized_out (val, stream);
+      return;
+    }
+
   if (TYPE_CODE (type) == TYPE_CODE_STRUCT)
     {
       CORE_ADDR *first_dont_print, addr;
This page took 0.045032 seconds and 4 git commands to generate.