From 3bc440a2c4fcbb3b46b2b07155b1fa401d8ceb22 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Thu, 1 Apr 2021 21:10:09 -0400 Subject: [PATCH] gdb: remove TYPE_DECLARED_CLASS gdb/ChangeLog: * gdbtypes.h (TYPE_DECLARED_CLASS): Remove, replace all uses with type::is_declared_class. Change-Id: Ifecb2342417ecd7bf570c3205344b09d706daab2 --- gdb/ChangeLog | 5 +++++ gdb/c-exp.y | 2 +- gdb/c-typeprint.c | 8 ++++---- gdb/compile/compile-cplus-types.c | 6 +++--- gdb/d-exp.y | 2 +- gdb/dwarf2/read.c | 2 +- gdb/gdbtypes.c | 6 +++--- gdb/gdbtypes.h | 8 -------- gdb/valops.c | 2 +- 9 files changed, 19 insertions(+), 22 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 77395fb796f..72403915370 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2021-04-01 Simon Marchi + + * gdbtypes.h (TYPE_DECLARED_CLASS): Remove, replace all uses + with type::is_declared_class. + 2021-04-01 Simon Marchi * gdbtypes.h (struct type) code () == TYPE_CODE_UNION || type->code () == TYPE_CODE_NAMESPACE || (type->code () == TYPE_CODE_ENUM - && TYPE_DECLARED_CLASS (type))); + && type->is_declared_class ())); } /* Validate a parameter typelist. */ diff --git a/gdb/c-typeprint.c b/gdb/c-typeprint.c index b861aafbdc9..f81f1c2c113 100644 --- a/gdb/c-typeprint.c +++ b/gdb/c-typeprint.c @@ -965,7 +965,7 @@ output_access_specifier (struct ui_file *stream, static bool need_access_label_p (struct type *type) { - if (TYPE_DECLARED_CLASS (type)) + if (type->is_declared_class ()) { QUIT; for (int i = TYPE_N_BASECLASSES (type); i < type->num_fields (); i++) @@ -1061,7 +1061,7 @@ c_type_print_base_struct_union (struct type *type, struct ui_file *stream, c_type_print_modifier (type, stream, 0, 1, language); if (type->code () == TYPE_CODE_UNION) fprintf_filtered (stream, "union "); - else if (TYPE_DECLARED_CLASS (type)) + else if (type->is_declared_class ()) fprintf_filtered (stream, "class "); else fprintf_filtered (stream, "struct "); @@ -1499,7 +1499,7 @@ c_type_print_base_1 (struct type *type, struct ui_file *stream, fprintf_filtered (stream, "union "); else if (type->code () == TYPE_CODE_STRUCT) { - if (TYPE_DECLARED_CLASS (type)) + if (type->is_declared_class ()) fprintf_filtered (stream, "class "); else fprintf_filtered (stream, "struct "); @@ -1552,7 +1552,7 @@ c_type_print_base_1 (struct type *type, struct ui_file *stream, case TYPE_CODE_ENUM: c_type_print_modifier (type, stream, 0, 1, language); fprintf_filtered (stream, "enum "); - if (TYPE_DECLARED_CLASS (type)) + if (type->is_declared_class ()) fprintf_filtered (stream, "class "); /* Print the tag name if it exists. The aCC compiler emits a spurious diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c index ef5fbcf133a..71ad6791e1d 100644 --- a/gdb/compile/compile-cplus-types.c +++ b/gdb/compile/compile-cplus-types.c @@ -91,7 +91,7 @@ get_method_access_flag (const struct type *type, int fni, int num) gdb_assert (type->code () == TYPE_CODE_STRUCT); /* If this type was not declared a class, everything is public. */ - if (!TYPE_DECLARED_CLASS (type)) + if (!type->is_declared_class ()) return GCC_CP_ACCESS_PUBLIC; /* Otherwise, read accessibility from the fn_field. */ @@ -828,11 +828,11 @@ compile_cplus_convert_struct_or_union (compile_cplus_instance *instance, gcc_decl resuld; if (type->code () == TYPE_CODE_STRUCT) { - const char *what = TYPE_DECLARED_CLASS (type) ? "class" : "struct"; + const char *what = type->is_declared_class () ? "class" : "struct"; resuld = instance->plugin ().build_decl (what, name.get (), (GCC_CP_SYMBOL_CLASS | nested_access - | (TYPE_DECLARED_CLASS (type) + | (type->is_declared_class () ? GCC_CP_FLAG_CLASS_NOFLAG : GCC_CP_FLAG_CLASS_IS_STRUCT)), 0, nullptr, 0, filename, line); diff --git a/gdb/d-exp.y b/gdb/d-exp.y index 90c342e0e21..20884baebba 100644 --- a/gdb/d-exp.y +++ b/gdb/d-exp.y @@ -640,7 +640,7 @@ type_aggregate_p (struct type *type) || type->code () == TYPE_CODE_UNION || type->code () == TYPE_CODE_MODULE || (type->code () == TYPE_CODE_ENUM - && TYPE_DECLARED_CLASS (type))); + && type->is_declared_class ())); } /* Take care of parsing a number (anything that starts with a digit). diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 9a90d992cc9..165a8090f99 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -23307,7 +23307,7 @@ determine_prefix (struct die_info *die, struct dwarf2_cu *cu) return determine_prefix (parent, cu); case DW_TAG_enumeration_type: parent_type = read_type_die (parent, cu); - if (TYPE_DECLARED_CLASS (parent_type)) + if (parent_type->is_declared_class ()) { if (parent_type->name () != NULL) return parent_type->name (); diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c index 1b2d4836959..5a20e7e16ca 100644 --- a/gdb/gdbtypes.c +++ b/gdb/gdbtypes.c @@ -4507,7 +4507,7 @@ rank_one_type_parm_int (struct type *parm, struct type *arg, struct value *value case TYPE_CODE_CHAR: case TYPE_CODE_RANGE: case TYPE_CODE_BOOL: - if (TYPE_DECLARED_CLASS (arg)) + if (arg->is_declared_class ()) return INCOMPATIBLE_TYPE_BADNESS; return INTEGER_PROMOTION_BADNESS; case TYPE_CODE_FLT: @@ -4531,7 +4531,7 @@ rank_one_type_parm_enum (struct type *parm, struct type *arg, struct value *valu case TYPE_CODE_RANGE: case TYPE_CODE_BOOL: case TYPE_CODE_ENUM: - if (TYPE_DECLARED_CLASS (parm) || TYPE_DECLARED_CLASS (arg)) + if (parm->is_declared_class () || arg->is_declared_class ()) return INCOMPATIBLE_TYPE_BADNESS; return INTEGER_CONVERSION_BADNESS; case TYPE_CODE_FLT: @@ -4551,7 +4551,7 @@ rank_one_type_parm_char (struct type *parm, struct type *arg, struct value *valu case TYPE_CODE_RANGE: case TYPE_CODE_BOOL: case TYPE_CODE_ENUM: - if (TYPE_DECLARED_CLASS (arg)) + if (arg->is_declared_class ()) return INCOMPATIBLE_TYPE_BADNESS; return INTEGER_CONVERSION_BADNESS; case TYPE_CODE_FLT: diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 7444e7ad239..9677d068ee1 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -220,14 +220,6 @@ DEF_ENUM_FLAGS_TYPE (enum type_instance_flag_value, type_instance_flags); #define TYPE_NOTTEXT(t) (((t)->instance_flags ()) & TYPE_INSTANCE_FLAG_NOTTEXT) -/* * True if this type was declared using the "class" keyword. This is - only valid for C++ structure and enum types. If false, a structure - was declared as a "struct"; if true it was declared "class". For - enum types, this is true when "enum class" or "enum struct" was - used to declare the type.. */ - -#define TYPE_DECLARED_CLASS(t) ((t)->declared_class ()) - /* * True if this type is a "flag" enum. A flag enum is one where all the values are pairwise disjoint when "and"ed together. This affects how enum values are printed. */ diff --git a/gdb/valops.c b/gdb/valops.c index f86c9818058..b65401c079f 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -3313,7 +3313,7 @@ enum_constant_from_type (struct type *type, const char *name) int name_len = strlen (name); gdb_assert (type->code () == TYPE_CODE_ENUM - && TYPE_DECLARED_CLASS (type)); + && type->is_declared_class ()); for (i = TYPE_N_BASECLASSES (type); i < type->num_fields (); ++i) { -- 2.30.2