summaryrefslogtreecommitdiff
path: root/boost/log/detail/config.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/log/detail/config.hpp')
-rw-r--r--boost/log/detail/config.hpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/boost/log/detail/config.hpp b/boost/log/detail/config.hpp
index 5f43443e42..8db321baad 100644
--- a/boost/log/detail/config.hpp
+++ b/boost/log/detail/config.hpp
@@ -344,11 +344,18 @@ namespace log {
# if !defined(BOOST_NO_CXX11_INLINE_NAMESPACES)
inline namespace BOOST_LOG_VERSION_NAMESPACE {}
-}
# define BOOST_LOG_OPEN_NAMESPACE namespace log { inline namespace BOOST_LOG_VERSION_NAMESPACE {
# define BOOST_LOG_CLOSE_NAMESPACE }}
+# elif defined(BOOST_GCC) && (BOOST_GCC+0) >= 40400
+
+// GCC 7 deprecated strong using directives but allows inline namespaces in C++03 mode since GCC 4.4.
+__extension__ inline namespace BOOST_LOG_VERSION_NAMESPACE {}
+
+# define BOOST_LOG_OPEN_NAMESPACE namespace log { __extension__ inline namespace BOOST_LOG_VERSION_NAMESPACE {
+# define BOOST_LOG_CLOSE_NAMESPACE }}
+
# else
namespace BOOST_LOG_VERSION_NAMESPACE {}
@@ -359,12 +366,12 @@ __attribute__((__strong__))
# endif
;
-}
-
# define BOOST_LOG_OPEN_NAMESPACE namespace log { namespace BOOST_LOG_VERSION_NAMESPACE {
# define BOOST_LOG_CLOSE_NAMESPACE }}
# endif
+} // namespace log
+
#else // !defined(BOOST_LOG_DOXYGEN_PASS)
namespace log {}