diff options
author | Adam Fedor <fedor@gnu.org> | 2002-10-15 02:50:56 +0000 |
---|---|---|
committer | Adam Fedor <fedor@gnu.org> | 2002-10-15 02:50:56 +0000 |
commit | f741e92e8a5f447d1a532abb544fcbdc6727fbfa (patch) | |
tree | bce2ebf9b7c02edcb55fb0cdd7135f02a2c9d91d | |
parent | f250589aa738a42050ca77dc189f2440eada77c3 (diff) | |
download | gdb-f741e92e8a5f447d1a532abb544fcbdc6727fbfa.tar.gz |
New objc_specific struct.
(SYMBOL_INIT_LANGUAGE_SPECIFIC): Handle ObjC.
(SYMBOL_DEMANGLED_NAME): Likewise.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/symtab.h | 16 |
2 files changed, 21 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e29e038e7df..6e25cc3e1b9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2002-10-14 Adam Fedor <fedor@gnu.org> + * symtab.h: New objc_specific struct. + (SYMBOL_INIT_LANGUAGE_SPECIFIC): Handle ObjC. + (SYMBOL_DEMANGLED_NAME): Likewise. + +2002-10-14 Adam Fedor <fedor@gnu.org> + * symfile.c (init_filename_language_table): Add ObjC file extension. 2002-10-14 Adam Fedor <fedor@gnu.org> diff --git a/gdb/symtab.h b/gdb/symtab.h index a78607d584e..a76a0ebd5b6 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -89,6 +89,11 @@ struct general_symbol_info char *demangled_name; } cplus_specific; + struct objc_specific + { + char *demangled_name; + } + objc_specific; #if 0 /* OBSOLETE struct chill_specific *//* For Chill */ /* OBSOLETE { */ @@ -146,6 +151,10 @@ extern CORE_ADDR symbol_overlayed_address (CORE_ADDR, asection *); { \ SYMBOL_CPLUS_DEMANGLED_NAME (symbol) = NULL; \ } \ + else if (SYMBOL_LANGUAGE (symbol) == language_objc) \ + { \ + SYMBOL_OBJC_DEMANGLED_NAME (symbol) = NULL; \ + } \ /* OBSOLETE else if (SYMBOL_LANGUAGE (symbol) == language_chill) */ \ /* OBSOLETE { */ \ /* OBSOLETE SYMBOL_CHILL_DEMANGLED_NAME (symbol) = NULL; */ \ @@ -170,13 +179,18 @@ extern void symbol_init_demangled_name (struct general_symbol_info *symbol, (SYMBOL_LANGUAGE (symbol) == language_cplus \ || SYMBOL_LANGUAGE (symbol) == language_java \ ? SYMBOL_CPLUS_DEMANGLED_NAME (symbol) \ + : (SYMBOL_LANGUAGE (symbol) == language_objc \ + ? SYMBOL_OBJC_DEMANGLED_NAME (symbol) \ : /* OBSOLETE (SYMBOL_LANGUAGE (symbol) == language_chill */ \ /* OBSOLETE ? SYMBOL_CHILL_DEMANGLED_NAME (symbol) */ \ - NULL) + NULL)) /* OBSOLETE #define SYMBOL_CHILL_DEMANGLED_NAME(symbol) */ /* OBSOLETE (symbol)->ginfo.language_specific.chill_specific.demangled_name */ +#define SYMBOL_OBJC_DEMANGLED_NAME(symbol) \ + (symbol)->ginfo.language_specific.objc_specific.demangled_name + /* Macro that returns the "natural source name" of a symbol. In C++ this is the "demangled" form of the name if demangle is on and the "mangled" form of the name if demangle is off. In other languages this is just the |