aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/language.c21
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 *