[binutils-gdb] Simplify ada_parse_renaming
Tom Tromey via Gdb-cvs <[email protected]> Fri, 24 Jul 2026 13:30:27 +0000 (GMT)
| Newsgroups | gmane.comp.gdb.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D92604d6e1feb= 5929e349d1435253eeb4ac4fa2c8 commit 92604d6e1feb5929e349d1435253eeb4ac4fa2c8 Author: Tom Tromey <[email protected]> Date: Thu Jul 23 09:40:13 2026 -0600 Simplify ada_parse_renaming =20 While working on gnat-llvm, I found that ada_parse_renaming checks the "loc_class" of the symbol. This caused a problem with my WIP gnat-llvm patch, which emitted a renaming symbol as LOC_CONST. =20 I've since fixed my gnat-llvm patch; but nevertheless it seems to me that there's no need to check this. In Ada, no user-provided symbol will have an "___XR" substring, as such symbols are all lower-cased. =20 This patch removes the check, simplifying ada_parse_renaming. =20 Approved-By: Andrew Burgess <[email protected]> Diff: --- gdb/ada-lang.c | 50 ++++++++++++++++++++------------------------------ 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 3efe932c823..3c6c9af488f 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -4395,43 +4395,33 @@ ada_parse_renaming (struct symbol *sym, const char **renaming_expr) { enum ada_renaming_category kind; - const char *info; const char *suffix; =20 if (sym =3D=3D NULL) return ADA_NOT_RENAMING; - switch (sym->loc_class ()) + const char *info =3D strstr (sym->linkage_name (), "___XR"); + if (info =3D=3D nullptr) + return ADA_NOT_RENAMING; + switch (info[5]) { + case '_': + kind =3D ADA_OBJECT_RENAMING; + info +=3D 6; + break; + case 'E': + kind =3D ADA_EXCEPTION_RENAMING; + info +=3D 7; + break; + case 'P': + kind =3D ADA_PACKAGE_RENAMING; + info +=3D 7; + break; + case 'S': + kind =3D ADA_SUBPROGRAM_RENAMING; + info +=3D 7; + break; default: return ADA_NOT_RENAMING; - case LOC_LOCAL: - case LOC_STATIC: - case LOC_COMPUTED: - case LOC_OPTIMIZED_OUT: - info =3D strstr (sym->linkage_name (), "___XR"); - if (info =3D=3D NULL) - return ADA_NOT_RENAMING; - switch (info[5]) - { - case '_': - kind =3D ADA_OBJECT_RENAMING; - info +=3D 6; - break; - case 'E': - kind =3D ADA_EXCEPTION_RENAMING; - info +=3D 7; - break; - case 'P': - kind =3D ADA_PACKAGE_RENAMING; - info +=3D 7; - break; - case 'S': - kind =3D ADA_SUBPROGRAM_RENAMING; - info +=3D 7; - break; - default: - return ADA_NOT_RENAMING; - } } =20 if (renamed_entity !=3D NULL)