summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Fedor <fedor@gnu.org>2002-10-15 02:50:56 +0000
committerAdam Fedor <fedor@gnu.org>2002-10-15 02:50:56 +0000
commitf741e92e8a5f447d1a532abb544fcbdc6727fbfa (patch)
treebce2ebf9b7c02edcb55fb0cdd7135f02a2c9d91d
parentf250589aa738a42050ca77dc189f2440eada77c3 (diff)
downloadgdb-f741e92e8a5f447d1a532abb544fcbdc6727fbfa.tar.gz
New objc_specific struct.
(SYMBOL_INIT_LANGUAGE_SPECIFIC): Handle ObjC. (SYMBOL_DEMANGLED_NAME): Likewise.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/symtab.h16
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