create and use symbol_set_language.

2010-08-09  Sami Wagiaalla  <swagiaal@redhat.com>

	* symtab.h: Renamed SYMBOL_INIT_LANGUAGE_SPECIFIC to
	SYMBOL_SET_LANGUAGE.
	(symbol_init_language_specific): Renamed to symbol_set_language.
	* symtab.c (symbol_init_language_specific): Removed redundant check
	for language_cplus.
	Renamed to symbol_set_language.
	* stabsread.c (define_symbol): Updated.
	(read_enum_type): Updated
	* psymtab.c (add_psymbol_to_bcache): Updated.
	* minsyms.c (install_minimal_symbols): Updated.
	* coffread.c (process_coff_symbol): SYMBOL_SET_LANGUAGE instead of
	SYMBOL_LANGUAGE to set the language.
	* minsyms.c (prim_record_minimal_symbol_full): Ditto.
	* mdebugread.c (new_symbol): Ditto.
	* cp-namespace.c (check_one_possible_namespace_symbol): Ditto.
	* dwarf2read.c (new_symbol_full): Ditto.
	* jv-lang.c (add_class_symbol): Ditto.
This commit is contained in:
Sami Wagiaalla 2010-08-09 19:42:48 +00:00
parent 955974c6c5
commit 33e5013ed2
12 changed files with 39 additions and 22 deletions

View file

@ -1,3 +1,23 @@
2010-08-09 Sami Wagiaalla <swagiaal@redhat.com>
* symtab.h: Renamed SYMBOL_INIT_LANGUAGE_SPECIFIC to
SYMBOL_SET_LANGUAGE.
(symbol_init_language_specific): Renamed to symbol_set_language.
* symtab.c (symbol_init_language_specific): Removed redundant check
for language_cplus.
Renamed to symbol_set_language.
* stabsread.c (define_symbol): Updated.
(read_enum_type): Updated
* psymtab.c (add_psymbol_to_bcache): Updated.
* minsyms.c (install_minimal_symbols): Updated.
* coffread.c (process_coff_symbol): SYMBOL_SET_LANGUAGE instead of
SYMBOL_LANGUAGE to set the language.
* minsyms.c (prim_record_minimal_symbol_full): Ditto.
* mdebugread.c (new_symbol): Ditto.
* cp-namespace.c (check_one_possible_namespace_symbol): Ditto.
* dwarf2read.c (new_symbol_full): Ditto.
* jv-lang.c (add_class_symbol): Ditto.
2010-08-07 Jan Kratochvil <jan.kratochvil@redhat.com> 2010-08-07 Jan Kratochvil <jan.kratochvil@redhat.com>
* defs.h (make_cleanup_restore_uinteger, make_cleanup_restore_ui_file) * defs.h (make_cleanup_restore_uinteger, make_cleanup_restore_ui_file)

View file

