From: Ian Lance Taylor Date: Tue, 24 Feb 2004 04:02:22 +0000 (+0000) Subject: cp-demangle.c (__cxa_demangle): Adjust last patch to handle empty string correctly. X-Git-Tag: releases/gcc-4.0.0~9896 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8ed4ac21eab7729d8fc57f313317c5a414f78ce;p=thirdparty%2Fgcc.git cp-demangle.c (__cxa_demangle): Adjust last patch to handle empty string correctly. * cp-demangle.c (__cxa_demangle): Adjust last patch to handle empty string correctly. From-SVN: r78353 --- diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 97ba223979e2..a43fb90272b3 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,5 +1,8 @@ 2004-02-23 Ian Lance Taylor + * cp-demangle.c (__cxa_demangle): Adjust last patch to handle + empty string correctly. + * cp-demangle.c (__cxa_demangle): It is not an error if status is not NULL. It is an error if the mangled name is the same as a built-in type name. diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c index 4d0dd7e5b706..be7a569f0eea 100644 --- a/libiberty/cp-demangle.c +++ b/libiberty/cp-demangle.c @@ -3964,8 +3964,8 @@ __cxa_demangle (mangled_name, output_buffer, length, status) 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 (mangled_name[1] == '\0' - && IS_LOWER (mangled_name[0]) + if (IS_LOWER (mangled_name[0]) + && mangled_name[1] == '\0' && cplus_demangle_builtin_types[mangled_name[0] - 'a'].name != NULL) { if (status != NULL)