123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #ifndef BOOST_COMPUTE_DETAIL_DIAGNOSTIC_HPP
- #define BOOST_COMPUTE_DETAIL_DIAGNOSTIC_HPP
- #if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402
- #define BOOST_COMPUTE_GCC_DIAG_STR(s) #s
- #define BOOST_COMPUTE_GCC_DIAG_JOINSTR(x,y) BOOST_COMPUTE_GCC_DIAG_STR(x ## y)
- # define BOOST_COMPUTE_GCC_DIAG_DO_PRAGMA(x) _Pragma (#x)
- # define BOOST_COMPUTE_GCC_DIAG_PRAGMA(x) BOOST_COMPUTE_GCC_DIAG_DO_PRAGMA(GCC diagnostic x)
- # if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 406
- # define BOOST_COMPUTE_GCC_DIAG_OFF(x) BOOST_COMPUTE_GCC_DIAG_PRAGMA(push) \
- BOOST_COMPUTE_GCC_DIAG_PRAGMA(ignored BOOST_COMPUTE_GCC_DIAG_JOINSTR(-W,x))
- # define BOOST_COMPUTE_GCC_DIAG_ON(x) BOOST_COMPUTE_GCC_DIAG_PRAGMA(pop)
- # else
- # define BOOST_COMPUTE_GCC_DIAG_OFF(x) \
- BOOST_COMPUTE_GCC_DIAG_PRAGMA(ignored BOOST_COMPUTE_GCC_DIAG_JOINSTR(-W,x))
- # define BOOST_COMPUTE_GCC_DIAG_ON(x) \
- BOOST_COMPUTE_GCC_DIAG_PRAGMA(warning BOOST_COMPUTE_GCC_DIAG_JOINSTR(-W,x))
- # endif
- #else
- # define BOOST_COMPUTE_GCC_DIAG_OFF(x)
- # define BOOST_COMPUTE_GCC_DIAG_ON(x)
- #endif
- #ifdef __clang__
- # define BOOST_COMPUTE_CLANG_DIAG_STR(s) # s
- # define BOOST_COMPUTE_CLANG_DIAG_JOINSTR(x,y) BOOST_COMPUTE_CLANG_DIAG_STR(x ## y)
- # define BOOST_COMPUTE_CLANG_DIAG_DO_PRAGMA(x) _Pragma (#x)
- # define BOOST_COMPUTE_CLANG_DIAG_PRAGMA(x) \
- BOOST_COMPUTE_CLANG_DIAG_DO_PRAGMA(clang diagnostic x)
- # define BOOST_COMPUTE_CLANG_DIAG_OFF(x) BOOST_COMPUTE_CLANG_DIAG_PRAGMA(push) \
- BOOST_COMPUTE_CLANG_DIAG_PRAGMA(ignored BOOST_COMPUTE_CLANG_DIAG_JOINSTR(-W,x))
- # define BOOST_COMPUTE_CLANG_DIAG_ON(x) BOOST_COMPUTE_CLANG_DIAG_PRAGMA(pop)
- #else
- # define BOOST_COMPUTE_CLANG_DIAG_OFF(x)
- # define BOOST_COMPUTE_CLANG_DIAG_ON(x)
- # define BOOST_COMPUTE_CLANG_DIAG_PRAGMA(x)
- #endif
- #if defined(_MSC_VER)
- # define BOOST_COMPUTE_MSVC_DIAG_DO_PRAGMA(x) __pragma(x)
- # define BOOST_COMPUTE_MSVC_DIAG_PRAGMA(x) \
- BOOST_COMPUTE_MSVC_DIAG_DO_PRAGMA(warning(x))
- # define BOOST_COMPUTE_MSVC_DIAG_OFF(x) BOOST_COMPUTE_MSVC_DIAG_PRAGMA(push) \
- BOOST_COMPUTE_MSVC_DIAG_PRAGMA(disable: x)
- # define BOOST_COMPUTE_MSVC_DIAG_ON(x) BOOST_COMPUTE_MSVC_DIAG_PRAGMA(pop)
- #else
- # define BOOST_COMPUTE_MSVC_DIAG_OFF(x)
- # define BOOST_COMPUTE_MSVC_DIAG_ON(x)
- #endif
- #if defined(_MSC_VER)
- # define BOOST_COMPUTE_DIAG_OFF(gcc, clang, msvc) BOOST_COMPUTE_MSVC_DIAG_OFF(msvc)
- # define BOOST_COMPUTE_DIAG_ON(gcc, clang, msvc) BOOST_COMPUTE_MSVC_DIAG_ON(msvc)
- #elif defined(__clang__)
- # define BOOST_COMPUTE_DIAG_OFF(gcc, clang, msvc) BOOST_COMPUTE_CLANG_DIAG_OFF(clang)
- # define BOOST_COMPUTE_DIAG_ON(gcc, clang, msvc) BOOST_COMPUTE_CLANG_DIAG_ON(clang)
- #elif defined(__GNUC__)
- # define BOOST_COMPUTE_DIAG_OFF(gcc, clang, msvc) BOOST_COMPUTE_GCC_DIAG_OFF(gcc)
- # define BOOST_COMPUTE_DIAG_ON(gcc, clang, msvc) BOOST_COMPUTE_GCC_DIAG_ON(gcc)
- #else
- # define BOOST_COMPUTE_DIAG_OFF(gcc, clang, msvc)
- # define BOOST_COMPUTE_DIAG_ON(gcc, clang, msvc)
- #endif
- #define BOOST_COMPUTE_DISABLE_DEPRECATED_DECLARATIONS() \
- BOOST_COMPUTE_DIAG_OFF(deprecated-declarations, deprecated-declarations, 4996)
- #define BOOST_COMPUTE_ENABLE_DEPRECATED_DECLARATIONS() \
- BOOST_COMPUTE_DIAG_ON(deprecated-declarations, deprecated-declarations, 4996);
- #endif
|