Deallocators and Exceptions
Jim Dehnert
dehnert at baalbek.engr.sgi.com
Wed Aug 30 23:23:37 UTC 2000
> From: "Jeffrey D. Oldham" <oldham at codesourcery.com>
>
> In the draft C++ ABI for IA-64, \S 3.3.3, __cxa_vec_new2 (), what is
> required if dealloc () throws an exception?
>
> I see three possibilities:
>
> 1. The C++ standard prohibits deallocators from throwing exceptions.
> (I could not find such a requirement.)
>
> 2. Make the result undefined as what happens when a destructor throws
> an exception. (See __cxa_new_vec ().)
>
> 3. Require calling std::terminate () because we cannot guarantee
> memory will be left in a coherent state.
(2) would be consistent with what we've specified for throws from the
destructor. Any other observations? We'll discuss tomorrow.
Jim
- Jim Dehnert dehnert at sgi.com
(650)933-4272
More information about the cxx-abi-dev
mailing list