X-Git-Url: https://repo.jachan.dev/binutils.git/blobdiff_plain/b8c9b27d1e133d46199734ca1f047af8bb2d3314..9cc92a36ed6e61f930a367557dc8e92dcdda5a79:/gdb/jv-typeprint.c diff --git a/gdb/jv-typeprint.c b/gdb/jv-typeprint.c index 7747ad134f..0d4c187648 100644 --- a/gdb/jv-typeprint.c +++ b/gdb/jv-typeprint.c @@ -1,5 +1,5 @@ /* Support for printing Java types for GDB, the GNU debugger. - Copyright 1997-2000 Free Software Foundation, Inc. + Copyright 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of GDB. @@ -28,6 +28,7 @@ #include "gdb_string.h" #include "typeprint.h" #include "c-lang.h" +#include "cp-abi.h" /* Local functions */ @@ -151,7 +152,7 @@ java_type_print_base (struct type *type, struct ui_file *stream, int show, fprintf_filtered (stream, "{\n"); if ((TYPE_NFIELDS (type) == 0) && (TYPE_NFN_FIELDS (type) == 0)) { - if (TYPE_FLAGS (type) & TYPE_FLAG_STUB) + if (TYPE_STUB (type)) fprintfi_filtered (level + 4, stream, "\n"); else fprintfi_filtered (level + 4, stream, "\n"); @@ -165,12 +166,12 @@ java_type_print_base (struct type *type, struct ui_file *stream, int show, { QUIT; /* Don't print out virtual function table. */ - if (STREQN (TYPE_FIELD_NAME (type, i), "_vptr", 5) + if (strncmp (TYPE_FIELD_NAME (type, i), "_vptr", 5) == 0 && is_cplus_marker ((TYPE_FIELD_NAME (type, i))[5])) continue; /* Don't print the dummy field "class". */ - if (STREQN (TYPE_FIELD_NAME (type, i), "class", 5)) + if (strncmp (TYPE_FIELD_NAME (type, i), "class", 5) == 0) continue; print_spaces_filtered (level + 4, stream); @@ -215,7 +216,7 @@ java_type_print_base (struct type *type, struct ui_file *stream, int show, n_overloads = TYPE_FN_FIELDLIST_LENGTH (type, i); method_name = TYPE_FN_FIELDLIST_NAME (type, i); name = type_name_no_tag (type); - is_constructor = name && STREQ (method_name, name); + is_constructor = name && strcmp (method_name, name) == 0; for (j = 0; j < n_overloads; j++) { @@ -224,12 +225,9 @@ java_type_print_base (struct type *type, struct ui_file *stream, int show, physname = TYPE_FN_FIELD_PHYSNAME (f, j); - is_full_physname_constructor = - ((physname[0] == '_' && physname[1] == '_' - && strchr ("0123456789Qt", physname[2])) - || STREQN (physname, "__ct__", 6) - || DESTRUCTOR_PREFIX_P (physname) - || STREQN (physname, "__dt__", 6)); + is_full_physname_constructor + = (is_constructor_name (physname) + || is_destructor_name (physname)); QUIT;