diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2fe27812..603da2cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -169,7 +169,7 @@ jobs: fail-fast: false matrix: include: - - toolset: msvc-14.3 # tests CMake tests down below, does not run b2 tests + - toolset: msvc-14.5 # tests CMake tests down below, does not run b2 tests cxxstd: "14,17,20,latest" addrmd: 64 os: windows-2025 @@ -266,6 +266,7 @@ jobs: shell: cmd run: | cd ../boost-root + call "C:/Program Files/Microsoft Visual Studio/2025/Enterprise/VC/Auxiliary/Build/vcvarsall.bat" x64 b2 -d0 headers b2 ${{matrix.threads}} libs/%LIBRARY%/test toolset=${{matrix.toolset}} cxxstd=${{matrix.cxxstd}} address-model=${{matrix.addrmd}} variant=debug,release diff --git a/test/core/Jamfile.v2 b/test/core/Jamfile.v2 index 6b9671b1..e44fd55e 100644 --- a/test/core/Jamfile.v2 +++ b/test/core/Jamfile.v2 @@ -120,16 +120,29 @@ local BLACKLIST_TESTS_FOR_CLASSIC = tie_anonymous_const_field ; +local BLACKLIST_TESTS_FOR_MSVC14_5 = + get_rvalue + issue30 + non_movable + ; + for local source_file in [ glob ./run/*.cpp ] [ glob ../../example/*.cpp ] { local target_name = $(source_file[1]:B) ; - pfr_tests += [ run $(source_file) : : : $(CPP26_REFLECTION_ENGINE) : $(target_name)_refl ] ; - pfr_tests += [ run $(source_file) : : : $(VARIADIC_STRUCTURED_BINDING_ENGINE) : $(target_name)_vsb ] ; - pfr_tests += [ run $(source_file) : : : $(STRUCTURED_BINDING_ENGINE) : $(target_name)_sb ] ; + + local msvc_14_5_disable = ; + if $(target_name) in $(BLACKLIST_TESTS_FOR_MSVC14_5) + { + msvc_14_5_disable = msvc-14.5:no ; + } + + pfr_tests += [ run $(source_file) : : : $(CPP26_REFLECTION_ENGINE) $(msvc_14_5_disable) : $(target_name)_refl ] ; + pfr_tests += [ run $(source_file) : : : $(VARIADIC_STRUCTURED_BINDING_ENGINE) $(msvc_14_5_disable) : $(target_name)_vsb ] ; + pfr_tests += [ run $(source_file) : : : $(STRUCTURED_BINDING_ENGINE) $(msvc_14_5_disable) : $(target_name)_sb ] ; if ! $(target_name) in $(BLACKLIST_TESTS_FOR_LOOPHOLE) { - pfr_tests += [ run $(source_file) : : : $(LOOPHOLE_ENGINE) : $(target_name)_lh ] ; + pfr_tests += [ run $(source_file) : : : $(LOOPHOLE_ENGINE) $(msvc_14_5_disable) : $(target_name)_lh ] ; } else { @@ -138,7 +151,7 @@ for local source_file in [ glob ./run/*.cpp ] [ glob ../../example/*.cpp ] if ! $(target_name) in $(BLACKLIST_TESTS_FOR_CLASSIC) { - pfr_tests += [ run $(source_file) : : : $(CLASSIC_ENGINE) : $(target_name)_classic ] ; + pfr_tests += [ run $(source_file) : : : $(CLASSIC_ENGINE) $(msvc_14_5_disable) : $(target_name)_classic ] ; } else { diff --git a/test/core_name/run/void_ptr.cpp b/test/core_name/run/void_ptr.cpp index 2aaf6309..a8d2bb9a 100644 --- a/test/core_name/run/void_ptr.cpp +++ b/test/core_name/run/void_ptr.cpp @@ -23,7 +23,7 @@ int main() { static_assert(boost::pfr::get_name<0, LongPointerTest>() == "OwningThread"); // No known workaround for MSVC -#if !defined(_MSC_VER) || _MSC_VER > 1944 +#if !defined(_MSC_VER) || _MSC_VER > 1952 static_assert(boost::pfr::get_name<0, VoidPointerTest>() == "OwningThread"); #endif }