From 129bce36048028ea9aac972a75b993ba657aa03b Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Mon, 17 Apr 2023 12:42:46 -0400 Subject: 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 --- gdb/defs.h | 1 - 1 file changed, 1 deletion(-) (limited to 'gdb/defs.h') diff --git a/gdb/defs.h b/gdb/defs.h index 8dbb68e..454475b 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -210,7 +210,6 @@ extern void quit_serial_event_clear (void); enum language { language_unknown, /* Language not known */ - language_auto, /* Placeholder for automatic setting */ language_c, /* C */ language_objc, /* Objective-C */ language_rust, /* Rust */ -- cgit v1.1