[Bug libstdc++/64535] Emergency buffer for exception allocation too small

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jan 9 09:01:00 GMT 2015


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #5)
> Created attachment 34399 [details]
> patch fixing comment #4
> 
> This fixes the issue in comment #4 (it also decreases the emergency EH
> object size).

Note that raising std::bad_alloc from __cxa_allocate_exception looks like
an ABI change as that function is declared throw().  Which means that
shrinking the exceptional object size makes more cases non-conforming
(if the testcase in comment #4 is supposed to work).  Not shrinking the
exceptional object size makes increasing the number of exceptional objects
less of a non-brainer :/  The C++ FE declares the functions ECF_NOTHROW,
so I wonder how my patch ended up fixing the testcase...



More information about the Gcc-bugs mailing list