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

@ -190,6 +190,11 @@ d_language_arch_info (struct gdbarch *gdbarch,
lai->bool_type_default = builtin->builtin_bool;
}
static const char *d_extensions[] =
{
".d", NULL
};
static const struct language_defn d_language_defn =
{
"d",
@ -199,6 +204,7 @@ static const struct language_defn d_language_defn =
case_sensitive_on,
array_row_major,
macro_expansion_no,
d_extensions,
&exp_descriptor_c,
d_parse,
d_yyerror,