diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2
index 685a0af..6b8c585 100644
--- a/doc/Jamfile.v2
+++ b/doc/Jamfile.v2
@@ -69,6 +69,7 @@ local doxygen_params =
BOOST_LOG_CLOSE_NAMESPACE=\"}\" \\
BOOST_DEFAULTED_FUNCTION(x,y)=\"x = default;\" \\
BOOST_DELETED_FUNCTION(x)=\"x = delete;\" \\
+ BOOST_EXPLICIT_OPERATOR_BOOL()=\"explicit operator bool() const;\" \\
BOOST_LOG_USE_CHAR \\
BOOST_LOG_USE_WCHAR_T \\
BOOST_LOG_API= \\
diff --git a/doc/changelog.qbk b/doc/changelog.qbk
index b522cd5..cb1391f 100644
--- a/doc/changelog.qbk
+++ b/doc/changelog.qbk
@@ -14,7 +14,10 @@
[*General changes:]
* Added a new configuration macro `BOOST_LOG_WITHOUT_DEFAULT_FACTORIES`. By defining this macro the user can disable compilation of the default filter and formatter factories used by settings parsers. This can substantially reduce binary sizes while still retaining support for settings parsers. Note that when this macro is defined the user will have to register _all_ attributes in the library.
-* Rewritten some of the parsers to reduce the compiled binary size.
+* Rewritten some of the parsers to reduce the compiled binary size. The rewritten parsers are more robust in detecting ambiguous and incorrect input.
+* The header `boost/log/utility/intrusive_ref_counter.hpp` is deprecated and will be removed in future releases. Its contents have been reworked and moved to __boost_smart_ptr__, as `boost/smart_ptr/intrusive_ref_counter.hpp`.
+* The header `boost/log/utility/explicit_operator_bool.hpp` is deprecated and will be removed in future releases. Its contents have been moved to __boost_utility__, as `boost/utility/explicit_operator_bool.hpp`.
+* The header `boost/log/utility/empty_deleter.hpp` is deprecated and will be removed in future releases. Its contents have been moved to __boost_utility__, as `boost/utility/empty_deleter.hpp`.
[*Bug fixes:]
diff --git a/doc/log.qbk b/doc/log.qbk
index 273a2a4..e35ef0e 100644
--- a/doc/log.qbk
+++ b/doc/log.qbk
@@ -46,6 +46,7 @@
[def __boost_asio__ [@http://www.boost.org/doc/libs/release/doc/html/boost_asio.html Boost.ASIO]]
[def __boost_move__ [@http://www.boost.org/doc/libs/release/doc/html/move.html Boost.Move]]
[def __boost_locale__ [@http://www.boost.org/doc/libs/release/libs/locale/doc/html/index.html Boost.Locale]]
+[def __boost_utility__ [@http://www.boost.org/doc/libs/release/libs/utility/utility.htm Boost.Utility]]
[def __boost_quickbook__ [@http://www.boost.org/doc/libs/release/doc/html/quickbook.html Boost.Quickbook]]
[template ticket[key] '''#'''[key]'''''']
diff --git a/example/advanced_usage/Jamfile.v2 b/example/advanced_usage/Jamfile.v2
index 4392721..a541881 100644
--- a/example/advanced_usage/Jamfile.v2
+++ b/example/advanced_usage/Jamfile.v2
@@ -12,12 +12,15 @@ project
msvc:_SCL_SECURE_NO_DEPRECATE
msvc:_CRT_SECURE_NO_WARNINGS
msvc:_CRT_SECURE_NO_DEPRECATE
+ msvc:/bigobj
+ msvc:/wd4503 # decorated name length exceeded, name was truncated
intel-win:_SCL_SECURE_NO_WARNINGS
intel-win:_SCL_SECURE_NO_DEPRECATE
intel-win:_CRT_SECURE_NO_WARNINGS
intel-win:_CRT_SECURE_NO_DEPRECATE
- gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
+ darwin:-ftemplate-depth-1024
gcc:-ftemplate-depth-1024
+ gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
/boost/log//boost_log
/boost/date_time//boost_date_time
/boost/filesystem//boost_filesystem
diff --git a/example/advanced_usage/main.cpp b/example/advanced_usage/main.cpp
index a30427a..5d677f3 100644
--- a/example/advanced_usage/main.cpp
+++ b/example/advanced_usage/main.cpp
@@ -21,14 +21,14 @@
#include
#include
#include
-#include
+#include
+#include
#include
#include
#include
#include
#include
#include
-#include
#include
#include
#include
@@ -113,7 +113,7 @@ int main(int argc, char* argv[])
// interference of other threads that might be trying to log.
// Next we add streams to which logging records should be output
- shared_ptr< std::ostream > pStream(&std::clog, logging::empty_deleter());
+ shared_ptr< std::ostream > pStream(&std::clog, boost::empty_deleter());
pBackend->add_stream(pStream);
// We can add more than one stream to the sink backend
diff --git a/example/async_log/Jamfile.v2 b/example/async_log/Jamfile.v2
index 713aeee..b5dcc6c 100644
--- a/example/async_log/Jamfile.v2
+++ b/example/async_log/Jamfile.v2
@@ -12,12 +12,15 @@ project
msvc:_SCL_SECURE_NO_DEPRECATE
msvc:_CRT_SECURE_NO_WARNINGS
msvc:_CRT_SECURE_NO_DEPRECATE
+ msvc:/bigobj
+ msvc:/wd4503 # decorated name length exceeded, name was truncated
intel-win:_SCL_SECURE_NO_WARNINGS
intel-win:_SCL_SECURE_NO_DEPRECATE
intel-win:_CRT_SECURE_NO_WARNINGS
intel-win:_CRT_SECURE_NO_DEPRECATE
- gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
+ darwin:-ftemplate-depth-1024
gcc:-ftemplate-depth-1024
+ gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
/boost/log//boost_log
/boost/date_time//boost_date_time
/boost/filesystem//boost_filesystem
diff --git a/example/async_log/main.cpp b/example/async_log/main.cpp
index 51c53b1..0998947 100644
--- a/example/async_log/main.cpp
+++ b/example/async_log/main.cpp
@@ -21,7 +21,7 @@
#include
#include
#include
-#include
+#include
#include
#include
#include
@@ -31,7 +31,6 @@
#include
#include
#include
-#include
#include
namespace logging = boost::log;
diff --git a/example/basic_usage/Jamfile.v2 b/example/basic_usage/Jamfile.v2
index 4c72d06..8d8da97 100644
--- a/example/basic_usage/Jamfile.v2
+++ b/example/basic_usage/Jamfile.v2
@@ -12,12 +12,15 @@ project
msvc:_SCL_SECURE_NO_DEPRECATE
msvc:_CRT_SECURE_NO_WARNINGS
msvc:_CRT_SECURE_NO_DEPRECATE
+ msvc:/bigobj
+ msvc:/wd4503 # decorated name length exceeded, name was truncated
intel-win:_SCL_SECURE_NO_WARNINGS
intel-win:_SCL_SECURE_NO_DEPRECATE
intel-win:_CRT_SECURE_NO_WARNINGS
intel-win:_CRT_SECURE_NO_DEPRECATE
- gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
+ darwin:-ftemplate-depth-1024
gcc:-ftemplate-depth-1024
+ gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
/boost/log//boost_log
/boost/log//boost_log_setup
/boost/date_time//boost_date_time
diff --git a/example/bounded_async_log/Jamfile.v2 b/example/bounded_async_log/Jamfile.v2
index 5e118d5..55678a9 100644
--- a/example/bounded_async_log/Jamfile.v2
+++ b/example/bounded_async_log/Jamfile.v2
@@ -12,12 +12,15 @@ project
msvc:_SCL_SECURE_NO_DEPRECATE
msvc:_CRT_SECURE_NO_WARNINGS
msvc:_CRT_SECURE_NO_DEPRECATE
+ msvc:/bigobj
+ msvc:/wd4503 # decorated name length exceeded, name was truncated
intel-win:_SCL_SECURE_NO_WARNINGS
intel-win:_SCL_SECURE_NO_DEPRECATE
intel-win:_CRT_SECURE_NO_WARNINGS
intel-win:_CRT_SECURE_NO_DEPRECATE
- gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
+ darwin:-ftemplate-depth-1024
gcc:-ftemplate-depth-1024
+ gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
/boost/log//boost_log
/boost/date_time//boost_date_time
/boost/filesystem//boost_filesystem
diff --git a/example/bounded_async_log/main.cpp b/example/bounded_async_log/main.cpp
index 5fef573..a579548 100644
--- a/example/bounded_async_log/main.cpp
+++ b/example/bounded_async_log/main.cpp
@@ -21,7 +21,7 @@
#include
#include
#include
-#include
+#include
#include
#include
#include
@@ -31,7 +31,6 @@
#include
#include
#include
-#include
#include
namespace logging = boost::log;
diff --git a/example/doc/Jamfile.v2 b/example/doc/Jamfile.v2
index 838624e..1160670 100644
--- a/example/doc/Jamfile.v2
+++ b/example/doc/Jamfile.v2
@@ -15,12 +15,15 @@ project
msvc:_SCL_SECURE_NO_DEPRECATE
msvc:_CRT_SECURE_NO_WARNINGS
msvc:_CRT_SECURE_NO_DEPRECATE
+ msvc:/bigobj
+ msvc:/wd4503 # decorated name length exceeded, name was truncated
intel-win:_SCL_SECURE_NO_WARNINGS
intel-win:_SCL_SECURE_NO_DEPRECATE
intel-win:_CRT_SECURE_NO_WARNINGS
intel-win:_CRT_SECURE_NO_DEPRECATE
- gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
+ darwin:-ftemplate-depth-1024
gcc:-ftemplate-depth-1024
+ gcc:-fno-strict-aliasing # avoids strict aliasing violations in other Boost components
/boost/log//boost_log
/boost/log//boost_log_setup
/boost/date_time//boost_date_time
diff --git a/example/doc/core_core_manual.cpp b/example/doc/core_core_manual.cpp
index 53d78d1..6b49bbe 100644
--- a/example/doc/core_core_manual.cpp
+++ b/example/doc/core_core_manual.cpp
@@ -5,7 +5,7 @@
* http://www.boost.org/LICENSE_1_0.txt)
*/
-#include
+#include
#include
#include
#include
diff --git a/example/doc/exception_handling.cpp b/example/doc/exception_handling.cpp
index d3ff4a1..6db86e6 100644
--- a/example/doc/exception_handling.cpp
+++ b/example/doc/exception_handling.cpp
@@ -10,8 +10,8 @@
#include
#include
#include
-#include
-#include
+#include
+#include
#include
#include
#include
diff --git a/example/doc/expressions_has_attr_stat_accum.cpp b/example/doc/expressions_has_attr_stat_accum.cpp
index 6ada84a..164b895 100644
--- a/example/doc/expressions_has_attr_stat_accum.cpp
+++ b/example/doc/expressions_has_attr_stat_accum.cpp
@@ -10,8 +10,8 @@
#include