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

@ -350,6 +350,11 @@ static const struct op_print objc_op_print_tab[] =
{NULL, OP_NULL, PREC_NULL, 0}
};
static const char *objc_extensions[] =
{
".m", NULL
};
const struct language_defn objc_language_defn = {
"objective-c", /* Language name */
"Objective-C",
@ -358,6 +363,7 @@ const struct language_defn objc_language_defn = {
case_sensitive_on,
array_row_major,
macro_expansion_c,
objc_extensions,
&exp_descriptor_standard,
c_parse,
c_yyerror,