From stdcxx-dev-return-1203-apmail-incubator-stdcxx-dev-archive=incubator.apache.org@incubator.apache.org Fri Apr 07 14:37:58 2006 Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 49400 invoked from network); 7 Apr 2006 14:37:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 7 Apr 2006 14:37:53 -0000 Received: (qmail 24921 invoked by uid 500); 7 Apr 2006 14:37:49 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 24872 invoked by uid 500); 7 Apr 2006 14:37:48 -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 24610 invoked by uid 99); 7 Apr 2006 14:37:47 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Apr 2006 07:37:46 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of AntonP@moscow.vdiweb.com designates 195.210.189.132 as permitted sender) Received: from [195.210.189.132] (HELO mail.moscow.vdiweb.com) (195.210.189.132) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 07 Apr 2006 07:37:45 -0700 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: release configurations (8d, 8s, 12d, 12s) fail to compile on Windows, MSVC 7.1 Date: Fri, 7 Apr 2006 18:37:34 +0400 Message-ID: <4D6A8407B7AC6F4D95B0E55C4E7C4C6203FEACAE@exmsk.moscow.vdiweb.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: release configurations (8d, 8s, 12d, 12s) fail to compile on Windows, MSVC 7.1 Thread-Index: AcZZiH89h92kLT1VQvG5yRNczLXeNgAxlC9g From: "Anton Pevtsov" To: X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Unfortunately, I didn't build release configurations during long periof of time. But I suspect this commit: http://svn.apache.org/viewcvs?rev=3D374551&view=3Drev It added the following code into cwchar: ... #ifndef _RWSTD_NO_SWPRINTF using ::swprintf; #elif !defined (_RWSTD_NO_SWPRINTF_IN_LIBC) } // namespace std extern "C" int swprintf (wchar_t*, size_t, const wchar_t*, ...); namespace std { using ::swprintf; # undef _RWSTD_NO_SWPRINTF #endif // _RWSTD_NO_SWPRINTF[_IN_LIBC] ... And this with the following inculde-for-release-only code from _traits.h (line 85) ... #else // if !defined (_RWSTDDEBUG) && !defined (_RWSTD_EDG_ECCP) # include _RWSTD_CSTRING // for memcmp(), ... # include _RWSTD_CWCHAR // wmemcmp(), ... ... caused the compilation error. Also, the config.h contains the _RWSTD_NO_SWPRINTF definition and not contains _RWSTD_NO_SWPRINTF_IN_LIBC. It seems that there is a conflict between declarations of the swprintf from stdio.h and this one.=20 The stdio.h contains ... /* This non-standard definition exists for historical reasons to avoid breaking old code */ _CRTIMP int __cdecl swprintf(wchar_t *, const wchar_t *, ...); #ifdef __cplusplus /* For C++ we have an overloaded version with the standard definition */ extern "C++" _CRTIMP int __cdecl swprintf(wchar_t *, size_t, const wchar_t *, ...); #endif ... It is possible to avoid the error (but not warning for dll's) using extern "C++" instead of extern "C" to allow overloading, but I am not sure that this way is correct. The same is true for vswprintf and wctomb functions. Thanks, Anton Pevtsov=20 -----Original Message----- From: Martin Sebor [mailto:sebor@roguewave.com]=20 Sent: Thursday, April 06, 2006 18:42 To: stdcxx-dev@incubator.apache.org Subject: Re: release configurations (8d, 8s, 12d, 12s) fail to compile on Windows, MSVC 7.1 Anton Pevtsov wrote: > Building the library using any release configuration ens with the=20 > following compile errors: Hmm. Do you happen to know what commit caused this? Can you revert it in your local tree to get past the errors until I figure out how to fix whatever it is that's broken? Martin >=20 > D:\Projects\RogueWave\work\apache\src\..\include\ansi\cwchar(311) :=20 > error C2732: linkage specification contradicts earlier specification=20 > for 'swprintf' > =20 > D:\Projects\RogueWave\work\apache\src\..\include\ansi\cwchar(311) :=20 > see declaration of 'swprintf' > D:\Projects\RogueWave\work\apache\src\..\include\ansi\cwchar(371) :=20 > error C2732: linkage specification contradicts earlier specification=20 > for 'vswprintf' > =20 > D:\Projects\RogueWave\work\apache\src\..\include\ansi\cwchar(371) :=20 > see declaration of 'vswprintf' >=20 > At the same time debug configurations (11d, 11s, 15d, 15s) build=20 > without errors. >=20 >=20 > Thanks, > Anton Pevtsov