http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50888

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-11-22 
15:19:53 UTC ---
(In reply to comment #6)
> I suppose I don't really object to a workaround in libjava, but surely the
> sensible thing to do is fix isspace() not to throw.  It can't, anyway: that
> would be in breach of its spec.

Sorry, forgot about this PR.
isspace is actually marked as not throwing, i.e. throw() in C++.  In glibc
2.15+ it happens to be implemented as throw() inline function which calls
another function (which is throw() too), the problem is that with
-fnon-call-exceptions the compiler doesn't know the function pointer is always
non-NULL and assumes the call instruction might throw on SIGSEGV/SIGILL etc. 
That will always work, but the compiler must assume it doesn't always, thus it
needs -lsupc++ support with which libjava is not linked.

Reply via email to