forked from boostorg/config
Added a BOOST_DEPRECATED macro for deprecated symbol markup.
BOOST_DEPRECATED can be used to mark functions, types and objects as deprecated, with a message with a recommendation of replacement. Using such marked symbols in code will generate compiler warnings, with the specified message, if possible. The warnings can be suppressed if BOOST_ALLOW_DEPRECATED_SYMBOLS is defined. Additionally, added support BOOST_ALLOW_DEPRECATED macro that not only allows for deprecated symbols but also deprecated headers (i.e. defining BOOST_ALLOW_DEPRECATED is equivalent to defining both BOOST_ALLOW_DEPRECATED_SYMBOLS and BOOST_ALLOW_DEPRECATED_HEADERS).
This commit is contained in:
1 parent
e0638d9865
commit
a7a2d4ebf1
10 files changed
+140
-52
No files matched your search
@@ -325,11 +325,18 @@
|
||||
// All versions with __cplusplus above this value seem to support this:
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
//
|
||||
// __builtin_unreachable:
|
||||
#if defined(__has_builtin) && __has_builtin(__builtin_unreachable)
|
||||
|
||||
// Unreachable code markup
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__builtin_unreachable)
|
||||
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
#if __has_attribute(deprecated)
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
#endif
|
||||
|
||||
#if (__clang_major__ == 3) && (__clang_minor__ == 0)
|
||||
// Apparently a clang bug:
|
||||
|
||||
@@ -340,12 +340,18 @@
|
||||
// Type aliasing hint. Supported since gcc 3.3.
|
||||
#define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
|
||||
//
|
||||
// __builtin_unreachable:
|
||||
// Unreachable code markup
|
||||
#if BOOST_GCC_VERSION >= 40500
|
||||
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
#if BOOST_GCC_VERSION >= 40500
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
#else
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated))
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "GNU C++ version " __VERSION__
|
||||
#endif
|
||||
@@ -359,7 +365,7 @@
|
||||
|
||||
// versions check:
|
||||
// we don't know gcc prior to version 3.30:
|
||||
#if (BOOST_GCC_VERSION< 30300)
|
||||
#if (BOOST_GCC_VERSION < 30300)
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
|
||||
@@ -86,6 +86,12 @@
|
||||
# define BOOST_SYMBOL_VISIBLE __global
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
// Oracle Studio 12.4 supports deprecated attribute with a message; this is the first release that supports the attribute.
|
||||
#if (__SUNPRO_CC >= 0x5130)
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
#endif
|
||||
|
||||
#if (__SUNPRO_CC < 0x5130)
|
||||
// C++03 features in 12.4:
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
|
||||
@@ -107,6 +107,14 @@
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
#if (_MSC_VER >= 1400)
|
||||
#define BOOST_DEPRECATED(msg) __declspec(deprecated(msg))
|
||||
#else
|
||||
// MSVC 7.1 only supports the attribute without a message
|
||||
#define BOOST_DEPRECATED(msg) __declspec(deprecated)
|
||||
#endif
|
||||
|
||||
//
|
||||
// TR1 features:
|
||||
//
|
||||
|
||||
@@ -270,6 +270,10 @@
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
#if __has_attribute(deprecated)
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
#endif
|
||||
|
||||
// Unused attribute:
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
|
||||
Reference in new issue
Block a user