Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/log/detail/config.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
comparison
equal
deleted
inserted
replaced
100:793467b5e61c | 101:c530137014c0 |
---|---|
1 /* | 1 /* |
2 * Copyright Andrey Semashev 2007 - 2013. | 2 * Copyright Andrey Semashev 2007 - 2015. |
3 * Distributed under the Boost Software License, Version 1.0. | 3 * Distributed under the Boost Software License, Version 1.0. |
4 * (See accompanying file LICENSE_1_0.txt or copy at | 4 * (See accompanying file LICENSE_1_0.txt or copy at |
5 * http://www.boost.org/LICENSE_1_0.txt) | 5 * http://www.boost.org/LICENSE_1_0.txt) |
6 */ | 6 */ |
7 /*! | 7 /*! |
28 | 28 |
29 #if defined(BOOST_NO_RTTI) | 29 #if defined(BOOST_NO_RTTI) |
30 # error Boost.Log: RTTI is required by the library | 30 # error Boost.Log: RTTI is required by the library |
31 #endif | 31 #endif |
32 | 32 |
33 #if defined(_MSC_VER) && _MSC_VER >= 1600 | |
34 # define BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH | |
35 #endif | |
36 | |
37 #if defined(BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH) | |
38 #include <boost/preprocessor/stringize.hpp> | |
39 #endif | |
40 | |
33 #if !defined(BOOST_WINDOWS) | 41 #if !defined(BOOST_WINDOWS) |
34 # ifndef BOOST_LOG_WITHOUT_DEBUG_OUTPUT | 42 # ifndef BOOST_LOG_WITHOUT_DEBUG_OUTPUT |
35 # define BOOST_LOG_WITHOUT_DEBUG_OUTPUT | 43 # define BOOST_LOG_WITHOUT_DEBUG_OUTPUT |
36 # endif | 44 # endif |
37 # ifndef BOOST_LOG_WITHOUT_EVENT_LOG | 45 # ifndef BOOST_LOG_WITHOUT_EVENT_LOG |
138 #elif defined(_MSC_VER) | 146 #elif defined(_MSC_VER) |
139 # define BOOST_LOG_UNREACHABLE() __assume(0) | 147 # define BOOST_LOG_UNREACHABLE() __assume(0) |
140 #endif | 148 #endif |
141 #if !defined(BOOST_LOG_UNREACHABLE) | 149 #if !defined(BOOST_LOG_UNREACHABLE) |
142 # define BOOST_LOG_UNREACHABLE() | 150 # define BOOST_LOG_UNREACHABLE() |
151 # define BOOST_LOG_UNREACHABLE_RETURN(r) return r | |
152 #else | |
153 # define BOOST_LOG_UNREACHABLE_RETURN(r) BOOST_LOG_UNREACHABLE() | |
143 #endif | 154 #endif |
144 | 155 |
145 // Some compilers support a special attribute that shows that a function won't return | 156 // Some compilers support a special attribute that shows that a function won't return |
146 #if defined(__GNUC__) || (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x590) | 157 #if defined(__GNUC__) || (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x590) |
147 // GCC and Sun Studio 12 support attribute syntax | 158 // GCC and Sun Studio 12 support attribute syntax |
151 # define BOOST_LOG_NORETURN __declspec(noreturn) | 162 # define BOOST_LOG_NORETURN __declspec(noreturn) |
152 #else | 163 #else |
153 // The rest compilers might emit bogus warnings about missing return statements | 164 // The rest compilers might emit bogus warnings about missing return statements |
154 // in functions with non-void return types when throw_exception is used. | 165 // in functions with non-void return types when throw_exception is used. |
155 # define BOOST_LOG_NORETURN | 166 # define BOOST_LOG_NORETURN |
156 #endif | |
157 | |
158 // cxxabi.h availability macro | |
159 #if defined(BOOST_CLANG) | |
160 # if defined(__has_include) && __has_include(<cxxabi.h>) | |
161 # define BOOST_LOG_HAS_CXXABI_H | |
162 # endif | |
163 #elif defined(__GNUC__) && !defined(__QNX__) | |
164 # define BOOST_LOG_HAS_CXXABI_H | |
165 #endif | 167 #endif |
166 | 168 |
167 #if !defined(BOOST_LOG_BUILDING_THE_LIB) | 169 #if !defined(BOOST_LOG_BUILDING_THE_LIB) |
168 | 170 |
169 // Detect if we're dealing with dll | 171 // Detect if we're dealing with dll |
259 # define BOOST_LOG_TLS __declspec(thread) | 261 # define BOOST_LOG_TLS __declspec(thread) |
260 # else | 262 # else |
261 # undef BOOST_LOG_USE_COMPILER_TLS | 263 # undef BOOST_LOG_USE_COMPILER_TLS |
262 # endif | 264 # endif |
263 #endif // defined(BOOST_LOG_USE_COMPILER_TLS) | 265 #endif // defined(BOOST_LOG_USE_COMPILER_TLS) |
266 | |
267 #ifndef BOOST_LOG_CPU_CACHE_LINE_SIZE | |
268 //! The macro defines the CPU cache line size for the target architecture. This is mostly used for optimization. | |
269 #define BOOST_LOG_CPU_CACHE_LINE_SIZE 64 | |
270 #endif | |
264 | 271 |
265 namespace boost { | 272 namespace boost { |
266 | 273 |
267 // Setup namespace name | 274 // Setup namespace name |
268 #if !defined(BOOST_LOG_DOXYGEN_PASS) | 275 #if !defined(BOOST_LOG_DOXYGEN_PASS) |
333 # define BOOST_LOG_OPEN_NAMESPACE namespace log { | 340 # define BOOST_LOG_OPEN_NAMESPACE namespace log { |
334 # define BOOST_LOG_CLOSE_NAMESPACE } | 341 # define BOOST_LOG_CLOSE_NAMESPACE } |
335 | 342 |
336 #endif // !defined(BOOST_LOG_DOXYGEN_PASS) | 343 #endif // !defined(BOOST_LOG_DOXYGEN_PASS) |
337 | 344 |
345 #if defined(BOOST_LOG_HAS_PRAGMA_DETECT_MISMATCH) | |
346 #pragma detect_mismatch("boost_log_abi", BOOST_PP_STRINGIZE(BOOST_LOG_VERSION_NAMESPACE)) | |
347 #endif | |
348 | |
338 } // namespace boost | 349 } // namespace boost |
339 | 350 |
340 #endif // BOOST_LOG_DETAIL_CONFIG_HPP_INCLUDED_ | 351 #endif // BOOST_LOG_DETAIL_CONFIG_HPP_INCLUDED_ |