From 02f9e21a26d1b17ecc982e78471075f9fa70c09f Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktietz@redhat.com>
Date: Thu, 29 Nov 2012 10:39:49 +0100
Subject: [PATCH] re PR target/55445 (Always defined __SEH__ when build from
 trunk)

        PR target/55445
        * libsupc++/eh_personaltity.cc (__SEH__): Additional check
        for not being SjLj.

From-SVN: r193929
---
 libstdc++-v3/ChangeLog                   | 6 ++++++
 libstdc++-v3/libsupc++/eh_personality.cc | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b5d9fbd9d9c2..5d05bbe28736 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-29  Kai Tietz  <ktietz@redhat.com>
+
+	PR target/55445
+	* libsupc++/eh_personaltity.cc (__SEH__): Additional check
+	for not being SjLj.
+
 2012-11-28  Andrew Pinski  <apinski@cavium.com>
 
 	PR bootstrap/54279
diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
index 2963c0c584a3..c339a3e4301d 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -332,13 +332,13 @@ namespace __cxxabiv1
 #ifdef _GLIBCXX_SJLJ_EXCEPTIONS
 #define PERSONALITY_FUNCTION	__gxx_personality_sj0
 #define __builtin_eh_return_data_regno(x) x
-#elif defined(__SEH__)
+#elif defined(__SEH__) && !defined (_GLIBCXX_SJLJ_EXCEPTIONS)
 #define PERSONALITY_FUNCTION	__gxx_personality_imp
 #else
 #define PERSONALITY_FUNCTION	__gxx_personality_v0
 #endif
 
-#ifdef __SEH__
+#if defined (__SEH__) && !defined (_GLIBCXX_SJLJ_EXCEPTIONS)
 static
 #else
 extern "C"
@@ -785,7 +785,7 @@ __cxa_call_unexpected (void *exc_obj_in)
 }
 #endif
 
-#ifdef __SEH__
+#if defined (__SEH__) && !defined (_GLIBCXX_SJLJ_EXCEPTIONS)
 extern "C"
 EXCEPTION_DISPOSITION
 __gxx_personality_seh0 (PEXCEPTION_RECORD ms_exc, void *this_frame,
-- 
GitLab