forked from Imagelibrary/binutils-gdb
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.
This commit is contained in:
@@ -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) \
|
||||
|
||||
Reference in New Issue
Block a user