aboutsummaryrefslogtreecommitdiff
path: root/gdb/f-lang.c
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2020-06-03 15:54:19 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2020-06-23 13:34:11 +0100
commit52b50f2c1b1eaf6fd6e685e2c9575f92c581a6dc (patch)
treee8c703b45b2074b1eb8f335c4c55387151d41d5b /gdb/f-lang.c
parentec8cec5b96e2ebbd5e25a737c69d311970a8b219 (diff)
downloadgdb-52b50f2c1b1eaf6fd6e685e2c9575f92c581a6dc.zip
gdb-52b50f2c1b1eaf6fd6e685e2c9575f92c581a6dc.tar.gz
gdb-52b50f2c1b1eaf6fd6e685e2c9575f92c581a6dc.tar.bz2
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.
Diffstat (limited to 'gdb/f-lang.c')
-rw-r--r--gdb/f-lang.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index 90b2e86..68d0a4e 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -41,8 +41,6 @@
/* Local functions */
-static void f_printchar (int c, struct type *type, struct ui_file * stream);
-
/* Return the encoding that should be used for the character type
TYPE. */
@@ -70,16 +68,6 @@ f_get_encoding (struct type *type)
return encoding;
}
-/* Implementation of la_printchar. */
-
-static void
-f_printchar (int c, struct type *type, struct ui_file *stream)
-{
- fputs_filtered ("'", stream);
- LA_EMIT_CHAR (c, type, stream, '\'');
- fputs_filtered ("'", stream);
-}
-
/* Print the character string STRING, printing at most LENGTH characters.
Printing stops early if the number hits print_max; repeat counts
are printed as appropriate. Print ellipses at the end if we
@@ -548,7 +536,6 @@ extern const struct language_data f_language_data =
macro_expansion_no,
f_extensions,
&exp_descriptor_f,
- f_printchar, /* Print character constant */
f_printstr, /* function to print string constant */
f_print_typedef, /* Print a typedef using appropriate syntax */
NULL, /* name_of_this */
@@ -710,6 +697,16 @@ public:
generic_emit_char (ch, chtype, stream, quoter, encoding);
}
+ /* 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);
+ }
+
protected:
/* See language.h. */