Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 76674 invoked from network); 22 Jun 2007 00:24:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 22 Jun 2007 00:24:35 -0000 Received: (qmail 15503 invoked by uid 500); 22 Jun 2007 00:24:38 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 15485 invoked by uid 500); 22 Jun 2007 00:24:38 -0000 Mailing-List: contact stdcxx-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: stdcxx-dev@incubator.apache.org Delivered-To: mailing list stdcxx-dev@incubator.apache.org Received: (qmail 15474 invoked by uid 99); 22 Jun 2007 00:24:38 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jun 2007 17:24:38 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [208.30.140.160] (HELO moroha.quovadx.com) (208.30.140.160) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 21 Jun 2007 17:24:34 -0700 Received: from qxvcexch01.ad.quovadx.com ([192.168.170.59]) by moroha.quovadx.com (8.13.6/8.13.6) with ESMTP id l5M0ODpl030023 for ; Fri, 22 Jun 2007 00:24:13 GMT Received: from [10.70.3.113] ([10.70.3.113]) by qxvcexch01.ad.quovadx.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 21 Jun 2007 18:23:04 -0600 Message-ID: <467B173C.6030600@roguewave.com> Date: Thu, 21 Jun 2007 18:26:36 -0600 From: Martin Sebor Organization: Rogue Wave Software User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.2) Gecko/20070221 SeaMonkey/1.1.1 MIME-Version: 1.0 To: stdcxx-dev@incubator.apache.org Subject: Re: svn commit: r548112 - /incubator/stdcxx/trunk/tests/support/18.exception.cpp References: <20070617211052.44E111A981A@eris.apache.org> <7BDB2168BEAEF14C98F1901FD2DE64389D655A@epmsa009.minsk.epam.com> In-Reply-To: <7BDB2168BEAEF14C98F1901FD2DE64389D655A@epmsa009.minsk.epam.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 22 Jun 2007 00:23:04.0399 (UTC) FILETIME=[7FE785F0:01C7B463] X-Virus-Checked: Checked by ClamAV on apache.org Farid Zaripov wrote: >> -----Original Message----- >> From: sebor@apache.org [mailto:sebor@apache.org] >> Sent: Monday, June 18, 2007 12:11 AM >> To: stdcxx-commits@incubator.apache.org >> Subject: svn commit: r548112 - >> /incubator/stdcxx/trunk/tests/support/18.exception.cpp >> >> Author: sebor >> Date: Sun Jun 17 14:10:51 2007 >> New Revision: 548112 > > [...] > > The test fails to compile on MSVC after that patch. > The proposed patch below: Darn! The #else branch is of course wrong. It should have been what you said. Sorry about that. Passing SIGABRT as the second argument to sigsetjmp() doesn't make sense since it's treated as just a Boolean flag so I also agree with that change. I see I messed up in all kinds of ways here... Martin > > Index: 18.exception.cpp > =================================================================== > --- 18.exception.cpp (revision 549121) > +++ 18.exception.cpp (working copy) > @@ -57,14 +57,18 @@ > # include // for siglongjmp(), sigsetjmp() > > # define RW_JMP_BUF jmp_buf > -# define RW_SETJMP(env) sigsetjmp (env, SIGABRT) > +# define RW_SETJMP(env) sigsetjmp (env, 0) > # define RW_LONGJMP(env, val) siglongjmp (env, val) > #else // if !defined (_RWSTD_OS_LINUX) > # include // for longjmp(), setjmp() > > # define RW_JMP_BUF std::jmp_buf > -# define RW_SETJMP(env) std::sigsetjmp (env, SIGABRT) > -# define RW_LONGJMP(env, val) std::siglongjmp (env, val) > +# ifdef setjmp > +# define RW_SETJMP(env) setjmp (env) > +# else > +# define RW_SETJMP(env) std::setjmp (env) > +# endif > +# define RW_LONGJMP(env, val) std::longjmp (env, val) > #endif // _RWSTD_OS_LINUX > > > /*********************************************************************** > ***/ > > #ifdef setjmp is needed because of setjmp defined as macro on MSVC. > Or even better would be #include instead of and > don't use the namespace std. > > Farid.