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