aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2012-11-29 10:36:41 +0100
committerKai Tietz <ktietz@gcc.gnu.org>2012-11-29 10:36:41 +0100
commite5a81c8e46da8597c3f757b8666074947552f8cc (patch)
tree5a6a2c903a77a359f7e83eade2e215cf7c3deafe /libgcc
parent0abbfd21897f5c2f45d513d6d3212dae188e2bd7 (diff)
downloadgcc-e5a81c8e46da8597c3f757b8666074947552f8cc.zip
gcc-e5a81c8e46da8597c3f757b8666074947552f8cc.tar.gz
gcc-e5a81c8e46da8597c3f757b8666074947552f8cc.tar.bz2
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
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog7
-rw-r--r--libgcc/unwind-c.c4
-rw-r--r--libgcc/unwind-generic.h4
-rw-r--r--libgcc/unwind-seh.c4
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 <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 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 <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 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__) */