From: amacleod Date: Fri, 13 Nov 1998 05:55:40 +0000 (+0000) Subject: * cplus-dem.c (demangle_prefix): Use the last __ X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=75ebb412d55ec830fab5587e0c96cdf1e08c13b0;p=platform%2Fupstream%2Flinaro-gcc.git * cplus-dem.c (demangle_prefix): Use the last __ in the mangled name when looking for the signature. This allows template names to begin with __. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23627 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 0e339dc..d4a9015 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,9 @@ +Fri Nov 13 08:51:46 EST 1998 Andrew MacLeod + + *cplus-dem.c (demangle_prefix): Use the last "__" + in the mangled name when looking for the signature. This allows + template names to begin with "__". + 1998-11-08 Mark Mitchell * cplus-dem.c (type_kind_t): Add tk_reference. diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c index 9b3c5ad..5ccf92f 100644 --- a/libiberty/cplus-dem.c +++ b/libiberty/cplus-dem.c @@ -2005,7 +2005,15 @@ demangle_prefix (work, mangled, declp) } else { - demangle_function_name (work, mangled, declp, scan); + const char *tmp; + /* Look for the LAST occurrence of __, allowing names to have + the '__' sequence embedded in them.*/ + while ((tmp = mystrstr (scan+2, "__")) != NULL) + scan = tmp; + if (*(scan + 2) == '\0') + success = 0; + else + demangle_function_name (work, mangled, declp, scan); } } }