* dwarf2read.c (dwarf_decode_macros): New arg section_name.
[deliverable/binutils-gdb.git] / gdb / p-typeprint.c
index 5ac3bc5431a9c7aee0a74cb339c8be75a0047ae9..a00f5b32d9f41da617a54aec63e6abc618141d38 100644 (file)
@@ -1,6 +1,5 @@
 /* Support for printing Pascal types for GDB, the GNU debugger.
-   Copyright (C) 2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010, 2011
-   Free Software Foundation, Inc.
+   Copyright (C) 2000-2002, 2006-2012 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -31,7 +30,7 @@
 #include "language.h"
 #include "p-lang.h"
 #include "typeprint.h"
-
+#include "gdb-demangle.h"
 #include "gdb_string.h"
 #include <errno.h>
 #include <ctype.h>
@@ -132,7 +131,7 @@ pascal_print_typedef (struct type *type, struct symbol *new_symbol,
 static void
 pascal_type_print_derivation_info (struct ui_file *stream, struct type *type)
 {
-  char *name;
+  const char *name;
   int i;
 
   for (i = 0; i < TYPE_N_BASECLASSES (type); i++)
@@ -184,8 +183,7 @@ pascal_type_print_method_args (const char *physname, const char *methodname,
          physname += len;
 
          for (j = 0; j < i; ++j)
-           fputc_filtered (physname[i], stream);
-         fputs_filtered (physname, stream);
+           fputc_filtered (physname[j], stream);
 
          physname += i;
          if (physname[0] != 0)
@@ -631,7 +629,7 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
            {
              struct fn_field *f = TYPE_FN_FIELDLIST1 (type, i);
              int j, len2 = TYPE_FN_FIELDLIST_LENGTH (type, i);
-             char *method_name = TYPE_FN_FIELDLIST_NAME (type, i);
+             const char *method_name = TYPE_FN_FIELDLIST_NAME (type, i);
 
              /* this is GNU C++ specific
                 how can we know constructor/destructor?
@@ -752,11 +750,12 @@ pascal_type_print_base (struct type *type, struct ui_file *stream, int show,
                fprintf_filtered (stream, ", ");
              wrap_here ("    ");
              fputs_filtered (TYPE_FIELD_NAME (type, i), stream);
-             if (lastval != TYPE_FIELD_BITPOS (type, i))
+             if (lastval != TYPE_FIELD_ENUMVAL (type, i))
                {
                  fprintf_filtered (stream,
-                                   " := %d", TYPE_FIELD_BITPOS (type, i));
-                 lastval = TYPE_FIELD_BITPOS (type, i);
+                                   " := %s",
+                                   plongest (TYPE_FIELD_ENUMVAL (type, i)));
+                 lastval = TYPE_FIELD_ENUMVAL (type, i);
                }
              lastval++;
            }
This page took 0.024169 seconds and 4 git commands to generate.