* demangle.h (no_demangling): New.
authorRichard Henderson <rth@redhat.com>
Thu, 6 Dec 2001 21:57:28 +0000 (21:57 +0000)
committerRichard Henderson <rth@redhat.com>
Thu, 6 Dec 2001 21:57:28 +0000 (21:57 +0000)
        (NO_DEMANGLING_STYLE_STRING): New.

        * cplus-dem.c (libiberty_demanglers): Add no_demangling case.
        (cplus_demangle): Support no_demangling.

include/ChangeLog
include/demangle.h
libiberty/ChangeLog
libiberty/cplus-dem.c

index 4fea6f2..01e75c1 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-06  Richard Henderson  <rth@redhat.com>
+
+       * demangle.h (no_demangling): New.
+       (NO_DEMANGLING_STYLE_STRING): New.
+
 2001-11-14  Alan Modra  <amodra@bigpond.net.au>
 
        * dis-asm.h (print_insn_i386): Declare.
index a314a24..a898218 100644 (file)
@@ -54,6 +54,7 @@
 
 extern enum demangling_styles
 {
+  no_demangling = -1,
   unknown_demangling = 0,
   auto_demangling = DMGL_AUTO,
   gnu_demangling = DMGL_GNU,
@@ -68,6 +69,7 @@ extern enum demangling_styles
 
 /* Define string names for the various demangling styles. */
 
+#define NO_DEMANGLING_STYLE_STRING            "none"
 #define AUTO_DEMANGLING_STYLE_STRING         "auto"
 #define GNU_DEMANGLING_STYLE_STRING                  "gnu"
 #define LUCID_DEMANGLING_STYLE_STRING        "lucid"
index e79260d..5546177 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-06  Richard Henderson  <rth@redhat.com>
+
+       * cplus-dem.c (libiberty_demanglers): Add no_demangling case.
+       (cplus_demangle): Support no_demangling.
+
 2001-11-27  Zack Weinberg  <zack@codesourcery.com>
 
        * _doprnt.c: Moved here from gcc/doprint.c.  Adjust to build
index e19340c..a35ff14 100644 (file)
@@ -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)