diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-07-12 10:15:32 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-09-16 11:01:24 +0100 |
commit | efdf6a733d2a59a1a07ec61e848fa9e128259fe3 (patch) | |
tree | 896cf4b18a264b7128c28eaf84d4a694fc5eea01 /gdb/rust-lang.c | |
parent | bf92aec5884b64a73a334aea875c68e8d1f959fc (diff) | |
download | gdb-efdf6a733d2a59a1a07ec61e848fa9e128259fe3.zip gdb-efdf6a733d2a59a1a07ec61e848fa9e128259fe3.tar.gz gdb-efdf6a733d2a59a1a07ec61e848fa9e128259fe3.tar.bz2 |
gdb: Convert language_data::la_range_check to a method
Convert language_data::la_range_check member variable to a virtual
method language_defn::range_checking_on_by_default.
Where the previous member variable was of type 'enum range_check', the
new member function returns a boolean that selects between range
checking being on or off. This removes the possibility of a language
having its default be the third enum state, range_check_warn, which
no language currently used.
This all makes sense I think, the language's true/false provides the
default when the global 'set check range' is set to 'auto'.
There should be no user visible changes after this commit.
gdb/ChangeLog:
* ada-lang.c (ada_language_data): Remove la_range_check
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.
* f-lang.c (f_language_data): Likewise.
(f_language::range_checking_on_by_default): New member function.
* go-lang.c (go_language_data): Remove la_range_check initializer.
* language.c (enum range_mode): Moved here from language.h.
(range_mode): Made static.
(show_range_command): Update to use
range_checking_on_by_default.
(set_range_command): Likewise.
(set_range_case): Likewise.
(unknown_language_data): Remove la_range_check initializer.
(auto_language_data): Likewise.
* language.h (range_mode): Delete. Enum definition moved to
language.c.
(language_data): Remove la_range_check field.
(language_defn::range_checking_on_by_default): New member
function.
* m2-lang.c (m2_language_data): Remove la_range_check initializer.
(m2_language::range_checking_on_by_default): New member function.
* objc-lang.c (objc_language_data): Remove la_range_check
initializer.
* opencl-lang.c (opencl_language_data): Likewise.
* p-lang.c (pascal_language_data): Likewise.
(pascal_language::range_checking_on_by_default): New member
function.
* rust-lang.c (rust_language_data): Remove la_range_check
initializer.
(rust_language::range_checking_on_by_default): New member
function.
Diffstat (limited to 'gdb/rust-lang.c')
-rw-r--r-- | gdb/rust-lang.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c index 25bd965..4489cab 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 = { - range_check_on, case_sensitive_on, array_row_major, macro_expansion_no, @@ -2149,6 +2148,11 @@ public: && rust_slice_type_p (type) && strcmp (type->name (), "&str") == 0)); } + + /* See language.h. */ + + bool range_checking_on_by_default () const override + { return true; } }; /* Single instance of the Rust language class. */ |