This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++/ObjC identifiers charset conversion cleanup
"Joseph S. Myers" <joseph@codesourcery.com> writes:
| I discovered that this patch
| <http://gcc.gnu.org/ml/gcc-patches/2009-05/msg00198.html> caused ICEs
| building a few tests from the glibc testsuite. The condition for the
| ICEs was:
usual database hell; I completely missed that too.
>
| * The cache of function printable names included both the translated
| and untranslated versions of the current function's name,
| consecutively.
>
| * A call was made to cxx_printable_name_internal for the verbose name
| of a function other than the current function, while the pointer to
| the next cache entry for potential replacement pointed to the first
| entry for the current function.
>
| Meeting the second condition may require diagnostics with an "inlined
| from" location, which appears to need a "sufficiently complicated"
| inline function (very simple ones do not appear to generate such
| locations). The first can be achieved with __PRETTY_FUNCTION__, for
| example, or with various code that internally uses the verbose
| function name other than for diagnostics. The testcase included is
| the simplest synthetic test I could come up with; the glibc tests are
| tests of _FORTIFY_SOURCE for C++ and have complicated sequences of
| inline functions.
>
| This patch fixes the ICE by allowing for the two consecutive entries
| for the current function. Bootstrapped with no regressions on
| x86_64-unknown-linux-gnu. OK to commit?
Yes. Thanks!
-- Gaby