Added BOOST_HAS_PRAGMA_DETECT_MISSMATCH macro

This commit is contained in:
Antony Polukhin
2014-08-11 15:11:38 +04:00
parent 34e1c7416b
commit 3087b80a77
3 changed files with 12 additions and 0 deletions

View File

@@ -399,6 +399,13 @@ containing header should be included only once while preprocessing the
current translation unit. The pragma may improve compile times of large projects
with some compilers.
]]
[[`BOOST_HAS_PRAGMA_DETECT_MISSMATCH`][Compiler][
The compiler recognizes the `#pragma detect_mismatch("name", "value")` directive which tells that the
link stage should be terminated with error if values for provided `"name"` missmatch.
This pragma may be a help in preventing ODR violations and ensuring that different modules
are compiled with same flags.
]]
[[`BOOST_HAS_PTHREAD_DELAY_NP`][Platform][
The platform has the POSIX API `pthread_delay_np`.
]]

View File

@@ -9,6 +9,7 @@
// Clang compiler setup.
#define BOOST_HAS_PRAGMA_ONCE
#define BOOST_HAS_PRAGMA_DETECT_MISSMATCH
// When compiling with clang before __has_extension was defined,
// even if one writes 'defined(__has_extension) && __has_extension(xxx)',

View File

@@ -36,6 +36,9 @@
#define BOOST_HAS_PRAGMA_ONCE
// Will be undefined for old compilers lower in this file
#define BOOST_HAS_PRAGMA_DETECT_MISSMATCH
//
// versions check:
// we don't support Visual C++ prior to version 7.1:
@@ -59,6 +62,7 @@
#if _MSC_VER < 1500 // 140X == VC++ 8.0
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
# undef BOOST_HAS_PRAGMA_DETECT_MISSMATCH
#endif
#if _MSC_VER < 1600 // 150X == VC++ 9.0