Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 41466 invoked from network); 17 Oct 2007 18:21:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Oct 2007 18:21:08 -0000 Received: (qmail 26110 invoked by uid 500); 17 Oct 2007 18:20:55 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 26048 invoked by uid 500); 17 Oct 2007 18:20:55 -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 26037 invoked by uid 99); 17 Oct 2007 18:20:55 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Oct 2007 11:20:55 -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.quovadx.com) (208.30.140.160) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 17 Oct 2007 18:20:59 +0000 Received: from exchmail01.Blue.Roguewave.Com (exchmail01.blue.roguewave.com [10.22.129.22]) by moroha.quovadx.com (8.13.6/8.13.6) with ESMTP id l9HIHqrA026096 for ; Wed, 17 Oct 2007 18:17:53 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-509 Date: Wed, 17 Oct 2007 12:19:07 -0600 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: STDCXX-509 Thread-Index: AcgQ47pjPSVOxERJRRac4G8FDInE8wABcrGw References: <47159353.1030509@roguewave.com> <471646AA.5080901@roguewave.com> From: "Travis Vitek" To: X-Virus-Checked: Checked by ClamAV on apache.org >Martin Sebor wrote: > >Travis Vitek wrote: >> So I've been looking at the issue of the missing symbols for the >> destructor, copy constructor and assignment operators for bad_cast, >> bad_typeid and exceptions. Specifically, these symbols... > >So based on the config macros below, 4.1.3 shouldn't have had >the definition of the exception copy assignment operator in it >(i.e., it should have come from the runtime library), whereas >4.2.0 should have it in it. Yet the 4.1.3 examples aren't >finding the symbol either in the MSVC runtime (which is the >same), or in the 4.2.0 dll? > Nope, you're backwards here. As an example, the config.h for 4.1.3 does _not_ define _RWSTD_NO_BAD_CAST_ASSIGNMENT [the define is commented out], so the 4.1.3 library will have bad_cast::operator=3D() defined. The 4.2.0 = library does have the macro defined, so the symbol omitted from the library. > >You are running the 4.1.3 examples with the 4.2.0 library, >right? I.e., not 4.2.0 examples with the 4.1.3 library. Just >checking. > Yes. As outlined in my previous e-mail, I'm running the 4.1.3 examples/tests with the 4.2.0 dll. >Martin > >>=20 >> The 4.1.3 config.h header has the following defines >>=20 >> // #define _RWSTD_NO_BAD_CAST_ASSIGNMENT >> // #define _RWSTD_NO_BAD_CAST_COPY_CTOR >> #define _RWSTD_NO_BAD_CAST_DEFAULT_CTOR >> // #define _RWSTD_NO_BAD_CAST_DTOR >> #define _RWSTD_NO_BAD_CAST_WHAT >>=20 >> // #define _RWSTD_NO_BAD_TYPEID_ASSIGNMENT >> // #define _RWSTD_NO_BAD_TYPEID_COPY_CTOR >> #define _RWSTD_NO_BAD_TYPEID_DEFAULT_CTOR >> // #define _RWSTD_NO_BAD_TYPEID_DTOR >> #define _RWSTD_NO_BAD_TYPEID_WHAT >>=20 >> // #define _RWSTD_NO_EXCEPTION_ASSIGNMENT >> // #define _RWSTD_NO_EXCEPTION_COPY_CTOR >> // #define _RWSTD_NO_EXCEPTION_DEFAULT_CTOR >> // #define _RWSTD_NO_EXCEPTION_DTOR >> // #define _RWSTD_NO_EXCEPTION_WHAT >>=20 >> The 4.2.0 config.h header has the following defines >>=20 >> #define _RWSTD_NO_BAD_CAST_ASSIGNMENT >> #define _RWSTD_NO_BAD_CAST_COPY_CTOR >> #define _RWSTD_NO_BAD_CAST_DEFAULT_CTOR >> #define _RWSTD_NO_BAD_CAST_DTOR >> #define _RWSTD_NO_BAD_CAST_WHAT >>=20 >> #define _RWSTD_NO_BAD_TYPEID_ASSIGNMENT >> #define _RWSTD_NO_BAD_TYPEID_COPY_CTOR >> #define _RWSTD_NO_BAD_TYPEID_DEFAULT_CTOR >> #define _RWSTD_NO_BAD_TYPEID_DTOR >> #define _RWSTD_NO_BAD_TYPEID_WHAT >>=20 >> #define _RWSTD_NO_EXCEPTION_ASSIGNMENT >> #define _RWSTD_NO_EXCEPTION_COPY_CTOR >> #define _RWSTD_NO_EXCEPTION_DEFAULT_CTOR >> #define _RWSTD_NO_EXCEPTION_DTOR >> #define _RWSTD_NO_EXCEPTION_WHAT >>=20 >> This is pretty consistent with what I'm expecting. I'm=20 >looking into the >> config tests now to see why we have a change in behavior=20 >with the same >> configuration. >>=20 >> Travis > >