Compare commits

...

13 Commits

Author SHA1 Message Date
Marshall Clow
9e51aa81ca Fix copy-paste-o
Now checks `_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS` instead.
2017-08-09 17:55:26 +01:00
Marshall Clow
1e544eae21 Add code to set for BOOST_NO_CXX98_RANDOM_SHUFFLE and BOOST_NO_CXX98_BINDERS correctly 2017-08-09 17:55:25 +01:00
jzmaddock
04abb9270b Merge pull request #167 from boostorg/2017_07_21
Cherry pick patches from develop.
2017-07-23 17:08:03 +01:00
jzmaddock
7e4a1c85b7 Add link to bug report in comment.
[ci skip]
2017-07-21 13:25:49 +01:00
jzmaddock
6415a2cd43 Restrict last fix to CUDA 8 only - other versions are apparently unaffected. 2017-07-21 13:25:48 +01:00
jzmaddock
9910b354e5 CUDA: disable some C++11 and 14 features which aren't supported when compiling as a .cu file. 2017-07-21 13:25:48 +01:00
jzmaddock
08c7f03f29 Add android detection macros to config_info output. 2017-07-21 13:25:48 +01:00
jzmaddock
573c1a5027 Tentative fix for clang-3.0 failing config_test:
It appears not to completely support variadic template expansion.
2017-07-21 13:25:48 +01:00
jzmaddock
e56e24f0a3 gcc.hpp: Mingw has broken thread_local support.
See  https://sourceforge.net/p/mingw-w64/bugs/527/
2017-07-21 13:25:47 +01:00
jzmaddock
cdfa925095 Allow stdint.h for compilers other than gcc when building on linux with a recent glibc version.
See https://svn.boost.org/trac/boost/ticket/13045.
2017-07-21 13:25:47 +01:00
jzmaddock
07aa7f248d Merge pull request #156 from glenfe/master
Master
2017-06-21 14:44:35 +01:00
Glen Fernandes
9aa6c016bb Merge develop
(Merges up to commit 'f867e70d06c45cd43776825ebf0c8b8a7328cdf6')
2017-06-19 07:11:52 -04:00
jzmaddock
1074d5ed6e Merge pull request #148 from boostorg/develop
Merge removal of legacy TR1 support.
2017-05-29 08:47:03 +01:00
6 changed files with 44 additions and 31 deletions

View File

@@ -310,6 +310,11 @@
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
#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.
#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))

View File

@@ -303,6 +303,13 @@
# define BOOST_FALLTHROUGH __attribute__((fallthrough))
#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:
#if __GNUC__ >= 4

View File

@@ -30,3 +30,22 @@
#if defined(_MSC_VER)
# define BOOST_NO_CXX11_CONSTEXPR
#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

View File

@@ -24,8 +24,9 @@
#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)))
// <stdint.h> defines int64_t unconditionally, but <sys/types.h> defines
// int64_t only if __GNUC__. Thus, assume a fully usable <stdint.h>
// only when using GCC.
# if defined __GNUC__
// only when using GCC. Update 2017: this appears not to be the case for
// 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
# endif
#endif

View File

@@ -96,6 +96,12 @@
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
# define BOOST_NO_AUTO_PTR
#endif
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE)
# define BOOST_NO_CXX98_RANDOM_SHUFFLE
#endif
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_BINDERS)
# define BOOST_NO_CXX98_BINDERS
#endif
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
// This is a bit of a sledgehammer, because really it's just libc++abi that has no

View File

@@ -344,6 +344,10 @@ void print_compiler_macros()
PRINT_MACRO(__CUDACC_VER_MINOR__);
PRINT_MACRO(__CUDACC_VER_BUILD__);
PRINT_MACRO(__CUDACC_VER__);
// Android:
PRINT_MACRO(ANDROID);
PRINT_MACRO(__ANDROID__);
}
void print_stdlib_macros()
@@ -1135,35 +1139,6 @@ void print_boost_macros()
PRINT_MACRO(BOOST_NO_USING_TEMPLATE);
PRINT_MACRO(BOOST_NO_VOID_RETURNS);
// END GENERATED BLOCK
PRINT_MACRO(BOOST_INTEL);