gdb: remove LA_VALUE_PRINT macro
authorAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 14 Aug 2020 14:05:48 +0000 (15:05 +0100)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Fri, 23 Oct 2020 09:57:14 +0000 (10:57 +0100)
commit00c696a6e2c2b1ea7ab39a25b15b5c0af0e58278
tree54a16767b4983461168add0cd1068d37de00f7fc
parentd3b67c56fa2ec8fd3664e0d9bf6648f4dd4222d8
gdb: remove LA_VALUE_PRINT macro

Remove the LA_VALUE_PRINT macro, and replace its uses with direct
calls to the value_print member function on an appropriate language.

In the global 'value_print' function, we call the value_print method
on the current_language, this is a direct inline replacement of the
old LA_VALUE_PRINT macro.

However, in ada-lang.c, and language.c the macro was being used
within the print_array_index member function of a language class.  In
these cases we now call the value_print member function of the current
language class.

In theory, when we are inside (for example) the
ada_language::print_array_index function the current_language should
always be set to Ada, so this change should have no effect.  However,
if we ever could get into ada_language::print_array_index with the
current language set to something else (which I think would have been
a bug) then we would now see a change in behaviour.  I couldn't find
any cases where this happened though.

There should be no user visible changes after this commit, but it is
not impossible in some edge cases.

gdb/ChangeLog:

* ada-lang.c (ada_language::print_array_index): Call value_print
directly.
* language.c (language_defn::print_array_index): Likewise.
* language.h (LA_VALUE_PRINT): Delete.
* valprint.c (value_print): Call value_print on the
current_language directly.
gdb/ChangeLog
gdb/ada-lang.c
gdb/language.c
gdb/language.h
gdb/valprint.c