From 52b50f2c1b1eaf6fd6e685e2c9575f92c581a6dc Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Wed, 3 Jun 2020 15:54:19 +0100 Subject: gdb: Convert language la_printchar field to a method This commit changes the language_data::la_printchar function pointer member variable into a member function of language_defn. There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_language_data): Delete la_printchar initializer. (ada_language::printchar): New member function. * c-lang.c (c_language_data): Delete la_printchar initializer. (cplus_language_data): Likewise. (asm_language_data): Likewise. (minimal_language_data): Likewise. * d-lang.c (d_language_data): Likewise. * f-lang.c (f_printchar): Rename to f_language::printchar. (f_language_data): Delete la_printchar initializer. (f_language::printchar): New member function, implementation from f_printchar. * go-lang.c (go_language_data): Delete la_printchar initializer. * language.c (unk_lang_printchar): Delete. (language_defn::printchar): Define new member function. (unknown_language_data): Delete la_printchar initializer. (unknown_language::printchar): New member function. (auto_language_data): Delete la_printchar initializer. (auto_language::printchar): New member function. * language.h (language_data): Delete la_printchar field. (language_defn::printchar): Declare new member function. (LA_PRINT_CHAR): Update call to printchar. * m2-lang.c (m2_language_data): Delete la_printchar initializer. (m2_language::printchar): New member function. * objc-lang.c (objc_language_data): Delete la_printchar initializer. * opencl-lang.c (opencl_language_data): Likewise. * p-lang.c (pascal_language_data): Delete la_printchar initializer. (pascal_language::printchar): New member function. * rust-lang.c (rust_printchar): Rename to rust_language::printchar. (rust_language_data): Delete la_printchar initializer. (rust_language::printchar): New member function, implementation from rust_printchar. --- gdb/rust-lang.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'gdb/rust-lang.c') diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index 2d6cb8b..36e2617 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -281,16 +281,6 @@ rust_get_trait_object_pointer (struct value *value) -/* la_printchar implementation for Rust. */ - -static void -rust_printchar (int c, struct type *type, struct ui_file *stream) -{ - fputs_filtered ("'", stream); - LA_EMIT_CHAR (c, type, stream, '\''); - fputs_filtered ("'", stream); -} - /* la_printstr implementation for Rust. */ static void @@ -1963,7 +1953,6 @@ extern const struct language_data rust_language_data = macro_expansion_no, rust_extensions, &exp_descriptor_rust, - rust_printchar, /* Print a character constant */ rust_printstr, /* Function to print string constant */ rust_print_typedef, /* Print a typedef using appropriate syntax */ NULL, /* name_of_this */ @@ -2146,6 +2135,16 @@ public: else fprintf_filtered (stream, "\\u{%06x}", ch); } + + /* See language.h. */ + + void printchar (int ch, struct type *chtype, + struct ui_file *stream) const override + { + fputs_filtered ("'", stream); + LA_EMIT_CHAR (ch, chtype, stream, '\''); + fputs_filtered ("'", stream); + } }; /* Single instance of the Rust language class. */ -- cgit v1.1