diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-06-03 15:54:19 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-06-23 13:34:11 +0100 |
commit | 52b50f2c1b1eaf6fd6e685e2c9575f92c581a6dc (patch) | |
tree | e8c703b45b2074b1eb8f335c4c55387151d41d5b /gdb/language.c | |
parent | ec8cec5b96e2ebbd5e25a737c69d311970a8b219 (diff) | |
download | gdb-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/language.c')
-rw-r--r-- | gdb/language.c | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/gdb/language.c b/gdb/language.c index 6778646b..34990e0 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -49,9 +49,6 @@ static void set_range_case (void); -static void unk_lang_printchar (int c, struct type *type, - struct ui_file *stream); - /* The current (default at startup) state of type and range checking. (If the modes are set to "auto", though, these are changed based on the default language at startup, and then again based on the @@ -663,6 +660,15 @@ language_defn::emitchar (int ch, struct type *chtype, c_emit_char (ch, chtype, stream, quoter); } +/* See language.h. */ + +void +language_defn::printchar (int ch, struct type *chtype, + struct ui_file * stream) const +{ + c_printchar (ch, chtype, stream); +} + /* The default implementation of the get_symbol_name_matcher_inner method from the language_defn class. Matches with strncmp_iw. */ @@ -729,13 +735,6 @@ default_is_string_type_p (struct type *type) } static void -unk_lang_printchar (int c, struct type *type, struct ui_file *stream) -{ - error (_("internal error - unimplemented " - "function unk_lang_printchar called.")); -} - -static void unk_lang_printstr (struct ui_file *stream, struct type *type, const gdb_byte *string, unsigned int length, const char *encoding, int force_ellipses, @@ -773,7 +772,6 @@ extern const struct language_data unknown_language_data = macro_expansion_no, NULL, &exp_descriptor_standard, - unk_lang_printchar, /* Print character constant */ unk_lang_printstr, default_print_typedef, /* Print a typedef using appropriate syntax */ "this", /* name_of_this */ @@ -851,6 +849,14 @@ public: { error (_("unimplemented unknown_language::emitchar called")); } + + /* See language.h. */ + + void printchar (int ch, struct type *chtype, + struct ui_file *stream) const override + { + error (_("unimplemented unknown_language::printchar called")); + } }; /* Single instance of the unknown language class. */ @@ -870,7 +876,6 @@ extern const struct language_data auto_language_data = macro_expansion_no, NULL, &exp_descriptor_standard, - unk_lang_printchar, /* Print character constant */ unk_lang_printstr, default_print_typedef, /* Print a typedef using appropriate syntax */ "this", /* name_of_this */ @@ -948,6 +953,14 @@ public: { error (_("unimplemented auto_language::emitchar called")); } + + /* See language.h. */ + + void printchar (int ch, struct type *chtype, + struct ui_file *stream) const override + { + error (_("unimplemented auto_language::printchar called")); + } }; /* Single instance of the fake "auto" language. */ |