[Patch RFC] N2179: Exception Propagation
Sebastian Redl
sebastian.redl@getdesigned.at
Mon Jul 7 22:21:00 GMT 2008
Sebastian Redl wrote:
> Hi,
>
> The attached patch modifies libsupc++ to implement std::exception_ptr.
> It should apply cleanly to the trunk as of two days ago. No
> regressions on x86-64 and i686 targets. A small number of test cases
> for exception_ptr is included.
>
> A write-up of what I changed is here:
> http://www.codesourcery.com/archives/cxx-abi-dev/msg01924.html
> This is also the formal description of the necessary extension of the
> C++ ABI.
>
> The following backward compatibility statements apply:
>
> 1) Code that links dynamically against libsupc++ should continue to
> work without changes.
>
> 2) Object files generated by different compiler versions can be linked
> together freely. (Barring restrictions from other places.)
>
> 3) Code that links statically against libsupc++ need only be relinked
> to use the new library.
>
> 4) Code consisting of multiple dynamic modules, some of which are
> statically linked against libsupc++, needs to be consistent in the
> version it links to. Having both an old and a new version of libsupc++
> in a single loaded process is not supported; throwing exceptions
> between modules will lead to crashes and even silent misbehavior.
>
> It is my understanding that throwing exceptions between modules that
> statically link against libsupc++ was never actually supported in the
> first place, even if they were all the same version, so #4 should not
> be a concern.
>
>
> The adds a source file to libsupc++, so you'll have to run automake in
> the libstdc++-v3 directory. The Makefile.in diffs are not included in
> the patch, because my automake 2.62 modified a lot of them.
>
>
> Comments are welcome.
>
> Sebastian
I mailed my copyright assignment to the FSF today (will take a few days
to travel over the pond), so I decided to celebrate this by updating the
patch to the current trunk and sending it again.
Sebastian
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: n2179.patch.2
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20080707/0893c23c/attachment.ksh>
More information about the Libstdc++
mailing list