diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-08-04 17:13:40 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-09-16 11:04:04 +0100 |
commit | 0e25e7672778082e2934c378403ad8b57249d80f (patch) | |
tree | c08caf151903117bb2faaf469544586e8147d7d1 | |
parent | b7c6e27dbbbbe678b2e2f0bf617605e055e1b378 (diff) | |
download | gdb-0e25e7672778082e2934c378403ad8b57249d80f.zip gdb-0e25e7672778082e2934c378403ad8b57249d80f.tar.gz gdb-0e25e7672778082e2934c378403ad8b57249d80f.tar.bz2 |
gdb: Remove language_data struct
The language_data type, from which language_defn inherits, is now
empty, and this commit removes it.
Each language is updated to no longer create and use a language_data
struct.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* ada-lang.c (ada_language_data): Delete.
(ada_language): Remove references to ada_language_data.
* c-lang.c (c_language_data): Delete.
(c_language): Remove references to c_language_data.
(cplus_language_data): Delete.
(cplus_language): Remove references to cplus_language_data.
(asm_language_data): Delete.
(asm_language): Remove references to asm_language_data.
(minimal_language_data): Delete.
(minimal_language): Remove references to minimal_language_data.
* d-lang.c (d_language_data): Delete.
(d_language): Remove references to d_language_data.
* f-lang.c (f_language_data): Delete.
(f_language): Remove references to f_language_data.
* go-lang.c (go_language_data): Delete.
(go_language): Remove references to go_language_data.
* language.c (unknown_language_data): Delete.
(unknown_language): Remove references to unknown_language_data.
(auto_language_data): Delete.
(auto_language): Remove references to auto_language_data.
* language.h (language_data): Delete struct.
(language_defn): No longer inherit from language_data.
* m2-lang.c (m2_language_data): Delete.
(m2_language): Remove references to m2_language_data.
* objc-lang.c (objc_language_data): Delete.
(objc_language): Remove references to objc_language_data.
* opencl-lang.c (opencl_language_data): Delete.
(opencl_language): Remove references to opencl_language_data.
* p-lang.c (pascal_language_data): Delete.
(pascal_language): Remove references to pascal_language_data.
* rust-lang.c (rust_language_data): Delete.
(rust_language): Remove references to rust_language_data.
-rw-r--r-- | gdb/ChangeLog | 35 | ||||
-rw-r--r-- | gdb/ada-lang.c | 8 | ||||
-rw-r--r-- | gdb/c-lang.c | 38 | ||||
-rw-r--r-- | gdb/d-lang.c | 8 | ||||
-rw-r--r-- | gdb/f-lang.c | 8 | ||||
-rw-r--r-- | gdb/go-lang.c | 8 | ||||
-rw-r--r-- | gdb/language.c | 16 | ||||
-rw-r--r-- | gdb/language.h | 25 | ||||
-rw-r--r-- | gdb/m2-lang.c | 8 | ||||
-rw-r--r-- | gdb/objc-lang.c | 8 | ||||
-rw-r--r-- | gdb/opencl-lang.c | 7 | ||||
-rw-r--r-- | gdb/p-lang.c | 8 | ||||
-rw-r--r-- | gdb/rust-lang.c | 8 |
13 files changed, 56 insertions, 129 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f1fcbcf..bf73755 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,40 @@ 2020-09-16 Andrew Burgess <andrew.burgess@embecosm.com> + * ada-lang.c (ada_language_data): Delete. + (ada_language): Remove references to ada_language_data. + * c-lang.c (c_language_data): Delete. + (c_language): Remove references to c_language_data. + (cplus_language_data): Delete. + (cplus_language): Remove references to cplus_language_data. + (asm_language_data): Delete. + (asm_language): Remove references to asm_language_data. + (minimal_language_data): Delete. + (minimal_language): Remove references to minimal_language_data. + * d-lang.c (d_language_data): Delete. + (d_language): Remove references to d_language_data. + * f-lang.c (f_language_data): Delete. + (f_language): Remove references to f_language_data. + * go-lang.c (go_language_data): Delete. + (go_language): Remove references to go_language_data. + * language.c (unknown_language_data): Delete. + (unknown_language): Remove references to unknown_language_data. + (auto_language_data): Delete. + (auto_language): Remove references to auto_language_data. + * language.h (language_data): Delete struct. + (language_defn): No longer inherit from language_data. + * m2-lang.c (m2_language_data): Delete. + (m2_language): Remove references to m2_language_data. + * objc-lang.c (objc_language_data): Delete. + (objc_language): Remove references to objc_language_data. + * opencl-lang.c (opencl_language_data): Delete. + (opencl_language): Remove references to opencl_language_data. + * p-lang.c (pascal_language_data): Delete. + (pascal_language): Remove references to pascal_language_data. + * rust-lang.c (rust_language_data): Delete. + (rust_language): Remove references to rust_language_data. + +2020-09-16 Andrew Burgess <andrew.burgess@embecosm.com> + * ada-lang.c (ada_language_data): Remove la_op_print_tab initializer. (ada_language::opcode_print_table): New member function. diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index edf0d6b..0df406b 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -13704,19 +13704,13 @@ ada_get_symbol_name_matcher (const lookup_name_info &lookup_name) } } -/* Constant data that describes the Ada language. */ - -extern const struct language_data ada_language_data = -{ -}; - /* Class representing the Ada language. */ class ada_language : public language_defn { public: ada_language () - : language_defn (language_ada, ada_language_data) + : language_defn (language_ada) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/c-lang.c b/gdb/c-lang.c index 73968ed..4e94243 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -871,19 +871,13 @@ const struct exp_descriptor exp_descriptor_c = evaluate_subexp_c }; -/* Constant data that describes the C language. */ - -extern const struct language_data c_language_data = -{ -}; - /* Class representing the C language. */ class c_language : public language_defn { public: c_language () - : language_defn (language_c, c_language_data) + : language_defn (language_c) { /* Nothing. */ } /* See language.h. */ @@ -989,19 +983,13 @@ enum cplus_primitive_types { nr_cplus_primitive_types }; -/* Constant data that describes the C++ language. */ - -extern const struct language_data cplus_language_data = -{ -}; - /* A class for the C++ language. */ class cplus_language : public language_defn { public: cplus_language () - : language_defn (language_cplus, cplus_language_data) + : language_defn (language_cplus) { /* Nothing. */ } /* See language.h. */ @@ -1210,19 +1198,13 @@ protected: static cplus_language cplus_language_defn; -/* Constant data that describes the ASM language. */ - -extern const struct language_data asm_language_data = -{ -}; - /* A class for the ASM language. */ class asm_language : public language_defn { public: asm_language () - : language_defn (language_asm, asm_language_data) + : language_defn (language_asm) { /* Nothing. */ } /* See language.h. */ @@ -1286,22 +1268,16 @@ public: /* The single instance of the ASM language class. */ static asm_language asm_language_defn; -/* The following language_defn does not represent a real language. - It just provides a minimal support a-la-C that should allow users - to do some simple operations when debugging applications that use +/* A class for the minimal language. This does not represent a real + language. It just provides a minimal support a-la-C that should allow + users to do some simple operations when debugging applications that use a language currently not supported by GDB. */ -extern const struct language_data minimal_language_data = -{ -}; - -/* A class for the minimal language. */ - class minimal_language : public language_defn { public: minimal_language () - : language_defn (language_minimal, minimal_language_data) + : language_defn (language_minimal) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/d-lang.c b/gdb/d-lang.c index f996786..f9f1a66 100644 --- a/gdb/d-lang.c +++ b/gdb/d-lang.c @@ -124,19 +124,13 @@ enum d_primitive_types { nr_d_primitive_types }; -/* Constant data that describes the D language. */ - -extern const struct language_data d_language_data = -{ -}; - /* Class representing the D language. */ class d_language : public language_defn { public: d_language () - : language_defn (language_d, d_language_data) + : language_defn (language_d) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/f-lang.c b/gdb/f-lang.c index 510d067..8bc708d 100644 --- a/gdb/f-lang.c +++ b/gdb/f-lang.c @@ -482,19 +482,13 @@ static const struct exp_descriptor exp_descriptor_f = evaluate_subexp_f }; -/* Constant data that describes the Fortran language. */ - -extern const struct language_data f_language_data = -{ -}; - /* Class representing the Fortran language. */ class f_language : public language_defn { public: f_language () - : language_defn (language_fortran, f_language_data) + : language_defn (language_fortran) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/go-lang.c b/gdb/go-lang.c index 2b9be93..0322961 100644 --- a/gdb/go-lang.c +++ b/gdb/go-lang.c @@ -504,19 +504,13 @@ enum go_primitive_types { nr_go_primitive_types }; -/* Constant data that describes the Go language. */ - -extern const struct language_data go_language_data = -{ -}; - /* Class representing the Go language. */ class go_language : public language_defn { public: go_language () - : language_defn (language_go, go_language_data) + : language_defn (language_go) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/language.c b/gdb/language.c index 37aef2c..761f496 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -812,19 +812,13 @@ unknown_language_arch_info (struct gdbarch *gdbarch, struct type *); } -/* Constant data that describes the unknown language. */ - -extern const struct language_data unknown_language_data = -{ -}; - /* Class representing the unknown language. */ class unknown_language : public language_defn { public: unknown_language () - : language_defn (language_unknown, unknown_language_data) + : language_defn (language_unknown) { /* Nothing. */ } /* See language.h. */ @@ -947,19 +941,13 @@ public: static unknown_language unknown_language_defn; -/* Constant data for the fake "auto" language. */ - -extern const struct language_data auto_language_data = -{ -}; - /* Class representing the fake "auto" language. */ class auto_language : public language_defn { public: auto_language () - : language_defn (language_auto, auto_language_data) + : language_defn (language_auto) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/language.h b/gdb/language.h index 2d13cfa..3ee6476 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -152,31 +152,12 @@ struct language_pass_by_ref_info /* Splitting strings into words. */ extern const char *default_word_break_characters (void); -/* Structure tying together assorted information about a language. - - As we move over from the old structure based languages to a class - hierarchy of languages this structure will continue to contain a - mixture of both data and function pointers. - - Once the class hierarchy of languages in place the first task is to - remove the function pointers from this structure and convert them into - member functions on the different language classes. - - The current plan it to keep the constant data that describes a language - in this structure, and have each language pass in an instance of this - structure at construction time. */ - -struct language_data - { - }; - /* Base class from which all other language classes derive. */ -struct language_defn : language_data +struct language_defn { - language_defn (enum language lang, const language_data &init_data) - : language_data (init_data), - la_language (lang) + language_defn (enum language lang) + : la_language (lang) { /* We should only ever create one instance of each language. */ gdb_assert (languages[lang] == nullptr); diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c index 1f9c8a8..3cc0364 100644 --- a/gdb/m2-lang.c +++ b/gdb/m2-lang.c @@ -195,19 +195,13 @@ const struct exp_descriptor exp_descriptor_modula2 = evaluate_subexp_modula2 }; -/* Constant data describing the M2 language. */ - -extern const struct language_data m2_language_data = -{ -}; - /* Class representing the M2 language. */ class m2_language : public language_defn { public: m2_language () - : language_defn (language_m2, m2_language_data) + : language_defn (language_m2) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c index b59a45b..9eaaf96 100644 --- a/gdb/objc-lang.c +++ b/gdb/objc-lang.c @@ -319,19 +319,13 @@ static const struct op_print objc_op_print_tab[] = {NULL, OP_NULL, PREC_NULL, 0} }; -/* Constant data representing the Objective-C language. */ - -extern const struct language_data objc_language_data = -{ -}; - /* Class representing the Objective-C language. */ class objc_language : public language_defn { public: objc_language () - : language_defn (language_objc, objc_language_data) + : language_defn (language_objc) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c index df99fdc..19de98b 100644 --- a/gdb/opencl-lang.c +++ b/gdb/opencl-lang.c @@ -1003,18 +1003,13 @@ const struct exp_descriptor exp_descriptor_opencl = evaluate_subexp_opencl }; -/* Constant data representing the OpenCL language. */ -extern const struct language_data opencl_language_data = -{ -}; - /* Class representing the OpenCL language. */ class opencl_language : public language_defn { public: opencl_language () - : language_defn (language_opencl, opencl_language_data) + : language_defn (language_opencl) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/p-lang.c b/gdb/p-lang.c index 6a9811d..1867fd4 100644 --- a/gdb/p-lang.c +++ b/gdb/p-lang.c @@ -248,19 +248,13 @@ enum pascal_primitive_types { nr_pascal_primitive_types }; -/* Constant data representing the Pascal language. */ - -extern const struct language_data pascal_language_data = -{ -}; - /* Class representing the Pascal language. */ class pascal_language : public language_defn { public: pascal_language () - : language_defn (language_pascal, pascal_language_data) + : language_defn (language_pascal) { /* Nothing. */ } /* See language.h. */ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index 1971a8d..f7c762e 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -1897,19 +1897,13 @@ static const struct exp_descriptor exp_descriptor_rust = rust_evaluate_subexp }; -/* Constant data representing the Rust language. */ - -extern const struct language_data rust_language_data = -{ -}; - /* Class representing the Rust language. */ class rust_language : public language_defn { public: rust_language () - : language_defn (language_rust, rust_language_data) + : language_defn (language_rust) { /* Nothing. */ } /* See language.h. */ |