From: Tom Tromey Date: Mon, 9 Sep 2024 16:57:56 +0000 (-0600) Subject: Allow for anonymous Ada enumeration types X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=29faeceaa8a7833c1234f9980266c84c7c6b9d02;p=thirdparty%2Fbinutils-gdb.git Allow for anonymous Ada enumeration types With some forthcoming changes to GNAT, gdb might see a nameless enum in ada_resolve_enum, causing a crash. This patch allows an anonymous enum type to be considered identical to a named type when the contents are identical. --- diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index b7e24ef6b2c..95ceb10d3ab 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -3796,7 +3796,10 @@ ada_resolve_enum (std::vector &syms, for (int i = 0; i < syms.size (); ++i) { struct type *type2 = ada_check_typedef (syms[i].symbol->type ()); - if (strcmp (type1->name (), type2->name ()) != 0) + /* We let an anonymous enum type match a non-anonymous one. */ + if (type1->name () != nullptr + && type2->name () != nullptr + && strcmp (type1->name (), type2->name ()) != 0) continue; if (ada_identical_enum_types_p (type1, type2)) return i;