aboutsummaryrefslogtreecommitdiff
path: root/libiberty/cp-demangle.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2003-12-20 16:06:10 +0000
committerDJ Delorie <dj@redhat.com>2003-12-20 16:06:10 +0000
commit2730f65149c0106eca3b7967b4ba7fe970b0e362 (patch)
treef121696e5a90507f58e45a2d4332f7fac8b4df23 /libiberty/cp-demangle.c
parent59207364ed59269dff01517926f14720ac8a0cba (diff)
downloadgdb-2730f65149c0106eca3b7967b4ba7fe970b0e362.zip
gdb-2730f65149c0106eca3b7967b4ba7fe970b0e362.tar.gz
gdb-2730f65149c0106eca3b7967b4ba7fe970b0e362.tar.bz2
merge from gcc
Diffstat (limited to 'libiberty/cp-demangle.c')
-rw-r--r--libiberty/cp-demangle.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 27e09df..1e5684c 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -1341,6 +1341,13 @@ d_identifier (di, len)
name = d_str (di);
d_advance (di, len);
+ /* A Java mangled name may have a trailing '$' if it is a C++
+ keyword. This '$' is not included in the length count. We just
+ ignore the '$'. */
+ if ((di->options & DMGL_JAVA) != 0
+ && d_peek_char (di) == '$')
+ d_advance (di, 1);
+
/* Look for something which looks like a gcc encoding of an
anonymous namespace, and replace it with a more user friendly
name. */