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

frankhb1989 at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |frankhb1989 at gmail dot com

--- Comment #11 from frankhb1989 at gmail dot com ---
I'd like to say it should be a bug, if I did not get it wrong.
Even for a freestanding implementation, ISO C++11 explicitly specified
<exception> as one of required header in table 16, and it should meet the same
requirements as for a hosted implementation. Missing exception propagation is
definitely not conforming, whether it can actually be implemented or not.
Moreover, the standard doesn't specify anything about atomic operations on
exception propagation, though it does requires that there should be no data
race during some operations. Atomic operations here seem to be purely
implementation details. Can it be implemented with something like
__shared_ptr's lock policy?
This issue also has effect on nested exceptions. Anyway, I feel something
indeed wrong when I have to miss std::nested_exception for this reason on a
platform which has even no multithreading support at all (as allowed by C++11).
Sigh.
BTW, libstdc++ manual Table 1.2 just tell me 'Y' for 18.8.5 and 18.8.6. Found
no other notes about this issue. So at least it can be a defect of
documentation.

Reply via email to