This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]