From 3183ba93ee90e4f3ab57f59f4bcb008cf1c5194d Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 18 Sep 2026 10:50:07 +0300 Subject: [PATCH 1/5] Fix CI --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2fe27812..7e26bc57 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -266,6 +266,7 @@ jobs: shell: cmd run: | cd ../boost-root + call "C:/Program Files/Microsoft Visual Studio/2022/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 From 88e30acb52215a208684145754c87dc0b5013d00 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 18 Sep 2026 10:59:37 +0300 Subject: [PATCH 2/5] fix attempt --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e26bc57..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,7 +266,7 @@ jobs: shell: cmd run: | cd ../boost-root - call "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsall.bat" x64 + 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 From 9f8028a0287953e6078c8c7c64a9307aa979c48b Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 18 Sep 2026 12:07:43 +0300 Subject: [PATCH 3/5] blacklist for msvc-14.5 tests --- test/core/Jamfile.v2 | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/test/core/Jamfile.v2 b/test/core/Jamfile.v2 index 6b9671b1..b241794f 100644 --- a/test/core/Jamfile.v2 +++ b/test/core/Jamfile.v2 @@ -120,16 +120,30 @@ local BLACKLIST_TESTS_FOR_CLASSIC = tie_anonymous_const_field ; +local BLACKLIST_TESTS_FOR_MSVC14_5 = + get_rvalue + issue30 + non_movable + void_ptr + ; + 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 +152,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 { From e2e488b2e51bf252ad99f5cb982f9dc4509377e9 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 18 Sep 2026 13:30:07 +0300 Subject: [PATCH 4/5] workarounds --- test/core/Jamfile.v2 | 1 - test/core_name/run/void_ptr.cpp | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/test/core/Jamfile.v2 b/test/core/Jamfile.v2 index b241794f..e44fd55e 100644 --- a/test/core/Jamfile.v2 +++ b/test/core/Jamfile.v2 @@ -124,7 +124,6 @@ local BLACKLIST_TESTS_FOR_MSVC14_5 = get_rvalue issue30 non_movable - void_ptr ; for local source_file in [ glob ./run/*.cpp ] [ glob ../../example/*.cpp ] diff --git a/test/core_name/run/void_ptr.cpp b/test/core_name/run/void_ptr.cpp index 2aaf6309..b3af8f80 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 > 1950 static_assert(boost::pfr::get_name<0, VoidPointerTest>() == "OwningThread"); #endif } From 97d6edd7bfeeb0e5c8bbfffb1452a9f072676ad2 Mon Sep 17 00:00:00 2001 From: Antony Polukhin Date: Fri, 18 Sep 2026 13:47:09 +0300 Subject: [PATCH 5/5] workarounds --- test/core_name/run/void_ptr.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/core_name/run/void_ptr.cpp b/test/core_name/run/void_ptr.cpp index b3af8f80..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 > 1950 +#if !defined(_MSC_VER) || _MSC_VER > 1952 static_assert(boost::pfr::get_name<0, VoidPointerTest>() == "OwningThread"); #endif }