Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-10-18 07:55:50

Michael Stevens <michael_at_[hidden]> writes:

> David commented regarding the patch:
> >> At present (for MSVC) STATIC_ASSERT uses the typedef mechanism. This
> >> fails with template paramter compile time constant. However the
> >> alternative enum mechanism DOES work. Iterestingly at present the enum
> >> mechanism is explictly not used for MSVC. This is due to a quoted
> >> problem with __LINE__ and /Zi. VC7 (not VC6) supplies the rather
> >> useful __COUNTER__ alternative, which does work. With this in mind I
> >> propose the following patch:
> > Looks OK mostly, but you should only use a special version for VC7,
> >not VC7.1 (BOOST_MSVC == 1301).
> >
> Not quite sure what the way to go is here. I think you are saying
> (without access to 7.1 to veryify) that we should fall into the
> default implementation for VC7.1 as if it were a compiler requring
> special handling.

Uhh, sorry, no. I was saying that no special handling should be
applied for VC7.1. I think.

> I think to get the result you require my patch just needs to use
> #if !defined(__BORLANDC__) && !defined(__MWERKS__) &&
> !(defined(BOOST_MSVC) && BOOST_MSVC <= 1300)
> instead of
> #if !defined(__BORLANDC__) && !defined(__MWERKS__) && !defined(BOOST_MSVC)

That seems right.

> I can't commit any of this, so hopefully will take the plunge.

This isn't my library either; I think this one's up to Jens.

                    David Abrahams
dave_at_[hidden] *
Building C/C++ Extensions for Python: Dec 9-11, Austin, TX

Boost list run by bdawes at, gregod at, cpdaniel at, john at