From 3a3440fb8b71a3a4ac919eb5a7edd69be7d5cfff Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Sun, 12 Jul 2020 16:00:06 +0100 Subject: [PATCH] gdb: Convert language_data::la_array_ordering to a method Convert language_data::la_array_ordering member variable to a virtual method language_defn::array_ordering. There should be no user visible changes after this commit. gdb/ChangeLog: * ada-lang.c (ada_language_data): Remove la_array_ordering initializer. * c-lang.c (c_language_data): Likewise. (cplus_language_data): Likewise. (asm_language_data): Likewise. (minimal_language_data): Likewise. * d-lang.c (d_language_data): Likewise. * dwarf2/read.c (read_array_order): Update for call to array_ordering. * f-lang.c (f_language_data): Remove la_array_ordering initializer. (f_language::array_ordering): New member function. * go-lang.c (go_language_data): Remove la_array_ordering initializer. * language.c (unknown_language_data): Likewise. (auto_language_data): Likewise. * language.h (language_data): Delete la_array_ordering field. (language_defn::array_ordering): New member function. * m2-lang.c (m2_language_data): Remove la_array_ordering 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_language_data): Likewise. --- gdb/ChangeLog | 27 +++++++++++++++++++++++++++ gdb/ada-lang.c | 1 - gdb/c-lang.c | 4 ---- gdb/d-lang.c | 1 - gdb/dwarf2/read.c | 2 +- gdb/f-lang.c | 6 +++++- gdb/go-lang.c | 1 - gdb/language.c | 2 -- gdb/language.h | 9 ++++++--- gdb/m2-lang.c | 1 - gdb/objc-lang.c | 1 - gdb/opencl-lang.c | 1 - gdb/p-lang.c | 1 - gdb/rust-lang.c | 1 - 14 files changed, 39 insertions(+), 19 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 134010d4ac5..d8988e41dd4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,30 @@ +2020-09-16 Andrew Burgess + + * ada-lang.c (ada_language_data): Remove la_array_ordering + initializer. + * c-lang.c (c_language_data): Likewise. + (cplus_language_data): Likewise. + (asm_language_data): Likewise. + (minimal_language_data): Likewise. + * d-lang.c (d_language_data): Likewise. + * dwarf2/read.c (read_array_order): Update for call to + array_ordering. + * f-lang.c (f_language_data): Remove la_array_ordering + initializer. + (f_language::array_ordering): New member function. + * go-lang.c (go_language_data): Remove la_array_ordering + initializer. + * language.c (unknown_language_data): Likewise. + (auto_language_data): Likewise. + * language.h (language_data): Delete la_array_ordering field. + (language_defn::array_ordering): New member function. + * m2-lang.c (m2_language_data): Remove la_array_ordering + 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_language_data): Likewise. + 2020-09-16 Andrew Burgess * ada-lang.c (ada_language_data): Remove la_case_sensitivity diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c index bb850c16055..9d020d72ac8 100644 --- a/gdb/ada-lang.c +++ b/gdb/ada-lang.c @@ -13708,7 +13708,6 @@ ada_get_symbol_name_matcher (const lookup_name_info &lookup_name) extern const struct language_data ada_language_data = { - array_row_major, macro_expansion_no, &ada_exp_descriptor, ada_op_print_tab, /* expression operators for printing */ diff --git a/gdb/c-lang.c b/gdb/c-lang.c index c1aa02fb67f..e752e50a68f 100644 --- a/gdb/c-lang.c +++ b/gdb/c-lang.c @@ -875,7 +875,6 @@ const struct exp_descriptor exp_descriptor_c = extern const struct language_data c_language_data = { - array_row_major, macro_expansion_c, &exp_descriptor_c, c_op_print_tab, /* expression operators for printing */ @@ -983,7 +982,6 @@ enum cplus_primitive_types { extern const struct language_data cplus_language_data = { - array_row_major, macro_expansion_c, &exp_descriptor_c, c_op_print_tab, /* expression operators for printing */ @@ -1189,7 +1187,6 @@ static cplus_language cplus_language_defn; extern const struct language_data asm_language_data = { - array_row_major, macro_expansion_c, &exp_descriptor_c, c_op_print_tab, /* expression operators for printing */ @@ -1258,7 +1255,6 @@ static asm_language asm_language_defn; extern const struct language_data minimal_language_data = { - array_row_major, macro_expansion_c, &exp_descriptor_c, c_op_print_tab, /* expression operators for printing */ diff --git a/gdb/d-lang.c b/gdb/d-lang.c index 176593f276d..435d7714778 100644 --- a/gdb/d-lang.c +++ b/gdb/d-lang.c @@ -128,7 +128,6 @@ enum d_primitive_types { extern const struct language_data d_language_data = { - array_row_major, macro_expansion_no, &exp_descriptor_c, d_op_print_tab, /* Expression operators for printing. */ diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index d0398ef914f..33292b6ce22 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -16883,7 +16883,7 @@ read_array_order (struct die_info *die, struct dwarf2_cu *cu) return DW_ORD_row_major; } - switch (cu->language_defn->la_array_ordering) + switch (cu->language_defn->array_ordering ()) { case array_column_major: return DW_ORD_col_major; diff --git a/gdb/f-lang.c b/gdb/f-lang.c index a938d2b8b4c..67e4e8990d7 100644 --- a/gdb/f-lang.c +++ b/gdb/f-lang.c @@ -486,7 +486,6 @@ static const struct exp_descriptor exp_descriptor_f = extern const struct language_data f_language_data = { - array_column_major, macro_expansion_no, &exp_descriptor_f, f_op_print_tab, /* expression operators for printing */ @@ -730,6 +729,11 @@ public: enum case_sensitivity case_sensitivity () const override { return case_sensitive_off; } + /* See language.h. */ + + enum array_ordering array_ordering () const override + { return array_column_major; } + protected: /* See language.h. */ diff --git a/gdb/go-lang.c b/gdb/go-lang.c index 7ac7e9455fa..ceda7aff89c 100644 --- a/gdb/go-lang.c +++ b/gdb/go-lang.c @@ -508,7 +508,6 @@ enum go_primitive_types { extern const struct language_data go_language_data = { - array_row_major, macro_expansion_no, &exp_descriptor_c, go_op_print_tab, /* Expression operators for printing. */ diff --git a/gdb/language.c b/gdb/language.c index 41fdf357f1a..507c51a6fee 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -798,7 +798,6 @@ unknown_language_arch_info (struct gdbarch *gdbarch, extern const struct language_data unknown_language_data = { - array_row_major, macro_expansion_no, &exp_descriptor_standard, unk_op_print_tab, /* expression operators for printing */ @@ -933,7 +932,6 @@ static unknown_language unknown_language_defn; extern const struct language_data auto_language_data = { - array_row_major, macro_expansion_no, &exp_descriptor_standard, unk_op_print_tab, /* expression operators for printing */ diff --git a/gdb/language.h b/gdb/language.h index b6d1d15c23f..5ec5daa4aef 100644 --- a/gdb/language.h +++ b/gdb/language.h @@ -168,9 +168,6 @@ extern const char *default_word_break_characters (void); struct language_data { - /* Multi-dimensional array ordering. */ - enum array_ordering la_array_ordering; - /* Style of macro expansion, if any, supported by this language. */ enum macro_expansion la_macro_expansion; @@ -559,6 +556,12 @@ struct language_defn : language_data virtual enum case_sensitivity case_sensitivity () const { return case_sensitive_on; } + + /* Multi-dimensional array ordering. */ + + virtual enum array_ordering array_ordering () const + { return array_row_major; } + protected: /* This is the overridable part of the GET_SYMBOL_NAME_MATCHER method. diff --git a/gdb/m2-lang.c b/gdb/m2-lang.c index 94fa01243b3..b587242e07b 100644 --- a/gdb/m2-lang.c +++ b/gdb/m2-lang.c @@ -199,7 +199,6 @@ const struct exp_descriptor exp_descriptor_modula2 = extern const struct language_data m2_language_data = { - array_row_major, macro_expansion_no, &exp_descriptor_modula2, m2_op_print_tab, /* expression operators for printing */ diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c index 45936c9caec..60e0eaddbf4 100644 --- a/gdb/objc-lang.c +++ b/gdb/objc-lang.c @@ -323,7 +323,6 @@ static const struct op_print objc_op_print_tab[] = extern const struct language_data objc_language_data = { - array_row_major, macro_expansion_c, &exp_descriptor_standard, objc_op_print_tab, /* Expression operators for printing */ diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c index 2a184fd3858..dffdae472f1 100644 --- a/gdb/opencl-lang.c +++ b/gdb/opencl-lang.c @@ -1006,7 +1006,6 @@ const struct exp_descriptor exp_descriptor_opencl = /* Constant data representing the OpenCL language. */ extern const struct language_data opencl_language_data = { - array_row_major, macro_expansion_c, &exp_descriptor_opencl, c_op_print_tab, /* expression operators for printing */ diff --git a/gdb/p-lang.c b/gdb/p-lang.c index fcc0eb90f5c..d1e6e69cb04 100644 --- a/gdb/p-lang.c +++ b/gdb/p-lang.c @@ -252,7 +252,6 @@ enum pascal_primitive_types { extern const struct language_data pascal_language_data = { - array_row_major, macro_expansion_no, &exp_descriptor_standard, pascal_op_print_tab, /* expression operators for printing */ diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index 7b76e27f84c..fb248cdc4d3 100644 --- a/gdb/rust-lang.c +++ b/gdb/rust-lang.c @@ -1901,7 +1901,6 @@ static const struct exp_descriptor exp_descriptor_rust = extern const struct language_data rust_language_data = { - array_row_major, macro_expansion_no, &exp_descriptor_rust, c_op_print_tab, /* expression operators for printing */ -- 2.30.2