summaryrefslogtreecommitdiff
path: root/libiberty/cplus-dem.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl@gnu.org>2002-02-03 04:00:36 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2002-02-02 20:00:36 -0800
commitd74697b84d79ac7f863e9a65b445ac2e72b59090 (patch)
treec5e77d08efd7f3370d2e01b346b00712f1485d05 /libiberty/cplus-dem.c
parent4437e4d46bea5eb68ea903e94fbf18f6b2aeb4ca (diff)
cp-demangle.c (cp_demangle_type): Do not protect with IN_LIBGCC2.
2002-02-02 H.J. Lu (hjl@gnu.org) * cp-demangle.c (cp_demangle_type): Do not protect with IN_LIBGCC2. (cplus_demangle_v3_all): New. (cplus_demangle_v3): Call cplus_demangle_v3_all. (cplus_demangle_v3_type): Call cplus_demangle_v3_all. * cplus-dem.c (cplus_demangle_v3_p): New function pointer. Initialized to cplus_demangle_v3. (cplus_demangle_with_style): Call cplus_demangle_v3_p instead of cplus_demangle_v3. (main): Set cplus_demangle_v3_p to cplus_demangle_v3_type for command line symbol. * testsuite/regress-demangle: Pass the mangled name at the command line. From-SVN: r49456
Diffstat (limited to 'libiberty/cplus-dem.c')
-rw-r--r--libiberty/cplus-dem.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
index 5af88263686..b66d26de6a1 100644
--- a/libiberty/cplus-dem.c
+++ b/libiberty/cplus-dem.c
@@ -478,6 +478,9 @@ do_hpacc_template_literal PARAMS ((struct work_stuff *, const char **, string *)
static int
snarf_numeric_literal PARAMS ((const char **, string *));
+static char* (*cplus_demangle_v3_p) PARAMS ((const char* mangled))
+ = cplus_demangle_v3;
+
/* There is a TYPE_QUAL value for each type qualifier. They can be
combined by bitwise-or to form the complete set of qualifiers for a
type. */
@@ -911,7 +914,7 @@ cplus_demangle (mangled, options)
/* The V3 ABI demangling is implemented elsewhere. */
if (GNU_V3_DEMANGLING || AUTO_DEMANGLING)
{
- ret = cplus_demangle_v3 (mangled);
+ ret = cplus_demangle_v3_p (mangled);
if (ret || GNU_V3_DEMANGLING)
return ret;
}
@@ -5086,6 +5089,7 @@ main (argc, argv)
if (optind < argc)
{
+ cplus_demangle_v3_p = cplus_demangle_v3_type;
for ( ; optind < argc; optind++)
{
demangle_it (argv[optind]);