incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Farid Zaripov" <Farid_Zari...@epam.com>
Subject RE: svn commit: r597425 - in /incubator/stdcxx/branches/4.2.x: include/ansi/cwchar tests/strings/21.cwchar.cpp
Date Thu, 29 Nov 2007 16:14:26 GMT
> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com] 
> Sent: Wednesday, November 28, 2007 7:00 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: svn commit: r597425 - in 
> /incubator/stdcxx/branches/4.2.x: include/ansi/cwchar 
> tests/strings/21.cwchar.cpp
> 
> No, I mean when _RWSTD_STRICT_ANSI is not #defined but getwc 
> and putwc are. Then we might end up with something like this:
> 
>    #define getwc()   (stdin->__wide_char)
>    ...
>    using ::getwc;
> 
> expanding to
> 
>    using ::(stdin->__wide_char);

  Yes, potentially here might be a problems.

  BTW in ansi/cctype and ansi/cmath headers the masking macros
are #undefined unconditionally.

 I think first we need to collect information how these macros are
implemented
on different platforms and then decide what should we do.

  In example the MSVC implements getwc() thus fgetwc() (the getwc macro
is
defined fo fgetwc and getwc() crt function just calls fgetwc()). So we
can safely
#undefine these macros on MSVC without functional changes or performance
penalty (I suppose that in release the getwc() function should be
implemented
as "jmp _fgetwc").

Farid.

Mime
View raw message