Merge pull request #551 from boostorg/issue498

Enable more features for C++/CLR with latest MSVC.
This commit is contained in:
jzmaddock
2026-07-13 10:08:40 +01:00
committed by GitHub
5 changed files with 58 additions and 9 deletions
+38 -5
View File
@@ -163,7 +163,7 @@ jobs:
run: ../../../b2 toolset=${{ matrix.toolset }} cxxstd=03,11,14,17,2a
working-directory: ../boost-root/libs/config/test
windows_msvc_14_3:
runs-on: windows-2022
runs-on: windows-2025
defaults:
run:
shell: cmd
@@ -190,13 +190,46 @@ jobs:
run: b2 headers
working-directory: ../boost-root
- name: Config info
run: ..\..\..\b2 print_config_info cxxstd=14,17,20,latest address-model=64 toolset=msvc-14.3
run: ..\..\..\b2 print_config_info cxxstd=14,17,20,latest address-model=64 toolset=msvc
working-directory: ../boost-root/libs/config/test
- name: Test
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,20,latest toolset=msvc-14.3
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,20,latest toolset=msvc
working-directory: ../boost-root/libs/config/test
windows_msvc_14_3_CLR:
runs-on: windows-2025
defaults:
run:
shell: cmd
strategy:
fail-fast: false
matrix:
toolset: [ msvc-14.3 ]
steps:
- uses: actions/checkout@v5
with:
fetch-depth: '0'
- 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 libs/throw_exception libs/preprocessor
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,20 cxxflags=-clr asynch-exceptions=on toolset=msvc
working-directory: ../boost-root/libs/config/test
- name: Test
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,20 cxxflags=-clr asynch-exceptions=on toolset=msvc
working-directory: ../boost-root/libs/config/test
windows_clang_msvc_14_3:
runs-on: windows-2022
runs-on: windows-2025
defaults:
run:
shell: cmd
@@ -229,7 +262,7 @@ jobs:
run: ..\..\..\b2 --hash address-model=64 cxxstd=14,17,latest toolset=clang-win embed-manifest-via=linker
working-directory: ../boost-root/libs/config/test
windows_cygwin:
runs-on: windows-2022
runs-on: windows-2025
defaults:
run:
shell: cmd
+1 -1
View File
@@ -283,7 +283,7 @@
#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(_MSVC_LANG)
# define BOOST_NO_SFINAE_EXPR
#endif
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
#if !defined(BOOST_NO_CXX11_REF_QUALIFIERS) && !defined(_MSVC_LANG)
# define BOOST_NO_CXX11_REF_QUALIFIERS
#endif
#endif
+5 -1
View File
@@ -257,7 +257,7 @@
//
// Things not supported by the CLR:
#ifdef _M_CEE
#if defined(_M_CEE) && (_MSC_VER < 1951)
#ifndef BOOST_NO_CXX11_HDR_MUTEX
# define BOOST_NO_CXX11_HDR_MUTEX
#endif
@@ -279,11 +279,15 @@
#ifndef BOOST_NO_CXX14_STD_EXCHANGE
# define BOOST_NO_CXX14_STD_EXCHANGE
#endif
#endif
#if defined(_M_CEE)
#ifndef BOOST_NO_FENV_H
# define BOOST_NO_FENV_H
#endif
#endif
#ifdef _CPPLIB_VER
# define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
#else
+5 -2
View File
@@ -37,6 +37,8 @@ exe has_rt_lib : config_info.cpp rt ;
explicit has_rt_lib ;
obj check_memory : check_memory.cpp ;
explicit check_memory ;
obj has_clr : has_clr.cpp ;
explicit has_clr ;
test-suite config
:
@@ -59,6 +61,7 @@ test-suite config
[ check-target-builds has_atomic_lib : <source>atomic ]
[ check-target-builds has_pthread_lib : <source>pthread ]
[ check-target-builds has_rt_lib : <source>rt ]
[ check-target-builds has_clr : : <build>no ]
]
[ run config_test.cpp
: #args
@@ -84,9 +87,9 @@ test-suite config
[ check-target-builds has_rt_lib : <source>rt ]
: config_test_no_except
]
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on ]
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>single <toolset>msvc:<runtime-link>static <toolset>msvc:<link>static <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on [ check-target-builds has_clr : : <build>no ] ]
[ run config_info.cpp : : : <test-info>always_show_run_output <threading>multi <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_threaded ]
[ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on : config_info_no_rtti ]
[ run config_info.cpp : : : <test-info>always_show_run_output <rtti>off <toolset>msvc:<warnings-as-errors>on <toolset>gcc:<warnings-as-errors>on <toolset>clang:<warnings-as-errors>on [ check-target-builds has_clr : : <build>no ] : config_info_no_rtti ]
[ run config_info.cpp : : : <test-info>always_show_run_output <exception-handling>off
<target-os>vxworks:<build>no
: config_info_no_except ]
+9
View File
@@ -0,0 +1,9 @@
// (C) Copyright John Maddock 2026
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#ifdef _M_CEE
#error "This is CLR"
#endif