Index: boost/logging/scenario.hpp =================================================================== --- boost/logging/scenario.hpp (Revision 40976) +++ boost/logging/scenario.hpp (Arbeitskopie) @@ -65,7 +66,7 @@ struct no_ts ; struct ts ; struct use_tss_once_init ; -}; +} namespace level { template struct holder_tss_with_cache ; @@ -148,7 +149,7 @@ #else typedef single_thread default_; #endif - }; + } /** @brief What's our "level" policy? */ namespace level { @@ -158,7 +159,7 @@ struct use_levels {}; typedef no_levels default_; - }; + } } /** @brief Logger %usage settings : logger_::change and logger_::favor @@ -203,7 +204,7 @@ #else typedef single_thread default_; #endif - }; + } /** @brief When logging, what should we %favor? */ namespace favor { @@ -228,7 +229,7 @@ #else typedef single_thread default_; #endif - }; + } /** @brief How do you gather the message? */ namespace gather { @@ -239,7 +240,7 @@ template struct custom {}; typedef ostream_like default_; - }; + } } Index: boost/logging/detail/use_format_write.hpp =================================================================== --- boost/logging/detail/use_format_write.hpp (Revision 40976) +++ boost/logging/detail/use_format_write.hpp (Arbeitskopie) @@ -14,7 +14,8 @@ // See http://www.torjo.com/log2/ for more details #ifndef JT28092007_format_write_detail_HPP_DEFINED -#error do not include this directly. Include logging/format/format_write.hpp instead +//#error do not include this directly. Include boost/logging/detail/format_write_detail.hpp instead +#error do not include this directly. Include boost/logging/format.hpp instead #endif #ifndef JT28092007_use_format_write_HPP_DEFINED Index: boost/logging/detail/tss/tss.hpp =================================================================== --- boost/logging/detail/tss/tss.hpp (Revision 40976) +++ boost/logging/detail/tss/tss.hpp (Arbeitskopie) @@ -21,10 +21,6 @@ # pragma once #endif - - - - #if !defined(BOOST_LOG_NO_TSS) #include @@ -42,10 +38,20 @@ #else +#ifdef BOOST_LOG_TSS_USE_CUSTOM // in case the user specified a custom class, maybe he specified its name as well #define BOOST_LOG_TSS_DEFAULT_CLASS BOOST_LOG_TSS_USE_CUSTOM + +#else + +// use internal implementation +#include +#define BOOST_LOG_TSS_DEFAULT_CLASS = ::boost::logging::thread_specific_ptr + #endif +#endif + namespace boost { namespace logging { @@ -81,12 +87,5 @@ #endif // !BOOST_LOG_NO_TSS - - - - - - - #endif Index: boost/logging/detail/tss/tss_impl_pthread.hpp =================================================================== --- boost/logging/detail/tss/tss_impl_pthread.hpp (Revision 40976) +++ boost/logging/detail/tss/tss_impl_pthread.hpp (Arbeitskopie) @@ -50,7 +50,7 @@ return slots; } -extern "C" inline void cleanup_slots(void* p) {} +extern "C" inline void cleanup_slots(void*) {} inline void init_tss_data() { Index: boost/logging/macros.hpp =================================================================== --- boost/logging/macros.hpp (Revision 40976) +++ boost/logging/macros.hpp (Arbeitskopie) @@ -26,6 +26,9 @@ #include #include #include +// for BOOST_LOG_FORMAT_MSG: +// error: specialization of ‘boost::logging::formatter::msg_type’ after instantiation +//#include namespace boost { namespace logging {