aboutsummaryrefslogtreecommitdiff
path: root/gdb/demangle.h
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1992-07-14 02:13:12 +0000
committerFred Fish <fnf@specifix.com>1992-07-14 02:13:12 +0000
commit2dbde378c431470dcb97749fc56b470b5a779f74 (patch)
tree04219a54f212588ebb2ff7b258d0e1b69a2081c7 /gdb/demangle.h
parentd48da190b5fffeaf05afd4ae769a44fd6c46a1fc (diff)
downloadgdb-2dbde378c431470dcb97749fc56b470b5a779f74.zip
gdb-2dbde378c431470dcb97749fc56b470b5a779f74.tar.gz
gdb-2dbde378c431470dcb97749fc56b470b5a779f74.tar.bz2
* Makefile.in (DEMANGLING_STYLE): New define to set default
demangling style for C++. Defaults to "auto". * Makefile.in (DEMANGLE_OPTS): Use DEMANGLING_STYLE. * Makefile.in (SFILES_MAINDIR): Add demangle.c * Makefile.in (OBS): Add demangle.o * cplus-dem.c (GNU_DEMANGLING, ARM_DEMANGLING, LUCID_DEMANGLING): Remove compile time decisions about demangling style and replace with runtime decisions using current_demangling_style. * cplus-dem.c (main): Expand code included during building of standalone demangler to recognize demangling style options. * dbxread.c (demangle.h): Include. * dbxread.c (read_ofile_symtab, process_one_symbol): Set GNU C++ demangling style if processing g++ code and current demangling style is auto (Note: this feature currently disabled.) * demangle.c: New file, generic demangling control. * demangle.h (demangling_styles): New enumeration to select one of several demangling styles. Also define string names for each style. * demangle.h (set_demangling_style): Add prototype. * dwarfread.c (demangle.h): Include. * dwarfread.c (GPLUS_PRODUCER, LCC_PRODUCER, CFRONT_PRODUCER): New producer string prefixes to recognize. * dwarfread.c (handle_producer): Consolidate actions for specific producers. Set demangling style based on producer string if current style is auto. (Note: this feature currently disabled.) * config/ncr3000.mt (DEMANGLE_OPTS): Remove.
Diffstat (limited to 'gdb/demangle.h')
-rw-r--r--gdb/demangle.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/gdb/demangle.h b/gdb/demangle.h
index 71cdb80..ce50eb7 100644
--- a/gdb/demangle.h
+++ b/gdb/demangle.h
@@ -1,4 +1,4 @@
-/* Demangler defs for GNU C++ style demangling.
+/* Defs for interface to demanglers.
Copyright 1992 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -18,3 +18,20 @@
#define DMGL_PARAMS (1 << 0) /* Include function args */
#define DMGL_ANSI (1 << 1) /* Include const, volatile, etc */
+
+extern enum demangling_styles
+{
+ unknown_demangling = 0,
+ auto_demangling,
+ gnu_demangling,
+ lucid_demangling,
+ cfront_demangling
+} current_demangling_style;
+
+#define GNU_DEMANGLING_STYLE_STRING "gnu"
+#define LUCID_DEMANGLING_STYLE_STRING "lucid"
+#define CFRONT_DEMANGLING_STYLE_STRING "cfront"
+#define AUTO_DEMANGLING_STYLE_STRING "auto"
+
+extern void
+set_demangling_style PARAMS ((char *));