diff options
-rw-r--r-- | gdb/ChangeLog | 12 | ||||
-rw-r--r-- | gdb/language.c | 21 |
2 files changed, 30 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 03bab36..9bcc2cd 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,15 @@ +Mon Nov 23 11:38:40 1998 Michael Snyder <msnyder@cleaver.cygnus.com> + + * symfile.c (deduce_language_from_filename): rewrite so as to + work from a table of filename extensions, modifiable by the user. + (filename_language_table): new data structure. + (set_ext_lang_command): new function for new command, "set + extension-language". (info_extension_language_command): new + function for new command "info extension-languages". + (add_filename_language, init_filename_language_table): new + support functions for the above. + * language.c (language_enum): new function. Support for above. + Mon Nov 23 10:47:54 1998 Andrew Cagney <cagney@chook.cygnus.com> * config/sh/tm-sh.h, config/mn10200/tm-mn10200.h, diff --git a/gdb/language.c b/gdb/language.c index 1c10026..db6d513 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -166,9 +166,9 @@ show_language_command (ignore, from_tty) flang = get_frame_language(); if (flang != language_unknown && - language_mode == language_mode_manual && - current_language->la_language != flang) - printf_filtered("%s\n",lang_frame_mismatch_warn); + language_mode == language_mode_manual && + current_language->la_language != flang) + printf_filtered("%s\n",lang_frame_mismatch_warn); } /* Set command. Change the current working language. */ @@ -1123,6 +1123,21 @@ range_error (va_alist) /* This page contains miscellaneous functions */ +/* Return the language enum for a given language string. */ + +enum language +language_enum (str) + char *str; +{ + int i; + + for (i = 0; i < languages_size; i++) + if (STREQ (languages[i]->la_name, str)) + return languages[i]->la_language; + + return language_unknown; +} + /* Return the language struct for a given language enum. */ const struct language_defn * |