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