aboutsummaryrefslogtreecommitdiff
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
commitff4cb3e841a1fa5b1aa9328a10e19f64f9012245 (patch)
treef80628a616c7a007f9b2d79d436d7e6d097da412
parentda2cf7e093e15844a971f772bde45b4b486e355b (diff)
downloadgdb-ff4cb3e841a1fa5b1aa9328a10e19f64f9012245.zip
gdb-ff4cb3e841a1fa5b1aa9328a10e19f64f9012245.tar.gz
gdb-ff4cb3e841a1fa5b1aa9328a10e19f64f9012245.tar.bz2
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 e29e038..6e25cc3 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 a78607d..a76a0eb 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