gdbtypes.resolve_dynamic_range: Add function description.
[deliverable/binutils-gdb.git] / gdb / p-valprint.c
index 05d4c6f821bdc22be54fafb175bf381ef38c7b28..70eb3a8c677cb261f34df56e4caddc49e4c3be6e 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-2014 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -38,6 +38,7 @@
 #include "cp-abi.h"
 #include "cp-support.h"
 #include "exceptions.h"
+#include "objfiles.h"
 \f
 
 /* Decorations for Pascal.  */
@@ -227,12 +228,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 +249,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);
 
@@ -629,7 +630,7 @@ pascal_object_print_value_fields (struct type *type, const gdb_byte *valaddr,
              else if (!value_bits_valid (val, TYPE_FIELD_BITPOS (type, i),
                                          TYPE_FIELD_BITSIZE (type, i)))
                {
-                 val_print_optimized_out (stream);
+                 val_print_optimized_out (val, stream);
                }
              else
                {
@@ -657,7 +658,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);
@@ -844,6 +845,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.027614 seconds and 4 git commands to generate.