summaryrefslogtreecommitdiff
path: root/gdb/h8300-tdep.c
diff options
context:
space:
mode:
authorAndrew Burgess <aburgess@redhat.com>2022-08-31 13:32:59 +0100
committerAndrew Burgess <aburgess@redhat.com>2022-10-02 14:21:25 +0100
commit9b9e61c7cf49abdf9c2703c4d1f555d762c6e49f (patch)
tree72ea91b5f98c1da25d5fde14425980aebd71a1b4 /gdb/h8300-tdep.c
parent7ac20d65a8d0c9cdb329d49e8d9e58e38c39fec4 (diff)
downloadbinutils-gdb-9b9e61c7cf49abdf9c2703c4d1f555d762c6e49f.tar.gz
gdb: final cleanup of various gdbarch_register_name methods
Building on the previous commits, this commit goes through the various gdbarch_register_name methods and removes all the remaining 'return NULL' cases, I claim that these either couldn't be hit, or should be returning the empty string. In all cases the return of NULL was used if the register number being passed to gdbarch_register_name was "invalid", i.e. negative, or greater than the total number of declared registers. I don't believe either of these cases can occur, and the previous commit asserts that this is the case. As a result we can simplify the code by removing these checks. In many cases, where the register names are held in an array, I was able to add a static assert that the array contains the correct number of strings, after that, a direct access into the array is fine. I don't have any means of testing these changes.
Diffstat (limited to 'gdb/h8300-tdep.c')
-rw-r--r--gdb/h8300-tdep.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c
index 0bf1dab9402..ed401ee45f8 100644
--- a/gdb/h8300-tdep.c
+++ b/gdb/h8300-tdep.c
@@ -933,13 +933,8 @@ static const char *
h8300_register_name_common (const char *regnames[], int numregs,
struct gdbarch *gdbarch, int regno)
{
- if (regno < 0
- || regno >= numregs)
- internal_error (__FILE__, __LINE__,
- _("h8300_register_name_common: illegal register number %d"),
- regno);
- else
- return regnames[regno];
+ gdb_assert (numregs == gdbarch_num_cooked_regs (gdbarch));
+ return regnames[regno];
}
static const char *