From 29df156df4e7df351f9ba24641df74739d39c8e8 Mon Sep 17 00:00:00 2001 From: Sami Wagiaalla Date: Fri, 16 Jul 2010 19:23:56 +0000 Subject: Use allocated cplus_specific for cplus symbols. 2010-07-16 Sami Wagiaalla * symtab.h (symbol_set_demangled_name): Now takes an optional objfile* argument. (cplus_specific): New struct. * symtab.c (symbol_set_demangled_name): Updated. Use cplus_specific for cplus symbols. (symbol_get_demangled_name): Retrive the name from the cplus_specific struct for cplus symbols. (symbol_init_language_specific): Set cplus_specific for cplus symbols. (symbol_set_names): Pass objfile to symbol_set_demangled_name. * symtab.c (symbol_init_cplus_specific): New function. --- gdb/symtab.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'gdb/symtab.h') diff --git a/gdb/symtab.h b/gdb/symtab.h index 7f18fb3..4be0bd5 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -75,7 +75,12 @@ struct program_space; --chastain 2003-08-21 */ +/* Struct for storing C++ specific information. Allocated when needed. */ +struct cplus_specific +{ + char *demangled_name; +}; /* Define a structure for the information that is common to all symbol types, including minimal symbols, partial symbols, and full symbols. In a @@ -120,7 +125,7 @@ struct general_symbol_info value; /* Since one and only one language can apply, wrap the language specific - information inside a union. */ + information inside a union. */ union { @@ -131,6 +136,8 @@ struct general_symbol_info char *demangled_name; } mangled_lang; + + struct cplus_specific *cplus_specific; } language_specific; @@ -154,7 +161,8 @@ struct general_symbol_info struct obj_section *obj_section; }; -extern void symbol_set_demangled_name (struct general_symbol_info *, char *); +extern void symbol_set_demangled_name (struct general_symbol_info *, char *, + struct objfile *); extern char *symbol_get_demangled_name (const struct general_symbol_info *); -- cgit v1.1