diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-08-14 15:05:48 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-10-23 10:57:14 +0100 |
commit | 00c696a6e2c2b1ea7ab39a25b15b5c0af0e58278 (patch) | |
tree | 54a16767b4983461168add0cd1068d37de00f7fc | |
parent | d3b67c56fa2ec8fd3664e0d9bf6648f4dd4222d8 (diff) | |
download | gdb-00c696a6e2c2b1ea7ab39a25b15b5c0af0e58278.zip gdb-00c696a6e2c2b1ea7ab39a25b15b5c0af0e58278.tar.gz gdb-00c696a6e2c2b1ea7ab39a25b15b5c0af0e58278.tar.bz2 |
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.
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/ada-lang.c | 2 | ||||
-rw-r--r-- | gdb/language.c | 2 | ||||
-rw-r--r-- | gdb/language.h | 3 | ||||
-rw-r--r-- | gdb/valprint.c | 2 |
5 files changed, 12 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index c517470..ec1bdca 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,14 @@ 2020-10-23 Andrew Burgess <andrew.burgess@embecosm.com> + * 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. + +2020-10-23 Andrew Burgess <andrew.burgess@embecosm.com> + * language.h (LA_PRINT_TYPEDEF): Delete. * typeprint.c (typedef_print): Call print_typedef directly on the current_language object. diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index be6d0e1..3a74de1 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -13721,7 +13721,7 @@ public: { struct value *index_value = val_atr (index_type, index); - LA_VALUE_PRINT (index_value, stream, options); + value_print (index_value, stream, options); fprintf_filtered (stream, " => "); } diff --git a/gdb/language.c b/gdb/language.c index ffc1e85..4053cb7 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -622,7 +622,7 @@ language_defn::print_array_index (struct type *index_type, LONGEST index, struct value *index_value = value_from_longest (index_type, index); fprintf_filtered (stream, "["); - LA_VALUE_PRINT (index_value, stream, options); + value_print (index_value, stream, options); fprintf_filtered (stream, "] = "); } diff --git a/gdb/language.h b/gdb/language.h index 3452149..c85f90f 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -644,9 +644,6 @@ extern enum language set_language (enum language); #define LA_PRINT_TYPE(type,varstring,stream,show,level,flags) \ (current_language->print_type(type,varstring,stream,show,level,flags)) -#define LA_VALUE_PRINT(val,stream,options) \ - (current_language->value_print (val,stream,options)) - #define LA_PRINT_CHAR(ch, type, stream) \ (current_language->printchar (ch, type, stream)) #define LA_PRINT_STRING(stream, elttype, string, length, encoding, force_ellipses, options) \ diff --git a/gdb/valprint.c b/gdb/valprint.c index dd70a1a..880d04f 100644 --- a/gdb/valprint.c +++ b/gdb/valprint.c @@ -1138,7 +1138,7 @@ value_print (struct value *val, struct ui_file *stream, return; } - LA_VALUE_PRINT (val, stream, options); + current_language->value_print (val, stream, options); } static void |