From: Kai Tietz Date: Thu, 29 Nov 2012 09:36:41 +0000 (+0100) Subject: re PR target/55445 (Always defined __SEH__ when build from trunk) X-Git-Tag: releases/gcc-4.8.0~1701 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e5a81c8e46da8597c3f757b8666074947552f8cc;p=thirdparty%2Fgcc.git re PR target/55445 (Always defined __SEH__ when build from trunk) PR target/55445 * unwind-c.c (__SEH__): Make sure SjLj isn't active. * unwind-generic.h: Likewise. * unwind-seh.c: Likewise. From-SVN: r193928 --- diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 6506e85e89fa..616e21ca47ec 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,10 @@ +2012-11-29 Kai Tietz + + PR target/55445 + * unwind-c.c (__SEH__): Make sure SjLj isn't active. + * unwind-generic.h: Likewise. + * unwind-seh.c: Likewise. + 2012-11-28 Richard Henderson PR libgcc/48076 diff --git a/libgcc/unwind-c.c b/libgcc/unwind-c.c index eb50ad82a17d..60b4239024a3 100644 --- a/libgcc/unwind-c.c +++ b/libgcc/unwind-c.c @@ -109,7 +109,7 @@ PERSONALITY_FUNCTION (_Unwind_State state, struct _Unwind_Exception * ue_header, struct _Unwind_Context * context) #else -#ifdef __SEH__ +#if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__) static #endif _Unwind_Reason_Code @@ -233,7 +233,7 @@ PERSONALITY_FUNCTION (int version, return _URC_INSTALL_CONTEXT; } -#ifdef __SEH__ +#if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__) EXCEPTION_DISPOSITION __gcc_personality_seh0 (PEXCEPTION_RECORD ms_exc, void *this_frame, PCONTEXT ms_orig_context, PDISPATCHER_CONTEXT ms_disp) diff --git a/libgcc/unwind-generic.h b/libgcc/unwind-generic.h index c9c993b2785a..95aee8313960 100644 --- a/libgcc/unwind-generic.h +++ b/libgcc/unwind-generic.h @@ -28,7 +28,7 @@ #ifndef _UNWIND_H #define _UNWIND_H -#ifdef __SEH__ +#if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__) /* Only for _GCC_specific_handler. */ #include #endif @@ -275,7 +275,7 @@ extern void * _Unwind_FindEnclosingFunction (void *pc); # error "What type shall we use for _sleb128_t?" #endif -#ifdef __SEH__ +#if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__) /* Handles the mapping from SEH to GCC interfaces. */ EXCEPTION_DISPOSITION _GCC_specific_handler (PEXCEPTION_RECORD, void *, PCONTEXT, PDISPATCHER_CONTEXT, diff --git a/libgcc/unwind-seh.c b/libgcc/unwind-seh.c index 24e4280fde7e..608fe6f1ba3b 100644 --- a/libgcc/unwind-seh.c +++ b/libgcc/unwind-seh.c @@ -28,7 +28,7 @@ #include "tm.h" #include "unwind.h" -#ifdef __SEH__ +#if defined (__SEH__) && !defined (__USING_SJLJ_EXCEPTIONS__) /* At the moment everything is written for x64, but in theory this could also be used for i386, arm, mips and other extant embedded Windows. */ @@ -480,4 +480,4 @@ _Unwind_Backtrace(_Unwind_Trace_Fn trace ATTRIBUTE_UNUSED, return _URC_END_OF_STACK; #endif } -#endif /* __SEH__ */ +#endif /* __SEH__ && !defined (__USING_SJLJ_EXCEPTIONS__) */