> -----Original Message-----
> From: Martin Sebor [mailto:[EMAIL PROTECTED] 
> 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.

Reply via email to