Return-Path: Delivered-To: apmail-incubator-stdcxx-dev-archive@www.apache.org Received: (qmail 29465 invoked from network); 24 Oct 2007 17:58:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 24 Oct 2007 17:58:42 -0000 Received: (qmail 22497 invoked by uid 500); 24 Oct 2007 17:58:29 -0000 Delivered-To: apmail-incubator-stdcxx-dev-archive@incubator.apache.org Received: (qmail 22479 invoked by uid 500); 24 Oct 2007 17:58:29 -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 22468 invoked by uid 99); 24 Oct 2007 17:58:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Oct 2007 10:58:29 -0700 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.quovadx.com) (208.30.140.160) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Oct 2007 17:58:33 +0000 Received: from [10.70.3.143] ([10.70.3.143]) by moroha.quovadx.com (8.13.6/8.13.6) with ESMTP id l9OHvVFZ008082 for ; Wed, 24 Oct 2007 17:57:31 GMT Message-ID: <471F87AD.3080202@roguewave.com> Date: Wed, 24 Oct 2007 11:58:05 -0600 From: Martin Sebor User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.6) Gecko/20070802 SeaMonkey/1.1.4 MIME-Version: 1.0 To: stdcxx-dev@incubator.apache.org Subject: Re: ios_bits.cpp and MSVC References: <7BDB2168BEAEF14C98F1901FD2DE64380121F591@epmsa009.minsk.epam.com> In-Reply-To: <7BDB2168BEAEF14C98F1901FD2DE64380121F591@epmsa009.minsk.epam.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Farid Zaripov wrote: > I'm working on STDCXX-437 issue and I've removed almost all MSVC 6.0 > code, but I found some #if expression that I don't understand. > > > src/ios_bits.cpp, line 84 > -------------------- > #if !defined (_MSC_VER) || (_MSC_VER <= 1300) > > _RWSTD_DEFINE_STATIC_CONST (const ios_base::seekdir ios_base::beg); > _RWSTD_DEFINE_STATIC_CONST (const ios_base::seekdir ios_base::cur); > _RWSTD_DEFINE_STATIC_CONST (const ios_base::seekdir ios_base::end); > > #endif // !defined (_MSC_VER) || (_MSC_VER <= 1300) > -------------------- > > This part of code used only on non-MSVC and MSVC <= 7.0. > So these lines are excluded only on MSVC > 7.0. Why? I suspect it's a workaround for the following bug that first appeared in MSVC 7.0: http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=b9853206-740a-47e7-af09-b03b51934a97 The Microsoft Feedback site gives me an error again when I try to access the page but I copied the issue from the Rogue Wave bug tracking database where we keep track of it to STDCXX-613: http://issues.apache.org/jira/browse/STDCXX-613 Martin > > BTW the same definitions of the static constants are present > in src/ctype_bits.cpp but withound any #if expressions: > > src/ctype_bits.cpp, line 39 > -------------------- > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::space); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::print); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::cntrl); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::upper); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::lower); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::alpha); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::digit); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::punct); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::xdigit); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::alnum); > _RWSTD_DEFINE_STATIC_CONST (const ctype_base::mask ctype_base::graph); > -------------------- > > The ctype_base::mask and ios_base::seekdir both are typedefs > _RWSTD_BITMASK_ENUM (...): > > include/loc/_ctype.h, line 73: > typedef _RWSTD_BITMASK_ENUM (_RW::__rw_ctype_mask) mask; > > include/rw/_iosbase.h, line 202: > typedef _RWSTD_BITMASK_ENUM (_RW::__rw_seekdir) seekdir; > > Farid.