diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2023-04-17 12:42:46 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2023-04-21 14:09:42 -0400 |
commit | 129bce36048028ea9aac972a75b993ba657aa03b (patch) | |
tree | ef7370a3b18f6502d7c12a479745b03e14680b70 /gdb/symmisc.c | |
parent | f57d81815f865817c8b4bc9a521cb0f71710d871 (diff) | |
download | gdb-129bce36048028ea9aac972a75b993ba657aa03b.zip gdb-129bce36048028ea9aac972a75b993ba657aa03b.tar.gz gdb-129bce36048028ea9aac972a75b993ba657aa03b.tar.bz2 |
gdb: remove language_auto
I think that the language_auto enumerator and the auto_language class
can be removed. There isn't really an "auto" language, it's only a
construct of the "set language" command to say "pick the appropriate
language automatically". But "auto" is never the current language. The
`current_language` points to the current effective language, and the
fact that we're in "auto language" mode is noted by the language_mode
global.
- Change set_language to handle the "auto" (and "local", which is a
synonym) early, instead of in the for loop. I think it makes the two
cases (auto vs explicit language) more clearly separated anyway.
- Adjust add_set_language_command to hard-code the "auto" string,
instead of using the "auto" language definition.
- Remove auto_language, rename auto_or_unknown_language to
unknown_language and move the bits of the existing unknown_language
in there.
- Remove the set_language at the end of _initialize_language. I think
it's not needed, because we call set_language in gdb_init, after all
_initialize functions are called. There is some chance that an
_initialize function that runs after _initialize_language implicitly
depends on current_language being set, but my testsuite runs haven't
found anything like that.
- Use language_unknown instead of language_auto when creating a minimal
symbol (minimal_symbol_reader::record_full). I think that this value
is used to indicate that we don't know the symbol of the minimal
symbol (yet), so language_unknown makes sense to me. Update a
condition accordingly in ada-lang.c. symbol_find_demangled_name also
appears to "normalize" this value from "unknown" to "auto", remove
that part and update the condition to just check for
language_unknown.
Change-Id: I47bcd6c15f607d9818f2e6e413053c2dc8ec5034
Reviewed-By: Tom Tromey <tom@tromey.com>
Diffstat (limited to 'gdb/symmisc.c')
-rw-r--r-- | gdb/symmisc.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gdb/symmisc.c b/gdb/symmisc.c index 3d7fd56..4b68f2b 100644 --- a/gdb/symmisc.c +++ b/gdb/symmisc.c @@ -365,8 +365,7 @@ dump_symtab (struct symtab *symtab, struct ui_file *outfile) because certain routines used during dump_symtab() use the current language to print an image of the symbol. We'll restore it later. But use only real languages, not placeholders. */ - if (symtab->language () != language_unknown - && symtab->language () != language_auto) + if (symtab->language () != language_unknown) { scoped_restore_current_language save_lang; set_language (symtab->language ()); |