Index: chain.hpp =================================================================== --- chain.hpp (revision 80420) +++ chain.hpp (working copy) @@ -44,6 +44,9 @@ # include #endif +// Must come last. +#include + // Sometimes type_info objects must be compared by name. Borrowed from // Boost.Python and Boost.Function. #if (defined(__GNUC__) && __GNUC__ >= 3) || \ @@ -595,4 +598,6 @@ } } // End namespaces iostreams, boost. +#include + #endif // #ifndef BOOST_IOSTREAMS_DETAIL_CHAIN_HPP_INCLUDED Index: detail/config/disable_warnings.hpp =================================================================== --- detail/config/disable_warnings.hpp (revision 80420) +++ detail/config/disable_warnings.hpp (working copy) @@ -14,7 +14,9 @@ # pragma warning(disable:4130) // Logical operation on address of string constant. # pragma warning(disable:4224) // Parameter previously defined as type. # pragma warning(disable:4244) // Conversion: possible loss of data. +# pragma warning(disable:4250) // inherits via dominance # pragma warning(disable:4512) // Assignment operator could not be generated. +# pragma warning(disable:4702) // Unreachable code. # pragma warning(disable:4706) // Assignment within conditional expression. # if BOOST_WORKAROUND(BOOST_MSVC, >= 1400) # pragma warning(disable:6334) // sizeof applied to an expression with an operator. Index: stream.hpp =================================================================== --- stream.hpp (revision 80420) +++ stream.hpp (working copy) @@ -23,6 +23,9 @@ #include #include +// Must come last. +#include + namespace boost { namespace iostreams { namespace detail { template @@ -148,4 +151,6 @@ #endif // #ifdef BOOST_IOSTREAMS_BROKEN_OVERLOAD_RESOLUTION +#include + #endif // #ifndef BOOST_IOSTREAMS_stream_HPP_INCLUDED