From a92cf445a6200e38e2aaf18d5181df017905cd46 Mon Sep 17 00:00:00 2001 From: ktietz Date: Thu, 29 Nov 2012 09:36:41 +0000 Subject: [PATCH] PR target/55445 * unwind-c.c (__SEH__): Make sure SjLj isn't active. * unwind-generic.h: Likewise. * unwind-seh.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193928 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgcc/ChangeLog | 7 +++++++ libgcc/unwind-c.c | 4 ++-- libgcc/unwind-generic.h | 4 ++-- libgcc/unwind-seh.c | 4 ++-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 6506e85..616e21c 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 eb50ad8..60b4239 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 c9c993b..95aee83 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 24e4280..608fe6f 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__) */ -- 2.7.4