@ -1512,7 +1512,7 @@ process_coff_symbol (struct coff_symbol *cs,
memset (sym, 0, sizeof (struct symbol)); memset (sym, 0, sizeof (struct symbol));
name = cs->c_name; name = cs->c_name;
name = EXTERNAL_NAME (name, objfile->obfd); name = EXTERNAL_NAME (name, objfile->obfd);
SYMBOL_LANGUAGE (sym) = current_subfile->language; SYMBOL_SET_LANGUAGE (sym, current_subfile->language);
SYMBOL_SET_NAMES (sym, name, strlen (name), 1, objfile); SYMBOL_SET_NAMES (sym, name, strlen (name), 1, objfile);
/* default assumptions */ /* default assumptions */

View file

@ -938,7 +938,7 @@ check_one_possible_namespace_symbol (const char *name, int len,
sym = obstack_alloc (&objfile->objfile_obstack, sizeof (struct symbol)); sym = obstack_alloc (&objfile->objfile_obstack, sizeof (struct symbol));
memset (sym, 0, sizeof (struct symbol)); memset (sym, 0, sizeof (struct symbol));
SYMBOL_LANGUAGE (sym) = language_cplus; SYMBOL_SET_LANGUAGE (sym, language_cplus);
/* Note that init_type copied the name to the objfile's /* Note that init_type copied the name to the objfile's
obstack. */ obstack. */
SYMBOL_SET_NAMES (sym, TYPE_NAME (type), len, 0, objfile); SYMBOL_SET_NAMES (sym, TYPE_NAME (type), len, 0, objfile);

View file

@ -10013,7 +10013,7 @@ new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
OBJSTAT (objfile, n_syms++); OBJSTAT (objfile, n_syms++);
/* Cache this symbol's name and the name's demangled form (if any). */ /* Cache this symbol's name and the name's demangled form (if any). */
SYMBOL_LANGUAGE (sym) = cu->language; SYMBOL_SET_LANGUAGE (sym, cu->language);
linkagename = dwarf2_physname (name, die, cu); linkagename = dwarf2_physname (name, die, cu);
SYMBOL_SET_NAMES (sym, linkagename, strlen (linkagename), 0, objfile); SYMBOL_SET_NAMES (sym, linkagename, strlen (linkagename), 0, objfile);

View file

@ -162,7 +162,7 @@ add_class_symbol (struct type *type, CORE_ADDR addr)
sym = (struct symbol *) sym = (struct symbol *)
obstack_alloc (&dynamics_objfile->objfile_obstack, sizeof (struct symbol)); obstack_alloc (&dynamics_objfile->objfile_obstack, sizeof (struct symbol));
memset (sym, 0, sizeof (struct symbol)); memset (sym, 0, sizeof (struct symbol));
SYMBOL_LANGUAGE (sym) = language_java; SYMBOL_SET_LANGUAGE (sym, language_java);
SYMBOL_SET_LINKAGE_NAME (sym, TYPE_TAG_NAME (type)); SYMBOL_SET_LINKAGE_NAME (sym, TYPE_TAG_NAME (type));
SYMBOL_CLASS (sym) = LOC_TYPEDEF; SYMBOL_CLASS (sym) = LOC_TYPEDEF;
/* SYMBOL_VALUE (sym) = valu; */ /* SYMBOL_VALUE (sym) = valu; */

View file

@ -4794,7 +4794,7 @@ new_symbol (char *name)
sizeof (struct symbol))); sizeof (struct symbol)));
memset (s, 0, sizeof (*s)); memset (s, 0, sizeof (*s));
SYMBOL_LANGUAGE (s) = psymtab_language; SYMBOL_SET_LANGUAGE (s, psymtab_language);
SYMBOL_SET_NAMES (s, name, strlen (name), 1, current_objfile); SYMBOL_SET_NAMES (s, name, strlen (name), 1, current_objfile);
return s; return s;
} }

View file

@ -833,8 +833,7 @@ prim_record_minimal_symbol_full (const char *name, int name_len, int copy_name,
msym_bunch = new; msym_bunch = new;
} }
msymbol = &msym_bunch->contents[msym_bunch_index]; msymbol = &msym_bunch->contents[msym_bunch_index];
SYMBOL_INIT_LANGUAGE_SPECIFIC (msymbol, language_unknown); SYMBOL_SET_LANGUAGE (msymbol, language_auto);
SYMBOL_LANGUAGE (msymbol) = language_auto;
SYMBOL_SET_NAMES (msymbol, name, name_len, copy_name, objfile); SYMBOL_SET_NAMES (msymbol, name, name_len, copy_name, objfile);
SYMBOL_VALUE_ADDRESS (msymbol) = address; SYMBOL_VALUE_ADDRESS (msymbol) = address;
@ -1145,7 +1144,7 @@ install_minimal_symbols (struct objfile *objfile)
MSYMBOL_TARGET_FLAG_2 (&msymbols[mcount]) = 0; MSYMBOL_TARGET_FLAG_2 (&msymbols[mcount]) = 0;
MSYMBOL_SIZE (&msymbols[mcount]) = 0; MSYMBOL_SIZE (&msymbols[mcount]) = 0;
MSYMBOL_TYPE (&msymbols[mcount]) = mst_unknown; MSYMBOL_TYPE (&msymbols[mcount]) = mst_unknown;
SYMBOL_INIT_LANGUAGE_SPECIFIC (&msymbols[mcount], language_unknown); SYMBOL_SET_LANGUAGE (&msymbols[mcount], language_unknown);
/* Attach the minimal symbol table to the specified objfile. /* Attach the minimal symbol table to the specified objfile.
The strings themselves are also located in the objfile_obstack The strings themselves are also located in the objfile_obstack

View file

@ -376,7 +376,7 @@ terminate_minimal_symbol_table (struct objfile *objfile)
memset (m, 0, sizeof (*m)); memset (m, 0, sizeof (*m));
/* Don't rely on these enumeration values being 0's. */ /* Don't rely on these enumeration values being 0's. */
MSYMBOL_TYPE (m) = mst_unknown; MSYMBOL_TYPE (m) = mst_unknown;
SYMBOL_INIT_LANGUAGE_SPECIFIC (m, language_unknown); SYMBOL_SET_LANGUAGE (m, language_unknown);
} }
} }

View file

