diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b5d9fbd9d9c..5d05bbe2873 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2012-11-29 Kai Tietz + + PR target/55445 + * libsupc++/eh_personaltity.cc (__SEH__): Additional check + for not being SjLj. + 2012-11-28 Andrew Pinski PR bootstrap/54279 diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc index 2963c0c584a..c339a3e4301 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,