https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61372

--- Comment #3 from David Crocker <dcrocker at eschertech dot com> ---
(In reply to Jonathan Wakely from comment #2)
> extern "C" functions can throw, so it would be wrong to unconditionally
> assume they can't.

True, you can write an extern "C" function that throws. But does it ever make
sense to? I don't think so. Functions written in C and then declared extern "C"
in a C++ program so that they can be called from C++ won't throw or propagate
exceptions, even if they end up calling functions written in C++ that throw.
The only reason to write a function in C++ and declare it extern "C" is so that
it call be called from C, in which case it had better not throw.

Reply via email to