]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR target/55445
authorktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Nov 2012 09:36:41 +0000 (09:36 +0000)
committerktietz <ktietz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Nov 2012 09:36:41 +0000 (09:36 +0000)
        * 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
libgcc/unwind-c.c
libgcc/unwind-generic.h
libgcc/unwind-seh.c

index 6506e85e89fa5849049e13784bde53d0c427d82f..616e21ca47ec17b200059bec9311548e33446c9c 100644 (file)
@@ -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
index eb50ad82a17db6c38acab943ded81167b691983c..60b4239024a3a41a863b9b1893b776f91c680c53 100644 (file)
@@ -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)
index c9c993b2785ac5ebb6010a7530b49ede69e01e72..95aee8313960c52f0ae4f7685433b2b276157266 100644 (file)
@@ -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,
index 24e4280fde7e6a9d0a47a38399cdeea69147888b..608fe6f1ba3b5a6c1cf3d4bc80ff8011cf1449f7 100644 (file)
@@ -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__)  */