diff options
author | Elena Zannoni <ezannoni@kwikemart.cygnus.com> | 2002-10-23 18:16:44 +0000 |
---|---|---|
committer | Elena Zannoni <ezannoni@kwikemart.cygnus.com> | 2002-10-23 18:16:44 +0000 |
commit | ad95c73369e1ba9ba289713f56056b600978f04e (patch) | |
tree | fd916a622588ce8c0274ef7a2b9961d86f308322 /gdb/symtab.c | |
parent | 1b34e69e7c426ba8bcdaaaf71e8dad3d60f2c614 (diff) | |
download | gdb-ad95c73369e1ba9ba289713f56056b600978f04e.tar.gz |
2002-10-23 Elena Zannoni <ezannoni@redhat.com>
* symtab.c (symbol_init_language_specific): New function.
* symtab.h (SYMBOL_INIT_LANGUAGE_SPECIFIC): Simplify macro, by
turning most of it into a function.
(symbol_init_language_specific): Export.
Diffstat (limited to 'gdb/symtab.c')
-rw-r--r-- | gdb/symtab.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gdb/symtab.c b/gdb/symtab.c index a4322926e2f..7b70aa7d13c 100644 --- a/gdb/symtab.c +++ b/gdb/symtab.c @@ -385,6 +385,33 @@ gdb_mangle_name (struct type *type, int method_id, int signature_id) } +/* Initialize the language dependent portion of a symbol + depending upon the language for the symbol. */ +void +symbol_init_language_specific (struct general_symbol_info *gsymbol, + enum language language) +{ + gsymbol->language = language; + if (gsymbol->language == language_cplus + || gsymbol->language == language_java) + { + gsymbol->language_specific.cplus_specific.demangled_name = NULL; + } + else if (gsymbol->language == language_objc) + { + gsymbol->language_specific.objc_specific.demangled_name = NULL; + } + /* OBSOLETE else if (SYMBOL_LANGUAGE (symbol) == language_chill) */ + /* OBSOLETE { */ + /* OBSOLETE SYMBOL_CHILL_DEMANGLED_NAME (symbol) = NULL; */ + /* OBSOLETE } */ + else + { + memset (&gsymbol->language_specific, 0, + sizeof (gsymbol->language_specific)); + } +} + /* Initialize a symbol's mangled name. */ /* Try to initialize the demangled name for a symbol, based on the |