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.

Reply via email to