@ -1304,7 +1304,7 @@ add_psymbol_to_bcache (char *name, int namelength, int copy_name,
SYMBOL_VALUE_ADDRESS (&psymbol) = coreaddr; SYMBOL_VALUE_ADDRESS (&psymbol) = coreaddr;
} }
SYMBOL_SECTION (&psymbol) = 0; SYMBOL_SECTION (&psymbol) = 0;
SYMBOL_LANGUAGE (&psymbol) = language; SYMBOL_SET_LANGUAGE (&psymbol, language);
PSYMBOL_DOMAIN (&psymbol) = domain; PSYMBOL_DOMAIN (&psymbol) = domain;
PSYMBOL_CLASS (&psymbol) = class; PSYMBOL_CLASS (&psymbol) = class;

View file

@ -704,7 +704,7 @@ define_symbol (CORE_ADDR valu, char *string, int desc, int type,
else else
{ {
normal: normal:
SYMBOL_LANGUAGE (sym) = current_subfile->language; SYMBOL_SET_LANGUAGE (sym, current_subfile->language);
if (SYMBOL_LANGUAGE (sym) == language_cplus) if (SYMBOL_LANGUAGE (sym) == language_cplus)
{ {
char *name = alloca (p - string + 1); char *name = alloca (p - string + 1);
@ -3656,7 +3656,7 @@ read_enum_type (char **pp, struct type *type,
obstack_alloc (&objfile->objfile_obstack, sizeof (struct symbol)); obstack_alloc (&objfile->objfile_obstack, sizeof (struct symbol));
memset (sym, 0, sizeof (struct symbol)); memset (sym, 0, sizeof (struct symbol));
SYMBOL_SET_LINKAGE_NAME (sym, name); SYMBOL_SET_LINKAGE_NAME (sym, name);
SYMBOL_LANGUAGE (sym) = current_subfile->language; SYMBOL_SET_LANGUAGE (sym, current_subfile->language);
SYMBOL_CLASS (sym) = LOC_CONST; SYMBOL_CLASS (sym) = LOC_CONST;
SYMBOL_DOMAIN (sym) = VAR_DOMAIN; SYMBOL_DOMAIN (sym) = VAR_DOMAIN;
SYMBOL_VALUE (sym) = n; SYMBOL_VALUE (sym) = n;

View file

@ -393,13 +393,11 @@ symbol_get_demangled_name (const struct general_symbol_info *gsymbol)
/* Initialize the language dependent portion of a symbol /* Initialize the language dependent portion of a symbol
depending upon the language for the symbol. */ depending upon the language for the symbol. */
void void
symbol_init_language_specific (struct general_symbol_info *gsymbol, symbol_set_language (struct general_symbol_info *gsymbol,
enum language language) enum language language)
{ {
gsymbol->language = language; gsymbol->language = language;
if (gsymbol->language == language_cplus if (gsymbol->language == language_d
|| gsymbol->language == language_d
|| gsymbol->language == language_java || gsymbol->language == language_java
|| gsymbol->language == language_objc || gsymbol->language == language_objc
|| gsymbol->language == language_fortran) || gsymbol->language == language_fortran)

View file

@ -171,7 +171,7 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, struct obj_section *);
/* Note that all the following SYMBOL_* macros are used with the /* Note that all the following SYMBOL_* macros are used with the
SYMBOL argument being either a partial symbol, a minimal symbol or SYMBOL argument being either a partial symbol, a minimal symbol or
a full symbol. All three types have a ginfo field. In particular a full symbol. All three types have a ginfo field. In particular
the SYMBOL_INIT_LANGUAGE_SPECIFIC, SYMBOL_DEMANGLED_NAME, etc. the SYMBOL_SET_LANGUAGE, SYMBOL_DEMANGLED_NAME, etc.
macros cannot be entirely substituted by macros cannot be entirely substituted by
functions, unless the callers are changed to pass in the ginfo functions, unless the callers are changed to pass in the ginfo
field only, instead of the SYMBOL parameter. */ field only, instead of the SYMBOL parameter. */
@ -187,10 +187,10 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, struct obj_section *);
/* Initializes the language dependent portion of a symbol /* Initializes the language dependent portion of a symbol
depending upon the language for the symbol. */ depending upon the language for the symbol. */
#define SYMBOL_INIT_LANGUAGE_SPECIFIC(symbol,language) \ #define SYMBOL_SET_LANGUAGE(symbol,language) \
(symbol_init_language_specific (&(symbol)->ginfo, (language))) (symbol_set_language (&(symbol)->ginfo, (language)))
extern void symbol_init_language_specific (struct general_symbol_info *symbol, extern void symbol_set_language (struct general_symbol_info *symbol,
enum language language); enum language language);
/* Set just the linkage name of a symbol; do not try to demangle /* Set just the linkage name of a symbol; do not try to demangle
it. Used for constructs which do not have a mangled name, it. Used for constructs which do not have a mangled name,