diff options
author | ktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-29 09:36:41 +0000 |
---|---|---|
committer | ktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-11-29 09:36:41 +0000 |
commit | a92cf445a6200e38e2aaf18d5181df017905cd46 (patch) | |
tree | 5a6a2c903a77a359f7e83eade2e215cf7c3deafe /libgcc | |
parent | f67e2d48d4c6681dec397577a6a663e596881ab7 (diff) | |
download | gcc-a92cf445a6200e38e2aaf18d5181df017905cd46.tar.gz |
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
Diffstat (limited to 'libgcc')
-rw-r--r-- | libgcc/ChangeLog | 7 | ||||
-rw-r--r-- | libgcc/unwind-c.c | 4 | ||||
-rw-r--r-- | libgcc/unwind-generic.h | 4 | ||||
-rw-r--r-- | libgcc/unwind-seh.c | 4 |
4 files changed, 13 insertions, 6 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 6506e85e89f..616e21ca47e 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,10 @@ +2012-11-29 Kai Tietz <ktietz@redhat.com> + + 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 <rth@redhat.com> PR libgcc/48076 diff --git a/libgcc/unwind-c.c b/libgcc/unwind-c.c index eb50ad82a17..60b4239024a 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 c9c993b2785..95aee831396 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 <windows.h> #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 24e4280fde7..608fe6f1ba3 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__) */ |