
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 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). I just committed (r68140) a patch which replaces the use of <iomanip> with <boost/detail/iomanip.hpp>. I've tested on a few different compilers, and I'm pretty sure there are no regressions. If it does cause any problems, please let me know. This touches a few libraries, all in trivial ways. My apologizes to any maintainers I may have offended; please feel free to revert the relevant part of the commit (r68140) if you'd rather not have it in your library. P.S. For maximum portability, please use <boost/detail/iomanip.hpp> in Boost code in the future! - -- Bryce Lelbach aka wash boost-spirit.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAk0vurkACgkQ9cB/V3/s9Exh0gCdF5vcDD0DfyONhrob4YFVBZzO 2KwAoIqFS06nk5TV98K0jea1rTj6FkHF =QGJS -----END PGP SIGNATURE-----