From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1726) id 5E99E3858298; Sun, 2 Oct 2022 16:28:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5E99E3858298 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1664728096; bh=nMX+LdVqOqBdA4h5hd4vzd9fPnfF2W11fnGQHOa/rGQ=; h=From:To:Subject:Date:From; b=jRbsd6erSo2OGJVrukGiTCU5Ow+mye8crVhUX715KH9SH9mQXUx5NdOLcjJAknSxS bS3O105oStK6xlzenszeLacpDUJCVJUCiZiE5Mzox1n9ZzAOM8Dk+piOqhvM2ta7FP Qd61R8KSnTmuh2AnjMic1bVckJ111fHXybbR4fMQ= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Andrew Burgess To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdb: update now gdbarch_register_name doesn't return nullptr X-Act-Checkin: binutils-gdb X-Git-Author: Andrew Burgess X-Git-Refname: refs/heads/master X-Git-Oldrev: 9b9e61c7cf49abdf9c2703c4d1f555d762c6e49f X-Git-Newrev: 637b2f86138a8ec0ab0fe89d3e4c5c111559d7f2 Message-Id: <20221002162816.5E99E3858298@sourceware.org> Date: Sun, 2 Oct 2022 16:28:16 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D637b2f86138a= 8ec0ab0fe89d3e4c5c111559d7f2 commit 637b2f86138a8ec0ab0fe89d3e4c5c111559d7f2 Author: Andrew Burgess Date: Wed Aug 31 15:42:43 2022 +0100 gdb: update now gdbarch_register_name doesn't return nullptr =20 After the previous few commit, gdbarch_register_name no longer returns nullptr. This commit audits all the calls to gdbarch_register_name and removes any code that checks the result against nullptr. =20 There should be no visible change after this commit. Diff: --- gdb/alpha-tdep.c | 3 +-- gdb/arch-utils.c | 3 +-- gdb/csky-tdep.c | 3 +-- gdb/h8300-tdep.c | 2 +- gdb/infcmd.c | 3 +-- gdb/m68hc11-tdep.c | 2 +- gdb/mi/mi-main.c | 20 ++++++-------------- gdb/mips-tdep.c | 8 ++------ gdb/nds32-tdep.c | 3 +-- gdb/regcache.c | 5 +---- gdb/reggroups.c | 3 +-- gdb/riscv-tdep.c | 9 +++------ gdb/sh-tdep.c | 3 +-- gdb/tui/tui-regs.c | 4 ++-- gdb/user-regs.c | 10 +++------- gdb/valops.c | 2 +- 16 files changed, 27 insertions(+), 56 deletions(-) diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c index d30e0c369cc..9b3dbca8cde 100644 --- a/gdb/alpha-tdep.c +++ b/gdb/alpha-tdep.c @@ -140,8 +140,7 @@ alpha_register_reggroup_p (struct gdbarch *gdbarch, int= regnum, { /* Filter out any registers eliminated, but whose regnum is=20 reserved for backward compatibility, e.g. the vfp. */ - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *gdbarch_register_name (gdbarch, regnum) =3D=3D '\0') + if (*gdbarch_register_name (gdbarch, regnum) =3D=3D '\0') return 0; =20 if (group =3D=3D all_reggroup) diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index 5943965bd75..77269425ddc 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -76,8 +76,7 @@ legacy_register_sim_regno (struct gdbarch *gdbarch, int r= egnum) suspected that some GDB/SIM combinations may rely on this behaviour. The default should be one2one_register_sim_regno (below). */ - if (gdbarch_register_name (gdbarch, regnum) !=3D NULL - && gdbarch_register_name (gdbarch, regnum)[0] !=3D '\0') + if (gdbarch_register_name (gdbarch, regnum)[0] !=3D '\0') return regnum; else return LEGACY_SIM_REGNO_IGNORE; diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c index 17820aab6eb..cc8812003c8 100644 --- a/gdb/csky-tdep.c +++ b/gdb/csky-tdep.c @@ -2353,8 +2353,7 @@ csky_register_reggroup_p (struct gdbarch *gdbarch, in= t regnum, { int raw_p; =20 - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || gdbarch_register_name (gdbarch, regnum)[0] =3D=3D '\0') + if (gdbarch_register_name (gdbarch, regnum)[0] =3D=3D '\0') return 0; =20 if (reggroup =3D=3D all_reggroup) diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index ed401ee45f8..8f8461fe61d 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -996,7 +996,7 @@ h8300_print_register (struct gdbarch *gdbarch, struct u= i_file *file, LONGEST rval; const char *name =3D gdbarch_register_name (gdbarch, regno); =20 - if (!name || !*name) + if (*name =3D=3D '\0') return; =20 rval =3D get_frame_register_signed (frame, regno); diff --git a/gdb/infcmd.c b/gdb/infcmd.c index b788f454432..decd61111b7 100644 --- a/gdb/infcmd.c +++ b/gdb/infcmd.c @@ -2224,8 +2224,7 @@ default_print_registers_info (struct gdbarch *gdbarch, =20 /* If the register name is empty, it is undefined for this processor, so don't display anything. */ - if (gdbarch_register_name (gdbarch, i) =3D=3D NULL - || *(gdbarch_register_name (gdbarch, i)) =3D=3D '\0') + if (*(gdbarch_register_name (gdbarch, i)) =3D=3D '\0') continue; =20 default_print_one_register_info (file, diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c index f5e33e7a0f1..343ecf5c262 100644 --- a/gdb/m68hc11-tdep.c +++ b/gdb/m68hc11-tdep.c @@ -1090,7 +1090,7 @@ m68hc11_print_registers_info (struct gdbarch *gdbarch= , struct ui_file *file, { const char *name =3D gdbarch_register_name (gdbarch, regno); =20 - if (!name || !*name) + if (*name =3D=3D '\0') return; =20 gdb_printf (file, "%-10s ", name); diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index b758f398e2a..80b5cd9bf90 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -880,8 +880,7 @@ mi_cmd_data_list_register_names (const char *command, c= har **argv, int argc) regnum < numregs; regnum++) { - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') + if (*(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') uiout->field_string (NULL, ""); else uiout->field_string (NULL, gdbarch_register_name (gdbarch, regnum)); @@ -895,8 +894,7 @@ mi_cmd_data_list_register_names (const char *command, c= har **argv, int argc) if (regnum < 0 || regnum >=3D numregs) error (_("bad register number")); =20 - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') + if (*(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') uiout->field_string (NULL, ""); else uiout->field_string (NULL, gdbarch_register_name (gdbarch, regnum)); @@ -940,8 +938,7 @@ mi_cmd_data_list_changed_registers (const char *command= , char **argv, int argc) regnum < numregs; regnum++) { - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') + if (*(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') continue; =20 if (register_changed_p (regnum, prev_regs.get (), @@ -957,7 +954,6 @@ mi_cmd_data_list_changed_registers (const char *command= , char **argv, int argc) =20 if (regnum >=3D 0 && regnum < numregs - && gdbarch_register_name (gdbarch, regnum) !=3D NULL && *gdbarch_register_name (gdbarch, regnum) !=3D '\000') { if (register_changed_p (regnum, prev_regs.get (), @@ -1067,8 +1063,7 @@ mi_cmd_data_list_register_values (const char *command= , char **argv, int argc) regnum < numregs; regnum++) { - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') + if (*(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') continue; =20 output_register (frame, regnum, format, skip_unavailable); @@ -1082,7 +1077,6 @@ mi_cmd_data_list_register_values (const char *command= , char **argv, int argc) =20 if (regnum >=3D 0 && regnum < numregs - && gdbarch_register_name (gdbarch, regnum) !=3D NULL && *gdbarch_register_name (gdbarch, regnum) !=3D '\000') output_register (frame, regnum, format, skip_unavailable); else @@ -1163,8 +1157,7 @@ mi_cmd_data_write_register_values (const char *comman= d, char **argv, int argc) int regnum =3D atoi (argv[i]); =20 if (regnum >=3D 0 && regnum < numregs - && gdbarch_register_name (gdbarch, regnum) - && *gdbarch_register_name (gdbarch, regnum)) + && *gdbarch_register_name (gdbarch, regnum) !=3D '\0') { LONGEST value; =20 @@ -2632,8 +2625,7 @@ mi_cmd_trace_frame_collected (const char *command, ch= ar **argv, int argc) =20 for (regnum =3D 0; regnum < numregs; regnum++) { - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') + if (*(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') continue; =20 output_register (frame, regnum, registers_format, 1); diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index 14f5c3e4e72..c5bd73ce780 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -712,8 +712,7 @@ mips_register_reggroup_p (struct gdbarch *gdbarch, int = regnum, /* FIXME: cagney/2003-04-13: Can't yet use gdbarch_num_regs (gdbarch), as not all architectures are multi-arch. */ raw_p =3D rawnum < gdbarch_num_regs (gdbarch); - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || gdbarch_register_name (gdbarch, regnum)[0] =3D=3D '\0') + if (gdbarch_register_name (gdbarch, regnum)[0] =3D=3D '\0') return 0; if (reggroup =3D=3D float_reggroup) return float_p && pseudo; @@ -7952,10 +7951,7 @@ mips_register_sim_regno (struct gdbarch *gdbarch, in= t regnum) decide if it is valid. Should instead define a standard sim/gdb register numbering scheme. */ if (gdbarch_register_name (gdbarch, - gdbarch_num_regs (gdbarch) + regnum) !=3D NULL - && gdbarch_register_name (gdbarch, - gdbarch_num_regs (gdbarch) - + regnum)[0] !=3D '\0') + gdbarch_num_regs (gdbarch) + regnum)[0] !=3D '\0') return regnum; else return LEGACY_SIM_REGNO_IGNORE; diff --git a/gdb/nds32-tdep.c b/gdb/nds32-tdep.c index 77eb5da863e..962584a3683 100644 --- a/gdb/nds32-tdep.c +++ b/gdb/nds32-tdep.c @@ -2030,8 +2030,7 @@ nds32_gdbarch_init (struct gdbarch_info info, struct = gdbarch_list *arches) { const char *regname =3D gdbarch_register_name (gdbarch, j); =20 - if (regname !=3D NULL - && strcmp (regname, nds32_register_aliases[i].name) =3D=3D 0) + if (strcmp (regname, nds32_register_aliases[i].name) =3D=3D 0) { regnum =3D j; break; diff --git a/gdb/regcache.c b/gdb/regcache.c index b0e92dd0077..279bf2258a9 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -1392,7 +1392,6 @@ regcache::debug_print_register (const char *func, in= t regno) =20 gdb_printf (gdb_stdlog, "%s ", func); if (regno >=3D 0 && regno < gdbarch_num_regs (gdbarch) - && gdbarch_register_name (gdbarch, regno) !=3D NULL && gdbarch_register_name (gdbarch, regno)[0] !=3D '\0') gdb_printf (gdb_stdlog, "(%s)", gdbarch_register_name (gdbarch, regno)); @@ -1453,9 +1452,7 @@ register_dump::dump (ui_file *file) { const char *p =3D gdbarch_register_name (m_gdbarch, regnum); =20 - if (p =3D=3D NULL) - p =3D ""; - else if (p[0] =3D=3D '\0') + if (p[0] =3D=3D '\0') p =3D "''"; gdb_printf (file, " %-10s", p); } diff --git a/gdb/reggroups.c b/gdb/reggroups.c index b81031b42ac..8e4af303c54 100644 --- a/gdb/reggroups.c +++ b/gdb/reggroups.c @@ -146,8 +146,7 @@ default_register_reggroup_p (struct gdbarch *gdbarch, i= nt regnum, int float_p; int raw_p; =20 - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *gdbarch_register_name (gdbarch, regnum) =3D=3D '\0') + if (*gdbarch_register_name (gdbarch, regnum) =3D=3D '\0') return 0; if (group =3D=3D all_reggroup) return 1; diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index 7bddf535804..47d8f9e601b 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -1352,8 +1352,7 @@ riscv_register_reggroup_p (struct gdbarch *gdbarch, = int regnum, =20 /* Used by 'info registers' and 'info registers '. */ =20 - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || gdbarch_register_name (gdbarch, regnum)[0] =3D=3D '\0') + if (gdbarch_register_name (gdbarch, regnum)[0] =3D=3D '\0') return 0; =20 if (regnum > RISCV_LAST_REGNUM && regnum < gdbarch_num_regs (gdbarch)) @@ -1478,8 +1477,7 @@ riscv_print_registers_info (struct gdbarch *gdbarch, if (regnum !=3D -1) { /* Print one specified register. */ - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') + if (*(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') error (_("Not a valid register for the current processor type")); riscv_print_one_register_info (gdbarch, file, frame, regnum); } @@ -1499,8 +1497,7 @@ riscv_print_registers_info (struct gdbarch *gdbarch, continue; =20 /* Registers with no name are not valid on this ISA. */ - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') + if (*(gdbarch_register_name (gdbarch, regnum)) =3D=3D '\0') continue; =20 /* Is the register in the group we're interested in? */ diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index 90f8aa4185c..b08e37117ae 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -1452,8 +1452,7 @@ static int sh_register_reggroup_p (struct gdbarch *gdbarch, int regnum, const struct reggroup *reggroup) { - if (gdbarch_register_name (gdbarch, regnum) =3D=3D NULL - || *gdbarch_register_name (gdbarch, regnum) =3D=3D '\0') + if (*gdbarch_register_name (gdbarch, regnum) =3D=3D '\0') return 0; =20 if (reggroup =3D=3D float_reggroup diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c index 5106a3b9670..830df5427c7 100644 --- a/gdb/tui/tui-regs.c +++ b/gdb/tui/tui-regs.c @@ -231,7 +231,7 @@ tui_data_window::show_register_group (const reggroup *g= roup, /* If the register name is empty, it is undefined for this processor, so don't display anything. */ name =3D gdbarch_register_name (gdbarch, regnum); - if (name =3D=3D 0 || *name =3D=3D '\0') + if (*name =3D=3D '\0') continue; =20 nr_regs++; @@ -253,7 +253,7 @@ tui_data_window::show_register_group (const reggroup *g= roup, /* If the register name is empty, it is undefined for this processor, so don't display anything. */ name =3D gdbarch_register_name (gdbarch, regnum); - if (name =3D=3D 0 || *name =3D=3D '\0') + if (*name =3D=3D '\0') continue; =20 data_item_win =3D &m_regs_content[pos]; diff --git a/gdb/user-regs.c b/gdb/user-regs.c index 05bb04ef2ed..3030d952cf1 100644 --- a/gdb/user-regs.c +++ b/gdb/user-regs.c @@ -139,18 +139,14 @@ user_reg_map_name_to_regnum (struct gdbarch *gdbarch,= const char *name, /* Search register name space first - always let an architecture specific register override the user registers. */ { - int i; int maxregs =3D gdbarch_num_cooked_regs (gdbarch); =20 - for (i =3D 0; i < maxregs; i++) + for (int i =3D 0; i < maxregs; i++) { const char *regname =3D gdbarch_register_name (gdbarch, i); =20 - if (regname !=3D NULL && len =3D=3D strlen (regname) - && strncmp (regname, name, len) =3D=3D 0) - { - return i; - } + if (len =3D=3D strlen (regname) && strncmp (regname, name, len) =3D=3D 0) + return i; } } =20 diff --git a/gdb/valops.c b/gdb/valops.c index b4866d089ac..0a215d699a1 100644 --- a/gdb/valops.c +++ b/gdb/valops.c @@ -1417,7 +1417,7 @@ address_of_variable (struct symbol *var, const struct= block *b) =20 regname =3D gdbarch_register_name (get_frame_arch (frame), VALUE_REGNUM (val)); - gdb_assert (regname && *regname); + gdb_assert (regname !=3D nullptr && *regname !=3D '\0'); =20 error (_("Address requested for identifier " "\"%s\" which is in register $%s"),