Hans Aberg <[EMAIL PROTECTED]> writes: > The C++ standard, 18.7:5, says:
I'm afraid that doesn't resolve the issue well enough for Bison. A portable ISO C signal handler can't do much of anything -- all it can do is set a global variable. Most real-world signal handlers in Bison-using programs do more than that (e.g., longjmp, remove files, etc.) but they are relying on POSIX guarantees not merely ISO C guarantees. POSIX allows portable signal handlers to do much of the stuff that real-world signal handlers need to do, but POSIX does not specify how C++ programs behave, and C++ does not specify how POSIX signal handling works. So there's no standard for how C++ exception handling interacts with POSIX signals, and in practice I suspect it tends to be a wild and woolly area.
