summaryrefslogtreecommitdiff
path: root/libiberty/cplus-dem.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-12-06 21:57:28 +0000
committerRichard Henderson <rth@redhat.com>2001-12-06 21:57:28 +0000
commit2da4c07f1cfa10b4590491171f7eb73932ea3a59 (patch)
tree4c19ecee5b8a7e2b662c5a6ca13c6e9fbf3c67f0 /libiberty/cplus-dem.c
parented1801dfff5252ea5cc2e7b53ccc3e1d76d35613 (diff)
downloadbinutils-gdb-2da4c07f1cfa10b4590491171f7eb73932ea3a59.tar.gz
* demangle.h (no_demangling): New.
(NO_DEMANGLING_STYLE_STRING): New. * cplus-dem.c (libiberty_demanglers): Add no_demangling case. (cplus_demangle): Support no_demangling.
Diffstat (limited to 'libiberty/cplus-dem.c')
-rw-r--r--libiberty/cplus-dem.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
index e19340c5ada..a35ff14624e 100644
--- a/libiberty/cplus-dem.c
+++ b/libiberty/cplus-dem.c
@@ -259,6 +259,12 @@ typedef enum type_kind_t
const struct demangler_engine libiberty_demanglers[] =
{
{
+ NO_DEMANGLING_STYLE_STRING,
+ no_demangling,
+ "Demangling disabled"
+ }
+ ,
+ {
AUTO_DEMANGLING_STYLE_STRING,
auto_demangling,
"Automatic selection based on executable"
@@ -909,6 +915,10 @@ cplus_demangle (mangled, options)
{
char *ret;
struct work_stuff work[1];
+
+ if (current_demangling_style == no_demangling)
+ return xstrdup (mangled);
+
memset ((char *) work, 0, sizeof (work));
work->options = options;
if ((work->options & DMGL_STYLE_MASK) == 0)