This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [patch] Clean up detection of SJLJ exceptions in target libraries
- From: Ian Lance Taylor <iant at google dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, "libstdc++ at gcc dot gnu dot org" <libstdc++ at gcc dot gnu dot org>, GCJ-patches <java-patches at gcc dot gnu dot org>
- Date: Wed, 13 May 2015 09:26:02 -0700
- Subject: Re: [patch] Clean up detection of SJLJ exceptions in target libraries
- Authentication-results: sourceware.org; auth=none
- References: <1440100 dot 16fMh0Bpp2 at polaris>
On Tue, May 12, 2015 at 9:42 AM, Eric Botcazou <ebotcazou@adacore.com> wrote:
>
> 6 target libraries in the tree detect whether they are being compiled by a
> compiler configured for setjmp/longjmp exceptions: libada, libgcc, libgo,
> libjava, libobjc and libstdc++. They can be divided into 3 categories:
> 1) libada only checks the preprocessor macro __USING_SJLJ_EXCEPTIONS__,
> 2) libgcc and libgo both check the preprocessor macro and implement a
> configure check that defines another macro (LIBGCC_SJLJ_EXCEPTIONS and
> LIBGO_SJLJ_EXCEPTIONS resp) so they'd better agree.
> 3) libjava, libobjc and libstdc++ implement a configure check that defines a
> macro (SJLJ_EXCEPTIONS, SJLJ_EXCEPTIONS and _GLIBCXX_SJLJ_EXCEPTIONS resp).
>
> The attached patch gets rid of the library-specific macros and replaces them
> with __USING_SJLJ_EXCEPTIONS__. Moreover, it adds a config/sjlj.m4 fragment
> that defines GCC_CHECK_SJLJ_EXCEPTIONS for libraries that need to detect the
> exception model in the configure phase (libgcc and libjava only).
>
> Tested on x86_64-suse-linux with --enable-sjlj-exceptions. The results are
> not clean (except for objc and obj-c++) but sufficient to see that exceptions
> still work after the patch. OK for the mainline?
The libgo parts are fine, but since libgo is mirrored from an external
repository I'll commit those parts myself.
I assume I can go ahead and commit them now? There is no reason to
wait for the rest of the patch, is there?
Ian