Merge branch 'develop'

This commit is contained in:
John Maddock
2021-11-01 13:17:45 +01:00
6 changed files with 130 additions and 5 deletions

View File

@@ -169,7 +169,7 @@ jobs:
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17 toolset=msvc-14.0
working-directory: ../boost-root/libs/config/test
windows_msvc_14_2:
runs-on: windows-latest
runs-on: windows-2019
defaults:
run:
shell: cmd
@@ -201,10 +201,48 @@ jobs:
run: b2 headers
working-directory: ../boost-root
- name: Config info
run: ..\..\..\b2 print_config_info cxxstd=14,17,20 address-model=64 toolset=msvc-14.2
run: ..\..\..\b2 print_config_info cxxstd=14,17,latest address-model=64 toolset=msvc-14.2
working-directory: ../boost-root/libs/config/test
- name: Test
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,20 toolset=msvc-14.2
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,latest toolset=msvc-14.2
working-directory: ../boost-root/libs/config/test
windows_msvc_14_3:
runs-on: windows-2022
defaults:
run:
shell: cmd
strategy:
fail-fast: false
matrix:
toolset: [ msvc-14.3 ]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[apple];[Apple];[APPLE];[linux];[Linux];[LINUX]'
commit-filter-separator: ';'
fail-fast: true
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
working-directory: ../boost-root
- name: Copy files
run: xcopy /s /e /q %GITHUB_WORKSPACE% libs\config
working-directory: ../boost-root
- name: Bootstrap
run: bootstrap
working-directory: ../boost-root
- name: Generate headers
run: b2 headers
working-directory: ../boost-root
- name: Config info
run: ..\..\..\b2 print_config_info cxxstd=14,17,latest address-model=64 toolset=msvc-14.3
working-directory: ../boost-root/libs/config/test
- name: Test
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,latest toolset=msvc-14.3
working-directory: ../boost-root/libs/config/test
non_intel_ubuntu_20_04_gcc:
runs-on: ubuntu-20.04
@@ -356,3 +394,61 @@ jobs:
source ../emsdk/emsdk_env.sh
emcc -pthread -s EXIT_RUNTIME=1 -s PTHREAD_POOL_SIZE=32 -s DISABLE_EXCEPTION_CATCHING=0 -I. -O3 -o config_test_pthread libs/config/test/config_test.cpp
node --experimental-wasm-threads --experimental-wasm-bulk-memory config_test_pthread
ubuntu-cuda:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
std: [ 11, 14, 17 ]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: '0'
- uses: mstachniuk/ci-skip@v1
with:
commit-filter: '[skip ci];[ci skip];[CI SKIP];[SKIP CI];***CI SKIP***;***SKIP CI***;[windows];[Windows];[WINDOWS];[apple];[Apple];[APPLE]'
commit-filter-separator: ';'
fail-fast: true
- uses: Jimver/cuda-toolkit@v0.2.4
- name: Add repository
run: sudo apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
- name: Install packages
run: sudo apt install g++-11 clang-11
- name: Checkout main boost
run: git clone -b develop --depth 1 https://github.com/boostorg/boost.git ../boost-root
- name: Update Dependencies
run: git submodule update --init tools/build tools/boost_install libs/headers libs/detail libs/core libs/assert libs/type_traits
working-directory: ../boost-root
- name: Copy files
run: cp -r $GITHUB_WORKSPACE/* libs/config
working-directory: ../boost-root
- name: Bootstrap
run: ./bootstrap.sh
working-directory: ../boost-root
- name: Generate headers
run: ./b2 headers
working-directory: ../boost-root
- name: nvcc version
run: nvcc --version
working-directory: ../boost-root/libs/config/test
- name: Config info nvcc
run: nvcc -std=c++${{ matrix.std }} -o config_info -I../../.. config_info.cpp && ./config_info
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc
run: nvcc -std=c++${{ matrix.std }} -o config_test -I../../.. config_test.cpp && ./config_test
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc-cuda
run: nvcc -c -std=c++${{ matrix.std }} -I../../.. config_test.cu
working-directory: ../boost-root/libs/config/test
- name: Config info nvcc+clang
run: nvcc -std=c++${{ matrix.std }} --compiler-bindir=clang++ -o config_info -I../../.. config_info.cpp && ./config_info
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc+clang
run: nvcc -std=c++${{ matrix.std }} --compiler-bindir=clang++ -o config_test -I../../.. config_test.cpp -latomic && ./config_test
working-directory: ../boost-root/libs/config/test
- name: Config_test nvcc-cuda+clang
run: nvcc -c -std=c++${{ matrix.std }} --compiler-bindir=clang++ -I../../.. config_test.cu
working-directory: ../boost-root/libs/config/test
- name: Config_test clang-cuda
run: clang++ -nocudalib --no-cuda-version-check -c --cuda-gpu-arch=sm_75 -std=c++${{ matrix.std }} -I../../.. config_test.cu
working-directory: ../boost-root/libs/config/test

View File

@@ -182,11 +182,16 @@ BOOST_LIB_SUFFIX: Static/import libraries extension (".lib", ".a") for the c
// vc14.1:
# define BOOST_LIB_TOOLSET "vc141"
# elif defined(BOOST_MSVC)
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1930)
// vc14.2:
# define BOOST_LIB_TOOLSET "vc142"
# elif defined(BOOST_MSVC)
// vc14.3:
# define BOOST_LIB_TOOLSET "vc143"
# elif defined(BOOST_EMBTC_WINDOWS)
// Embarcadero Clang based compilers:

View File

@@ -22,6 +22,7 @@
// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
#define BOOST_GPU_ENABLED __host__ __device__
#if !defined(__clang__) || defined(__NVCC__)
// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions
// https://svn.boost.org/trac/boost/ticket/11897
// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance
@@ -38,6 +39,8 @@
# 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:

View File

@@ -476,11 +476,14 @@ namespace std {
#endif
//
// If we're on a CUDA device (note DEVICE not HOST, irrespective of compiler) then disable __float128 support if present:
// If we're on a CUDA device (note DEVICE not HOST, irrespective of compiler) then disable __int128 and __float128 support if present:
//
#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_FLOAT128)
# undef BOOST_HAS_FLOAT128
#endif
#if defined(__CUDA_ARCH__) && defined(BOOST_HAS_INT128)
# undef BOOST_HAS_INT128
#endif
// long long workaround ------------------------------------------//
// On gcc (and maybe other compilers?) long long is alway supported

View File

@@ -157,6 +157,9 @@
#if !defined(__cpp_lib_semaphore) || (__cpp_lib_semaphore < 201907L)
# define BOOST_NO_CXX20_HDR_SEMAPHORE
#endif
#if !defined(__cpp_lib_concepts) || (__cpp_lib_concepts < 202002L)
# define BOOST_NO_CXX20_HDR_CONCEPTS
#endif
#if(_LIBCPP_VERSION < 9000) && !defined(BOOST_NO_CXX20_HDR_SPAN)
// as_writable_bytes is missing.

View File

@@ -1294,6 +1294,9 @@ void print_boost_macros()
#if __has_include(<version>)
# include <version>
#endif
#if __has_include(<atomic>) && (BOOST_CXX_VERSION > 201100)
# include <atomic>
#endif
#endif
void print_sd6_macros()
@@ -1494,6 +1497,18 @@ void print_sd6_macros()
// C++98:
PRINT_MACRO(__cpp_rtti);
PRINT_MACRO(__cpp_exceptions);
// <atomic>:
PRINT_MACRO(ATOMIC_INT_LOCK_FREE);
PRINT_MACRO(ATOMIC_SHORT_LOCK_FREE);
PRINT_MACRO(ATOMIC_LONG_LOCK_FREE);
PRINT_MACRO(ATOMIC_LLONG_LOCK_FREE);
PRINT_MACRO(ATOMIC_POINTER_LOCK_FREE);
PRINT_MACRO(ATOMIC_CHAR_LOCK_FREE);
PRINT_MACRO(ATOMIC_WCHAR_T_LOCK_FREE);
PRINT_MACRO(ATOMIC_CHAR8_T_LOCK_FREE);
PRINT_MACRO(ATOMIC_CHAR16_T_LOCK_FREE);
PRINT_MACRO(ATOMIC_CHAR32_T_LOCK_FREE);
}
void print_separator()