Boost logo

Boost :

From: Jonathan Turkanis (technews_at_[hidden])
Date: 2005-02-18 00:27:08


Matthias Troyer wrote:
> Hi,
>
> Several places in Boost try to detect BOOST_OLD_IOSTREAMS using the
> following ifdefs:
>
> // support for pre 3.0 libstdc++ - thanks Phil Edwards!
> #if defined (__STL_CONFIG_H) && !defined (__STL_USE_NEW_IOSTREAMS)
> # define BOOST_OLD_IOSTREAMS
> #endif
>
> This incorrectly defines BOOST_OLD_IOSTREAMS for the Cray X1 C++
> compiler. Could this be changed to include an
> && !defined(__crayx1) or something similar as in:
>
> #if defined (__STL_CONFIG_H) && !defined (__STL_USE_NEW_IOSTREAMS) &&
> !defined(__crayx1)
> # define BOOST_OLD_IOSTREAMS
> #endif
>
> Three offending files are:
>
> boost/dynamic_bitset/config.hpp
> boost/range/iterator_range.hpp

I just put that one there last week ;-)

> libs/dynamic_bitset/example/timing_tests.cpp

You can add the iostreams library to your list. I copied the test from dynamic
bitset, and am responsible for sticking it in Boost.Range.

> Maybe it would be best to move this to the global config file?

I think last time it was suggested suggested to have a config macro for 'old'
iostreams, John Maddock's view was that BOOST_NO_STD_LOCALE should be
sufficient. However, this would incorrectly select old iostreams for Metrowerks
with a dynamic runtime and Intel 7.1 with Dinkumware, and perhaps others.

So I'd be in favor of having a config macro which the various libraries you
mention could share.

Regarding Cray X1 C++, how much of Boost does it compile?

Jonathan


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