Boost logo

Boost :

From: John Maddock (john_at_[hidden])
Date: 2003-11-03 06:41:12


> The Boost.Test library is failing to build on GCC 2.95.3, causing a huge
> number of regressions on that compiler. The culprit? The GCC 2.95.3
standard
> library doesn't define std::ios_base; it calls the same thing std::ios. I
can
> see two solutions:
>
> 1) Add a macro BOOST_IOS_BASE that is defined to ios_base unless we are
using
> GCC 2.95.3's library, in which case we define it to ios.
>
> 2) When we detect the base case, add this:
> namespace std {
> typedef ios ios_base;
> }
>
> I'm inclined to go with #1. If there are no objections, I'll go ahead and
make
> this change, and modify all libraries using ios_base to use BOOST_IOS_BASE
> instead.

How about:

#ifndef BOOST_NO_STD_LOCALE
typedef std::ios_base ios_base_type;
#else
typedef std::ios ios_base_type;
#endif

then change all occurrences of ios_base to ios_base_type?

John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk