/* 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.
#include "language.h"
#include "p-lang.h"
#include "typeprint.h"
-
+#include "gdb-demangle.h"
#include "gdb_string.h"
#include <errno.h>
#include <ctype.h>
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++)
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)
{
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?
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++;
}