From 76ca72bc5b72ac0bbab239bda41cd61f6cb7d051 Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Tue, 20 Oct 2020 13:41:18 +0100 Subject: [PATCH] gdb: remove LA_EMIT_CHAR macro Now that every use of the LA_EMIT_CHAR macro is within a language_defn member function we can simply call the emitchar member function directly instead of using the LA_EMIT_CHAR macro. If we are ever inside a language object, for example, cplus_language, while current_language points at something other than cplus_language then this commit will result in a change in behaviour. However, I believe if we did have such a difference then this would be a bug in GDB. AS such I'm going to claim there _should_ be no user visible changes from this commit. gdb/ChangeLog: * c-lang.c (language_defn::printchar): Call emitchar, not LA_EMIT_CHAR. * f-lang.h (f_language::printchar): Likewise. * language.h (LA_EMIT_CHAR): Delete macro. * rust-lang.c (rust_language::printchar): Call emitchar, not LA_EMIT_CHAR. --- gdb/ChangeLog | 9 +++++++++ gdb/c-lang.c | 2 +- gdb/f-lang.h | 2 +- gdb/language.h | 2 -- gdb/rust-lang.c | 2 +- 5 files changed, 12 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 7c52f9b0bd0..d751b0da196 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +2020-12-23 Andrew Burgess + + * c-lang.c (language_defn::printchar): Call emitchar, not + LA_EMIT_CHAR. + * f-lang.h (f_language::printchar): Likewise. + * language.h (LA_EMIT_CHAR): Delete macro. + * rust-lang.c (rust_language::printchar): Call emitchar, not + LA_EMIT_CHAR. + 2020-12-23 Andrew Burgess * c-lang.c (c_printchar): Rename to... diff --git a/gdb/c-lang.c b/gdb/c-lang.c index a028d10e2bf..c840761d0d8 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -178,7 +178,7 @@ language_defn::printchar (int c, struct type *type, } fputc_filtered ('\'', stream); - LA_EMIT_CHAR (c, type, stream, '\''); + emitchar (c, type, stream, '\''); fputc_filtered ('\'', stream); } diff --git a/gdb/f-lang.h b/gdb/f-lang.h index 351f2191c16..51ee6f67d07 100644 --- a/gdb/f-lang.h +++ b/gdb/f-lang.h @@ -155,7 +155,7 @@ public: struct ui_file *stream) const override { fputs_filtered ("'", stream); - LA_EMIT_CHAR (ch, chtype, stream, '\''); + emitchar (ch, chtype, stream, '\''); fputs_filtered ("'", stream); } diff --git a/gdb/language.h b/gdb/language.h index 73ddd24f228..af7bd4f7fba 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -775,8 +775,6 @@ extern enum language set_language (enum language); #define LA_PRINT_STRING(stream, elttype, string, length, encoding, force_ellipses, options) \ (current_language->printstr (stream, elttype, string, length, \ encoding, force_ellipses,options)) -#define LA_EMIT_CHAR(ch, type, stream, quoter) \ - (current_language->emitchar (ch, type, stream, quoter)) /* Test a character to decide whether it can be printed in literal form or needs to be printed in another representation. For example, diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index 3a9a4e7fd65..96ae075c734 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -2054,7 +2054,7 @@ public: struct ui_file *stream) const override { fputs_filtered ("'", stream); - LA_EMIT_CHAR (ch, chtype, stream, '\''); + emitchar (ch, chtype, stream, '\''); fputs_filtered ("'", stream); } -- 2.30.2