forked from boostorg/config
Merge pull request #167 from boostorg/2017_07_21
Cherry pick patches from develop.
This commit is contained in:
@ -310,6 +310,11 @@
|
|||||||
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
|
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if (__clang_major__ == 3) && (__clang_minor__ == 0)
|
||||||
|
// Apparently a clang bug:
|
||||||
|
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||||
|
#endif
|
||||||
|
|
||||||
// Clang has supported the 'unused' attribute since the first release.
|
// Clang has supported the 'unused' attribute since the first release.
|
||||||
#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
||||||
|
|
||||||
|
@ -303,6 +303,13 @@
|
|||||||
# define BOOST_FALLTHROUGH __attribute__((fallthrough))
|
# define BOOST_FALLTHROUGH __attribute__((fallthrough))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __MINGW32__
|
||||||
|
// Currently (June 2017) thread_local is broken on mingw for all current compiler releases, see
|
||||||
|
// https://sourceforge.net/p/mingw-w64/bugs/527/
|
||||||
|
// Not setting this causes program termination on thread exit.
|
||||||
|
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||||
|
#endif
|
||||||
|
|
||||||
//
|
//
|
||||||
// Unused attribute:
|
// Unused attribute:
|
||||||
#if __GNUC__ >= 4
|
#if __GNUC__ >= 4
|
||||||
|
@ -30,3 +30,22 @@
|
|||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
# define BOOST_NO_CXX11_CONSTEXPR
|
# define BOOST_NO_CXX11_CONSTEXPR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef __CUDACC__
|
||||||
|
//
|
||||||
|
// When compiing .cu files, there's a bunch of stuff that doesn't work with msvc:
|
||||||
|
//
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||||
|
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||||
|
#endif
|
||||||
|
//
|
||||||
|
// And this one effects the NVCC front end,
|
||||||
|
// See https://svn.boost.org/trac/boost/ticket/13049
|
||||||
|
//
|
||||||
|
#if (__CUDACC_VER__ >= 80000) && (__CUDACC_VER__ < 80100)
|
||||||
|
# define BOOST_NO_CXX11_NOEXCEPT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@ -24,8 +24,9 @@
|
|||||||
#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
|
#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
|
||||||
// <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
|
// <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
|
||||||
// int64_t only if __GNUC__. Thus, assume a fully usable <stdint.h>
|
// int64_t only if __GNUC__. Thus, assume a fully usable <stdint.h>
|
||||||
// only when using GCC.
|
// only when using GCC. Update 2017: this appears not to be the case for
|
||||||
# if defined __GNUC__
|
// recent glibc releases, see bug report: https://svn.boost.org/trac/boost/ticket/13045
|
||||||
|
# if defined(__GNUC__) || ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 5)))
|
||||||
# define BOOST_HAS_STDINT_H
|
# define BOOST_HAS_STDINT_H
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
@ -344,6 +344,10 @@ void print_compiler_macros()
|
|||||||
PRINT_MACRO(__CUDACC_VER_MINOR__);
|
PRINT_MACRO(__CUDACC_VER_MINOR__);
|
||||||
PRINT_MACRO(__CUDACC_VER_BUILD__);
|
PRINT_MACRO(__CUDACC_VER_BUILD__);
|
||||||
PRINT_MACRO(__CUDACC_VER__);
|
PRINT_MACRO(__CUDACC_VER__);
|
||||||
|
|
||||||
|
// Android:
|
||||||
|
PRINT_MACRO(ANDROID);
|
||||||
|
PRINT_MACRO(__ANDROID__);
|
||||||
}
|
}
|
||||||
|
|
||||||
void print_stdlib_macros()
|
void print_stdlib_macros()
|
||||||
@ -1135,35 +1139,6 @@ void print_boost_macros()
|
|||||||
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
|
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
|
||||||
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
|
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// END GENERATED BLOCK
|
// END GENERATED BLOCK
|
||||||
|
|
||||||
PRINT_MACRO(BOOST_INTEL);
|
PRINT_MACRO(BOOST_INTEL);
|
||||||
|
Reference in New Issue
Block a user