diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-06-01 15:06:43 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-06-17 09:25:11 +0100 |
commit | f16a9f57b50af64ccb9652d20cc934fc5e80cd20 (patch) | |
tree | 95552dfa5130729f03508ec0ee10235ea1c1113f /gdb/ada-lang.c | |
parent | 7e56227dfffddbbb5b648c386c85345929fa0529 (diff) | |
download | gdb-f16a9f57b50af64ccb9652d20cc934fc5e80cd20.zip gdb-f16a9f57b50af64ccb9652d20cc934fc5e80cd20.tar.gz gdb-f16a9f57b50af64ccb9652d20cc934fc5e80cd20.tar.bz2 |
gdb: Convert language la_watch_location_expression field to a method
This commit changes the language_data::la_watch_location_expression
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_watch_location_expression): Rename to
ada_language::watch_location_expression.
(ada_language_data): Delete la_watch_location_expression
initializer.
(ada_language::watch_location_expression): New member function,
implementation from ada_watch_location_expression.
* breakpoint.c (watch_command_1): Update call to
watch_location_expression.
* c-lang.c (c_watch_location_expression): Rename to
language_defn::watch_location_expression.
(c_language_data): Delete la_watch_location_expression
initializer.
(cplus_language_data): Likewise.
(asm_language_data): Likewise.
(minimal_language_data): Likewise.
* c-lang.h (c_watch_location_expression): Delete declaration.
* d-lang.c (d_language_data): Delete la_watch_location_expression
initializer.
* f-lang.c (f_language_data): Likewise.
* go-lang.c (go_language_data): Likewise.
* language.c (language_defn::watch_location_expression): Member
function implementation from c_watch_location_expression.
(unknown_language_data): Delete la_watch_location_expression
initializer.
(auto_language_data): Likewise.
* language.h (language_data): Delete la_watch_location_expression
field.
(language_defn::watch_location_expression): Declare new member
function.
* m2-lang.c (m2_language_data): Delete
la_watch_location_expression initializer.
* objc-lang.c (objc_language_data): Likewise.
* opencl-lang.c (opencl_language_data): Likewise.
* p-lang.c (pascal_language_data): Likewise.
* rust-lang.c (rust_watch_location_expression): Rename to
rust_language::watch_location_expression.
(rust_language_data): Delete la_watch_location_expression
initializer.
(rust_language::watch_location_expression): New member function,
implementation from rust_watch_location_expression.
Diffstat (limited to 'gdb/ada-lang.c')
-rw-r--r-- | gdb/ada-lang.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index 306cf3a..392b1a6 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -488,17 +488,6 @@ add_angle_brackets (const char *str) return string_printf ("<%s>", str); } -/* la_watch_location_expression for Ada. */ - -static gdb::unique_xmalloc_ptr<char> -ada_watch_location_expression (struct type *type, CORE_ADDR addr) -{ - type = check_typedef (TYPE_TARGET_TYPE (check_typedef (type))); - std::string name = type_to_string (type); - return gdb::unique_xmalloc_ptr<char> - (xstrprintf ("{%s} %s", name.c_str (), core_addr_to_string (addr))); -} - /* Assuming V points to an array of S objects, make sure that it contains at least M objects, updating V and S as necessary. */ @@ -13783,7 +13772,6 @@ extern const struct language_data ada_language_data = ada_op_print_tab, /* expression operators for printing */ 0, /* c-style arrays */ 1, /* String lower bound */ - ada_watch_location_expression, &ada_varobj_ops, ada_is_string_type, "(...)" /* la_struct_too_deep_ellipsis */ @@ -14102,6 +14090,17 @@ public: } } + /* See language.h. */ + + gdb::unique_xmalloc_ptr<char> watch_location_expression + (struct type *type, CORE_ADDR addr) const override + { + type = check_typedef (TYPE_TARGET_TYPE (check_typedef (type))); + std::string name = type_to_string (type); + return gdb::unique_xmalloc_ptr<char> + (xstrprintf ("{%s} %s", name.c_str (), core_addr_to_string (addr))); + } + protected: /* See language.h. */ |