From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28921 invoked by alias); 28 Nov 2012 18:02:09 -0000 Received: (qmail 28893 invoked by uid 22791); 28 Nov 2012 18:02:07 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=AWL,BAYES_20,DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,NML_ADSP_CUSTOM_MED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-wi0-f175.google.com (HELO mail-wi0-f175.google.com) (209.85.212.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 28 Nov 2012 18:02:02 +0000 Received: by mail-wi0-f175.google.com with SMTP id hm11so4608415wib.8 for ; Wed, 28 Nov 2012 10:02:01 -0800 (PST) MIME-Version: 1.0 Received: by 10.180.100.73 with SMTP id ew9mr14057324wib.21.1354125721054; Wed, 28 Nov 2012 10:02:01 -0800 (PST) Received: by 10.216.153.132 with HTTP; Wed, 28 Nov 2012 10:02:00 -0800 (PST) In-Reply-To: References: Date: Wed, 28 Nov 2012 18:02:00 -0000 Message-ID: Subject: Re: [patch libstdc++]: Fix PR target/55445 Always defined __SEH__ when build from trunk From: Kai Tietz To: GCC Patches Cc: "libstdc++" Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg02352.txt.bz2 Ping 2012/11/25 Kai Tietz : > Hi, > > this patch fixes used exception-mechanism for SEH-enabled targets, > which are requesting for SjLj-exception-mechanism. > See also patch for libgcc. > > ChangeLog > > 2012-11-25 Kai Tietz > > PR target/55445 > * libsupc++/eh_personaltity.cc (__SEH__): Additional check > for not being SjLj. > > Tested for multilib i686-w64-mingw32, and x86_64-w64-mingw32 targets. > Ok for apply? > > Regards, > Kai > > Index: eh_personality.cc > =================================================================== > --- eh_personality.cc (Revision 193669) > +++ eh_personality.cc (Arbeitskopie) > @@ -332,13 +332,13 @@ > #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 @@ > } > #endif > > -#ifdef __SEH__ > +#if defined (__SEH__) && !defined (_GLIBCXX_SJLJ_EXCEPTIONS) > extern "C" > EXCEPTION_DISPOSITION > __gxx_personality_seh0 (PEXCEPTION_RECORD ms_exc, void *this_frame, -- | (\_/) This is Bunny. Copy and paste | (='.'=) Bunny into your signature to help | (")_(") him gain world domination