From ff4cb3e841a1fa5b1aa9328a10e19f64f9012245 Mon Sep 17 00:00:00 2001 From: Adam Fedor Date: Tue, 15 Oct 2002 02:50:56 +0000 Subject: [PATCH] New objc_specific struct. (SYMBOL_INIT_LANGUAGE_SPECIFIC): Handle ObjC. (SYMBOL_DEMANGLED_NAME): Likewise. --- gdb/ChangeLog | 6 ++++++ gdb/symtab.h | 16 +++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index e29e038e7df..6e25cc3e1b9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2002-10-14 Adam Fedor + + * symtab.h: New objc_specific struct. + (SYMBOL_INIT_LANGUAGE_SPECIFIC): Handle ObjC. + (SYMBOL_DEMANGLED_NAME): Likewise. + 2002-10-14 Adam Fedor * symfile.c (init_filename_language_table): Add ObjC file extension. 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 -- 2.30.2