diff options
author | Tom Tromey <tom@tromey.com> | 2016-05-26 10:33:28 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2016-06-23 21:11:47 -0600 |
commit | 56618e20bc50e55b49ed224df2a2a7e0840056fe (patch) | |
tree | 2d6ce4327fa617f2524ac99e77eac4cb4a62f71b /gdb/language.c | |
parent | 3fcf0b0d5a8cf04da4b4210121e7276ca1f20101 (diff) | |
download | gdb-56618e20bc50e55b49ed224df2a2a7e0840056fe.zip gdb-56618e20bc50e55b49ed224df2a2a7e0840056fe.tar.gz gdb-56618e20bc50e55b49ed224df2a2a7e0840056fe.tar.bz2 |
Move filename extensions into language_defn
This moves filename extensions from a function in symfile.c out to
each language_defn. I think this is an improvement because it means
less digging around when writing a new language port.
2016-06-23 Tom Tromey <tom@tromey.com>
* ada-lang.c (ada_extensions): New array.
(ada_language_defn): Use it.
* c-lang.c (c_extensions): New array.
(c_language_defn): Use it.
(cplus_extensions): New array.
(cplus_language_defn): Use it.
(asm_extensions): New array.
(asm_language_defn): Use it.
(minimal_language_defn): Update.
* d-lang.c (d_extensions): New array.
(d_language_defn): Use it.
* f-lang.c (f_extensions): New array.
(f_language_defn): Use it.
* go-lang.c (go_language_defn): Update.
* jv-lang.c (java_extensions): New array.
(java_language_defn): Use it.
* language.c (add_language): Call add_filename_language.
(unknown_language_defn, auto_language_defn, local_language_defn):
Update.
* language.h (struct language_defn) <la_filename_extensions>: New
field.
* m2-lang.c (m2_language_defn): Update.
* objc-lang.c (objc_extensions): New array.
(objc_language_defn): Use it.
* opencl-lang.c (opencl_language_defn): Update.
* p-lang.c (p_extensions): New array.
(pascal_language_defn): Use it.
* rust-lang.c (rust_extensions): New array.
(rust_language_defn): Use it.
* symfile.c (add_filename_language): No longer static. Make "ext"
const.
(init_filename_language_table): Remove.
(_initialize_symfile): Update.
* symfile.h (add_filename_language): Declare.
Diffstat (limited to 'gdb/language.c')
-rw-r--r-- | gdb/language.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gdb/language.c b/gdb/language.c index 8469754..02e21ca 100644 --- a/gdb/language.c +++ b/gdb/language.c @@ -575,6 +575,16 @@ add_language (const struct language_defn *lang) language_names[i] = languages[i]->la_name; language_names[i] = NULL; + /* Add the filename extensions. */ + if (lang->la_filename_extensions != NULL) + { + int i; + + for (i = 0; lang->la_filename_extensions[i] != NULL; ++i) + add_filename_language (lang->la_filename_extensions[i], + lang->la_language); + } + /* Build the "help set language" docs. */ tmp_stream = mem_fileopen (); @@ -815,6 +825,7 @@ const struct language_defn unknown_language_defn = case_sensitive_on, array_row_major, macro_expansion_no, + NULL, &exp_descriptor_standard, unk_lang_parser, unk_lang_error, @@ -862,6 +873,7 @@ const struct language_defn auto_language_defn = case_sensitive_on, array_row_major, macro_expansion_no, + NULL, &exp_descriptor_standard, unk_lang_parser, unk_lang_error, @@ -907,6 +919,7 @@ const struct language_defn local_language_defn = case_sensitive_on, array_row_major, macro_expansion_no, + NULL, &exp_descriptor_standard, unk_lang_parser, unk_lang_error, |