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.
This commit is contained in:
Tom Tromey
2016-05-26 10:33:28 -06:00
parent 3fcf0b0d5a
commit 56618e20bc
16 changed files with 132 additions and 55 deletions

View File

@ -14054,6 +14054,11 @@ ada_read_var_value (struct symbol *var, const struct block *var_block,
return default_read_var_value (var, var_block, frame);
}
static const char *ada_extensions[] =
{
".adb", ".ads", ".a", ".ada", ".dg", NULL
};
const struct language_defn ada_language_defn = {
"ada", /* Language name */
"Ada",
@ -14063,6 +14068,7 @@ const struct language_defn ada_language_defn = {
that's not quite what this means. */
array_row_major,
macro_expansion_no,
ada_extensions,
&ada_exp_descriptor,
parse,
ada_yyerror,