incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anton Pevtsov" <Ant...@moscow.vdiweb.com>
Subject RE: release configurations (8d, 8s, 12d, 12s) fail to compile on Windows, MSVC 7.1
Date Fri, 09 Jun 2006 14:02:50 GMT
Martin, what about this issue?

I tried to rebuild all configurations and found that release are still
broken.
Maybe, we should open a jira issue to not forget about the problem?

Or does this issue appear on my side only?


Thanks,
Anton Pevtsov


-----Original Message-----
From: Martin Sebor [mailto:sebor@roguewave.com] 
Sent: Friday, April 21, 2006 23:03
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:
> Unfortunately, I didn't build release configurations during long 
> periof of time.
> 
> But I suspect this commit: 
> http://svn.apache.org/viewcvs?rev=374551&view=rev
[...]

You're most likely right.

> It seems that there is a conflict between declarations of the swprintf

> from stdio.h and this one.
> 
> 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
> ...

Ugh. What a mess!

> 
> 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.

I suspect that's what we'll have to do. I.e., hardcode this into our
<cstdio> header for Windows/MSVC.

> The same is true for vswprintf and wctomb functions.

Let me look into it. Strangely, I don't see it in our nightly builds.

Martin

Mime
View raw message