aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2024-08-26 11:25:01 -0600
committerTom Tromey <tromey@adacore.com>2024-09-09 11:47:17 -0600
commit6b8262318783e5cf30db7a1792b29fb463537444 (patch)
tree8dde58d3d07210525ce3fd8dad81328ed7f4ccc3
parent4f69c1b332603224581346ae3046a8accbe59ee6 (diff)
downloadgdb-6b8262318783e5cf30db7a1792b29fb463537444.zip
gdb-6b8262318783e5cf30db7a1792b29fb463537444.tar.gz
gdb-6b8262318783e5cf30db7a1792b29fb463537444.tar.bz2
Boolify ada_identical_enum_types_p
This changes ada_identical_enum_types_p to return bool rather than int. Approved-By: Tom de Vries <tdevries@suse.de>
-rw-r--r--gdb/ada-lang.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 14d6abd..8d5d667 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -201,7 +201,8 @@ static symbol_name_matcher_ftype *ada_get_symbol_name_matcher
static int symbols_are_identical_enums
(const std::vector<struct block_symbol> &syms);
-static int ada_identical_enum_types_p (struct type *type1, struct type *type2);
+static bool ada_identical_enum_types_p (struct type *type1,
+ struct type *type2);
/* The character set used for source files. */
@@ -4965,14 +4966,14 @@ is_nondebugging_type (struct type *type)
return (name != NULL && strcmp (name, "<variable, no debug info>") == 0);
}
-/* Return nonzero if TYPE1 and TYPE2 are two enumeration types
+/* Return true if TYPE1 and TYPE2 are two enumeration types
that are deemed "identical" for practical purposes.
This function assumes that TYPE1 and TYPE2 are both TYPE_CODE_ENUM
types and that their number of enumerals is identical (in other
words, type1->num_fields () == type2->num_fields ()). */
-static int
+static bool
ada_identical_enum_types_p (struct type *type1, struct type *type2)
{
int i;
@@ -4985,7 +4986,7 @@ ada_identical_enum_types_p (struct type *type1, struct type *type2)
/* All enums in the type should have an identical underlying value. */
for (i = 0; i < type1->num_fields (); i++)
if (type1->field (i).loc_enumval () != type2->field (i).loc_enumval ())
- return 0;
+ return false;
/* All enumerals should also have the same name (modulo any numerical
suffix). */
@@ -4999,10 +5000,10 @@ ada_identical_enum_types_p (struct type *type1, struct type *type2)
ada_remove_trailing_digits (name_1, &len_1);
ada_remove_trailing_digits (name_2, &len_2);
if (len_1 != len_2 || strncmp (name_1, name_2, len_1) != 0)
- return 0;
+ return false;
}
- return 1;
+ return true;
}
/* Return nonzero if all the symbols in SYMS are all enumeral symbols