This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] Clean up detection of SJLJ exceptions in target libraries


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]