diff options
author | Andrew Burgess <aburgess@redhat.com> | 2022-08-31 13:32:59 +0100 |
---|---|---|
committer | Andrew Burgess <aburgess@redhat.com> | 2022-10-02 14:21:25 +0100 |
commit | 9b9e61c7cf49abdf9c2703c4d1f555d762c6e49f (patch) | |
tree | 72ea91b5f98c1da25d5fde14425980aebd71a1b4 /gdb/avr-tdep.c | |
parent | 7ac20d65a8d0c9cdb329d49e8d9e58e38c39fec4 (diff) | |
download | gdb-9b9e61c7cf49abdf9c2703c4d1f555d762c6e49f.zip gdb-9b9e61c7cf49abdf9c2703c4d1f555d762c6e49f.tar.gz gdb-9b9e61c7cf49abdf9c2703c4d1f555d762c6e49f.tar.bz2 |
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/avr-tdep.c')
-rw-r--r-- | gdb/avr-tdep.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c index fa66d83..2d8f91f 100644 --- a/gdb/avr-tdep.c +++ b/gdb/avr-tdep.c @@ -216,10 +216,8 @@ avr_register_name (struct gdbarch *gdbarch, int regnum) "SREG", "SP", "PC2", "pc" }; - if (regnum < 0) - return NULL; - if (regnum >= (sizeof (register_names) / sizeof (*register_names))) - return NULL; + gdb_static_assert (ARRAY_SIZE (register_names) + == (AVR_NUM_REGS + AVR_NUM_PSEUDO_REGS)); return register_names[regnum]; } |