Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 69100 invoked from network); 28 Nov 2007 16:21:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 Nov 2007 16:21:48 -0000 Received: (qmail 9568 invoked by uid 500); 28 Nov 2007 16:21:36 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 9506 invoked by uid 500); 28 Nov 2007 16:21:36 -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 9495 invoked by uid 99); 28 Nov 2007 16:21:36 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Nov 2007 08:21:36 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [208.30.140.160] (HELO moroha.roguewave.com) (208.30.140.160) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Nov 2007 16:21:17 +0000 Received: from [10.70.3.143] ([10.70.3.143]) by moroha.roguewave.com (8.13.6/8.13.6) with ESMTP id lASGLJkn003987 for ; Wed, 28 Nov 2007 16:21:19 GMT Message-ID: <474D957F.7080700@roguewave.com> Date: Wed, 28 Nov 2007 09:21:19 -0700 From: Martin Sebor User-Agent: Thunderbird 2.0.0.9 (X11/20071031) MIME-Version: 1.0 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 References: <20071122152030.9AD001A9832@eris.apache.org> In-Reply-To: <20071122152030.9AD001A9832@eris.apache.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org faridz@apache.org wrote: > Author: faridz > Date: Thu Nov 22 07:20:29 2007 > New Revision: 597425 > > URL: http://svn.apache.org/viewvc?rev=597425&view=rev If _RWSTD_STRICT_ANSI is not #defined and one or both of getwc or putwc is shadowed by a macro, aren't the using declarations for the two functions going to cause problems? Martin > Log: > 2007-11-21 Farid Zaripov > > STDCXX-637 > * include/ansi/cwchar [_RWSTD_STRICT_ANSI]: #undefine getwc > and putwc masking macros. > * tests/strings/21.cwchar.cpp (test_macros): Issue rw_warn() > instead of rw_assert() in non strict ANSI mode. > (test_functions): Issue rw_warn() instead of rw_assert(). > > Modified: > incubator/stdcxx/branches/4.2.x/include/ansi/cwchar > incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp > > Modified: incubator/stdcxx/branches/4.2.x/include/ansi/cwchar > URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/include/ansi/cwchar?rev=597425&r1=597424&r2=597425&view=diff > ============================================================================== > --- incubator/stdcxx/branches/4.2.x/include/ansi/cwchar (original) > +++ incubator/stdcxx/branches/4.2.x/include/ansi/cwchar Thu Nov 22 07:20:29 2007 > @@ -46,6 +46,13 @@ > #include _RWSTD_ANSI_C_WCHAR_H > > > +#ifdef _RWSTD_STRICT_ANSI > +// 17.4.1.2, p6 - masking macros are not allowed > +# undef getwc > +# undef putwc > +#endif // _RWSTD_STRICT_ANSI > + > + > #if _RWSTD_NAMESPACE_STD_OPEN == 17 > #undef _RWSTD_NAMESPACE_STD_OPEN > > > Modified: incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp > URL: http://svn.apache.org/viewvc/incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp?rev=597425&r1=597424&r2=597425&view=diff > ============================================================================== > --- incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp (original) > +++ incubator/stdcxx/branches/4.2.x/tests/strings/21.cwchar.cpp Thu Nov 22 07:20:29 2007 > @@ -509,9 +509,15 @@ > } > > for (unsigned i = 0; masking_macros [i]; ++i) { > +#ifdef _RWSTD_STRICT_ANSI > rw_assert ('\0' == masking_macros [i][0], 0, __LINE__, > "masking macro %s unexpectedly defined", > masking_macros [i]); > +#else > + rw_warn ('\0' == masking_macros [i][0], 0, __LINE__, > + "masking macro %s unexpectedly defined", > + masking_macros [i]); > +#endif > } > } > > @@ -855,13 +861,13 @@ > std_name, #fun, overload < 0, 0 == overload); \ > const char* const return_type_name = \ > get_type_name ((T)0, std::fun args); \ > - rw_assert (0 == ncalls, 0, __LINE__, \ > - "%s::%s(" \ > - "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \ > - "not declared (_RWSTD_NO_%s = %d, " \ > - "_RWSTD_NO_%s_IN_LIBC = %d)", \ > - std_name, #fun, overload < 0, 0 == overload, \ > - #macro, EVAL (macro), #macro, EVAL_IN_LIBC (macro)); \ > + rw_warn (0 == ncalls, 0, __LINE__, \ > + "%s::%s(" \ > + "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \ > + "not declared (_RWSTD_NO_%s = %d, " \ > + "_RWSTD_NO_%s_IN_LIBC = %d)", \ > + std_name, #fun, overload < 0, 0 == overload, \ > + #macro, EVAL (macro), #macro, EVAL_IN_LIBC (macro)); \ > if (0 == ncalls) \ > rw_assert (0 == return_type_name, 0, __LINE__, "%s::%s(" \ > "%{?}%{:}/* %{?}non-%{;}const overload */%{;}) " \ > >