From: Jason Merrill Date: Sun, 13 Feb 2005 07:21:41 +0000 (-0500) Subject: cp-demangle.c (__cxa_demangle): Change resolution of ambiguous arguments. X-Git-Tag: releases/gcc-3.4.4~224 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa0bd3b8f10d09ad759554d03ed903af8314c3eb;p=thirdparty%2Fgcc.git cp-demangle.c (__cxa_demangle): Change resolution of ambiguous arguments. * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous arguments. From-SVN: r94981 --- diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 698e9a7fe98a..a23ba90aa634 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,8 @@ +2005-02-13 Jason Merrill + + * cp-demangle.c (__cxa_demangle): Change resolution of ambiguous + arguments. + 2004-11-04 Release Manager * GCC 3.4.3 released. diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index fe4b36712d35..59e561df09bc 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -4048,21 +4048,6 @@ __cxa_demangle (mangled_name, output_buffer, length, status) return NULL; } - /* The specification for __cxa_demangle() is that if the mangled - name could be either an extern "C" identifier, or an internal - built-in type name, then we resolve it as the identifier. All - internal built-in type names are a single lower case character. - Frankly, this simplistic disambiguation doesn't make sense to me, - but it is documented, so we implement it here. */ - if (IS_LOWER (mangled_name[0]) - && mangled_name[1] == '\0' - && cplus_demangle_builtin_types[mangled_name[0] - 'a'].name != NULL) - { - if (status != NULL) - *status = -2; - return NULL; - } - demangled = d_demangle (mangled_name, DMGL_PARAMS | DMGL_TYPES, &alc); if (demangled == NULL)