From d06ba3c7e614ff24f9a75edef39833ef0887af03 Mon Sep 17 00:00:00 2001
From: Richard Henderson <rth@redhat.com>
Date: Thu, 6 Dec 2001 13:56:15 -0800
Subject: [PATCH] demangle.h (no_demangling): New.

        * demangle.h (no_demangling): New.
        (NO_DEMANGLING_STYLE_STRING): New.

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

From-SVN: r47733
---
 include/ChangeLog     |  5 +++++
 include/demangle.h    |  2 ++
 libiberty/ChangeLog   |  5 +++++
 libiberty/cplus-dem.c | 10 ++++++++++
 4 files changed, 22 insertions(+)

diff --git a/include/ChangeLog b/include/ChangeLog
index d1f4fbc97a6c..bf5df1d2b221 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2001-12-06  Richard Henderson  <rth@redhat.com>
+
+	* demangle.h (no_demangling): New.
+	(NO_DEMANGLING_STYLE_STRING): New.
+
 2001-10-24  Neil Booth  <neil@daikokuya.demon.co.uk>
 
 	* include/safe-ctype.h (_sch_isbasic, IS_ISOBASIC): New.
diff --git a/include/demangle.h b/include/demangle.h
index a314a2410cd1..a898218f4b84 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -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"
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index cad39224ca94..3ba5c38b0ac3 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -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
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
index e19340c5ada1..a35ff14624e6 100644
--- a/libiberty/cplus-dem.c
+++ b/libiberty/cplus-dem.c
@@ -258,6 +258,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,
@@ -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)
-- 
GitLab