From dev-return-8238-apmail-stdcxx-dev-archive=stdcxx.apache.org@stdcxx.apache.org Wed Jul 23 23:00:47 2008 Return-Path: Delivered-To: apmail-stdcxx-dev-archive@www.apache.org Received: (qmail 92019 invoked from network); 23 Jul 2008 23:00:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 23 Jul 2008 23:00:47 -0000 Received: (qmail 43042 invoked by uid 500); 23 Jul 2008 23:00:46 -0000 Delivered-To: apmail-stdcxx-dev-archive@stdcxx.apache.org Received: (qmail 43023 invoked by uid 500); 23 Jul 2008 23:00:46 -0000 Mailing-List: contact dev-help@stdcxx.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stdcxx.apache.org Delivered-To: mailing list dev@stdcxx.apache.org Received: (qmail 43012 invoked by uid 99); 23 Jul 2008 23:00:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Jul 2008 16:00:46 -0700 X-ASF-Spam-Status: No, hits=1.8 required=10.0 tests=SPF_PASS,SUBJ_ALL_CAPS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [208.30.140.160] (HELO moroha.roguewave.com) (208.30.140.160) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 23 Jul 2008 22:59:52 +0000 Received: from exchmail01.Blue.Roguewave.Com (exchmail01.blue.roguewave.com [10.22.129.22]) by moroha.roguewave.com (8.13.6/8.13.6) with ESMTP id m6NN0GwO026217 for ; Wed, 23 Jul 2008 23:00:16 GMT X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: STDCXX-600 Date: Wed, 23 Jul 2008 16:59:57 -0600 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: STDCXX-600 Thread-Index: AcjtEOfrRrkxU6qMSCKksaSoLctLNAAAzicw References: From: "Eric Lemings" To: X-Virus-Checked: Checked by ClamAV on apache.org =20 > -----Original Message----- > From: Eric Lemings [mailto:Eric.Lemings@roguewave.com]=20 > Sent: Wednesday, July 23, 2008 4:10 PM > To: dev@stdcxx.apache.org > Subject: STDCXX-600 >=20 > =20 ... >=20 > The following "throw statements" all throw exceptions that are not > getting caught by the compiler's runtime libraries: >=20 > a. _RW::__rw_throw (_RWSTD_ERROR_OUT_OF_RANGE, _RWSTD_FUNC > ("main()"), 1, 0); > b. _RW::__rw_throw_proc (_RWSTD_ERROR_OUT_OF_RANGE, "what"); >=20 > No clue yet why they are not caught. >=20 > The following "throw statement" however is caught properly: >=20 > c. char* what =3D "what"; throw=20 > (_STD::out_of_rang&)_STD::out_of_range > ()._C_assign (what, 0); >=20 > Both of the first throw statements ultimately call the last throw > statement so my current guess is that the problem has something to do > with the internal what buffer. Actually, the second/"b" case above doesn't even use the internal what buffer. So it's not that. So I'm thinking it may be a compiler bug: throwing an exception from different namespaces; i.e. in this case, throwing a `std' exception from a `__rw' function. I built and ran the test case with a more recent version of gcc (4.3) and it works fine. Brad.