diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-06-02 14:48:04 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-06-23 13:34:10 +0100 |
commit | 87afa6523b01cd6bdcc3903fe22953966cec7bb7 (patch) | |
tree | f97b950d1ff8b582383dad54e51e7bd65280ff7d /gdb/language.c | |
parent | 3084d7a27b8e4d13f0fdd0fac62ffadc9c2223b5 (diff) | |
download | binutils-87afa6523b01cd6bdcc3903fe22953966cec7bb7.zip binutils-87afa6523b01cd6bdcc3903fe22953966cec7bb7.tar.gz binutils-87afa6523b01cd6bdcc3903fe22953966cec7bb7.tar.bz2 |
gdb: Convert language la_parser field to a method
This commit changes the language_data::la_parser 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 (parse): Rename to ada_language::parser.
(ada_language_data): Delete la_parser initializer.
(ada_language::parser): New member function, implementation from
parse.
* c-lang.c (c_language_data): Delete la_parser initializer.
(cplus_language_data): Likewise.
(asm_language_data): Likewise.
(minimal_language_data): Likewise.
* d-lang.c (d_language_data): Likewise.
(d_language::parser): New member function.
* f-lang.c (f_language_data): Delete la_parser initializer.
(f_language::parser): New member function.
* go-lang.c (go_language_data): Delete la_parser initializer.
(go_language::parser): New member function.
* language.c (unk_lang_parser): Delete.
(language_defn::parser): Define new member function.
(unknown_language_data): Delete la_parser initializer.
(unknown_language::parser): New member function.
(auto_language_data): Delete la_parser initializer.
(auto_language::parser): New member function.
* language.h (language_data): Delete la_parser field.
(language_defn::parser): Declare new member function.
* m2-lang.c (m2_language_data): Delete la_parser initializer.
(m2_language::parser): New member function.
* objc-lang.c (objc_language_data): Delete la_parser initializer.
* opencl-lang.c (opencl_language_data): Likewise.
* p-lang.c (pascal_language_data): Likewise.
(pascal_language::parser): New member function.
* parse.c (parse_exp_in_context): Update call to parser.
* rust-lang.c (rust_language_data): Delete la_parser initializer.
(rust_language::parser): New member function.
Diffstat (limited to 'gdb/language.c')
-rw-r--r-- | gdb/language.c | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/gdb/language.c b/gdb/language.c index 0cbc7f0..828d21d 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -47,8 +47,6 @@ #include <algorithm> #include "gdbarch.h" -static int unk_lang_parser (struct parser_state *); - static void set_range_case (void); static void unk_lang_emit_char (int c, struct type *type, @@ -643,6 +641,14 @@ language_defn::value_print (struct value *val, struct ui_file *stream, /* See language.h. */ +int +language_defn::parser (struct parser_state *ps) const +{ + return c_parse (ps); +} + +/* See language.h. */ + void language_defn::value_print_inner (struct value *val, struct ui_file *stream, int recurse, @@ -718,12 +724,6 @@ default_is_string_type_p (struct type *type) /* Define the language that is no language. */ -static int -unk_lang_parser (struct parser_state *ps) -{ - return 1; -} - static void unk_lang_emit_char (int c, struct type *type, struct ui_file *stream, int quoter) @@ -777,7 +777,6 @@ extern const struct language_data unknown_language_data = macro_expansion_no, NULL, &exp_descriptor_standard, - unk_lang_parser, null_post_parser, unk_lang_printchar, /* Print character constant */ unk_lang_printstr, @@ -842,6 +841,14 @@ public: { error (_("unimplemented unknown_language::value_print_inner called")); } + + /* See language.h. */ + + int parser (struct parser_state *ps) const override + { + /* No parsing is done, just claim success. */ + return 1; + } }; /* Single instance of the unknown language class. */ @@ -861,7 +868,6 @@ extern const struct language_data auto_language_data = macro_expansion_no, NULL, &exp_descriptor_standard, - unk_lang_parser, null_post_parser, unk_lang_printchar, /* Print character constant */ unk_lang_printstr, @@ -926,6 +932,14 @@ public: { error (_("unimplemented auto_language::value_print_inner called")); } + + /* See language.h. */ + + int parser (struct parser_state *ps) const override + { + /* No parsing is done, just claim success. */ + return 1; + } }; /* Single instance of the fake "auto" language. */ |