Subject: Re: [boost] the <boost/detail/iomanip.hpp> header (please use it)
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2011-01-14 20:12:32
On 1/13/2011 6:53 PM, Bryce Lelbach wrote:
> On Linux, both clang and icc use GNU's C++ standard library by default. As of
> version 4.5 of GNU's stdlib, a new implementation of the<iomanip> header has
> been added, which makes use of C++0x features which only GCC supports (the
> latest versions of clang, e.g. a very recent nightly build, might work; intel
> certainly won't). The refactored<iomanip> header in GNU's stdlib does not
> detect C++0x support and fallback on the old C++98 friendly code, which
> unfortunately leaves clang-linux and intel-linux users in a bit of a bind. In
> particular, this plagues clang users on Linux as clang will use the latest
> available version of the GNU stdlib by default, meaning most users cannot have
> both gcc-4.5 and clang installed without problems.
> I have implemented the<iomanip> header in<boost/detail/iomanip.hpp>, under
> the boost::detail namespace (to avoid conflicts with system<iomanip> headers
> that users/other code might include). The implementation conforms to the C++03
> standard (at least, I'm fairly confident it is standard compliant - reviews
> and feedback would be welcome).
Unfortunately, conforming to the standard isn't
good enough. I think you just broke Codegear
support in some places.
After thinking about this some more, I think
this is the wrong solution to the problem.
Those who need to use this configuration
should add a working iomanip to their
compiler's search path. I am in favor of
reverting this patch entirely.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk