mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-24 12:35:55 +08:00
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:
parent
d3b67c56fa
commit
00c696a6e2
@ -1,3 +1,12 @@
|
||||
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.
|
||||
|
@ -13721,7 +13721,7 @@ class ada_language : public language_defn
|
||||
{
|
||||
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, " => ");
|
||||
}
|
||||
|
||||
|
@ -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, "] = ");
|
||||
}
|
||||
|
||||
|
@ -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) \
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user