From 00c696a6e2c2b1ea7ab39a25b15b5c0af0e58278 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Fri, 14 Aug 2020 15:05:48 +0100 Subject: 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/valprint.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gdb/valprint.c') 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 -- cgit v1.1