From 3e1e4f11dd0a2f02b36d931ee61d5d93195cbb7c Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Tue, 25 Mar 2025 19:09:36 +0100 Subject: [PATCH 1/4] use /EHa when compiling with clang-cl --- PCbuild/pyproject-clangcl.props | 8 ++++++++ PCbuild/pyproject.props | 10 +++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/PCbuild/pyproject-clangcl.props b/PCbuild/pyproject-clangcl.props index d949c37d562594..a574cf84ee5d6c 100644 --- a/PCbuild/pyproject-clangcl.props +++ b/PCbuild/pyproject-clangcl.props @@ -38,6 +38,14 @@ + + Async -Wno-deprecated-non-prototype -Wno-unused-label -Wno-pointer-sign -Wno-incompatible-pointer-types-discards-qualifiers -Wno-unused-function %(AdditionalOptions) -m32 %(AdditionalOptions) -m64 %(AdditionalOptions) diff --git a/PCbuild/pyproject.props b/PCbuild/pyproject.props index b5a236ee3e37d5..4e414dc913b9d5 100644 --- a/PCbuild/pyproject.props +++ b/PCbuild/pyproject.props @@ -25,9 +25,6 @@ false - - - $(TargetName)$(TargetExt) <_TargetNameSep>$(TargetNameExt.LastIndexOf(`.`)) @@ -130,6 +127,13 @@ + + + From 01335b17c4dcffb09f7aa391aeb8cad9a66e78bd Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Tue, 25 Mar 2025 19:14:46 +0100 Subject: [PATCH 2/4] blurb it --- .../next/Build/2025-03-25-19-14-24.gh-issue-131691.2BgHU5.rst | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 Misc/NEWS.d/next/Build/2025-03-25-19-14-24.gh-issue-131691.2BgHU5.rst diff --git a/Misc/NEWS.d/next/Build/2025-03-25-19-14-24.gh-issue-131691.2BgHU5.rst b/Misc/NEWS.d/next/Build/2025-03-25-19-14-24.gh-issue-131691.2BgHU5.rst new file mode 100644 index 00000000000000..b9567643cdb110 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2025-03-25-19-14-24.gh-issue-131691.2BgHU5.rst @@ -0,0 +1,2 @@ +clang-cl on Windows needs option ``/EHa`` to support SEH (structured +exception handling) correctly. Fix by Chris Eibl. From bd83c140b6d60af2c4780cded17a0a96aef020e9 Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Tue, 25 Mar 2025 19:15:28 +0100 Subject: [PATCH 3/4] temporarily touch (fix) tail-call.yml to trigger CI --- .github/workflows/tail-call.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tail-call.yml b/.github/workflows/tail-call.yml index 3bee758e2ad2cf..d6337482df24d3 100644 --- a/.github/workflows/tail-call.yml +++ b/.github/workflows/tail-call.yml @@ -87,8 +87,9 @@ jobs: set PlatformToolset=clangcl set LLVMToolsVersion=${{ matrix.llvm }}.1.5 set LLVMInstallDir=C:\Program Files\LLVM - ./PCbuild/build.bat --tail-call-interp -d -p ${{ matrix.architecture }} - ./PCbuild/rt.bat -d -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # DO NOT MERGE! Just triggering tail-call Windows CI and invoking tests + call ./PCbuild/build.bat --tail-call-interp -d -p ${{ matrix.architecture }} + call ./PCbuild/rt.bat -d -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 # No tests (yet): - name: Emulated Windows (release) From 78cb6d9c39ce4015e8721a5b16b93512afb6adec Mon Sep 17 00:00:00 2001 From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com> Date: Tue, 25 Mar 2025 20:00:02 +0100 Subject: [PATCH 4/4] Revert "temporarily touch (fix) tail-call.yml to trigger CI" This reverts commit bd83c140b6d60af2c4780cded17a0a96aef020e9. --- .github/workflows/tail-call.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tail-call.yml b/.github/workflows/tail-call.yml index d6337482df24d3..3bee758e2ad2cf 100644 --- a/.github/workflows/tail-call.yml +++ b/.github/workflows/tail-call.yml @@ -87,9 +87,8 @@ jobs: set PlatformToolset=clangcl set LLVMToolsVersion=${{ matrix.llvm }}.1.5 set LLVMInstallDir=C:\Program Files\LLVM - # DO NOT MERGE! Just triggering tail-call Windows CI and invoking tests - call ./PCbuild/build.bat --tail-call-interp -d -p ${{ matrix.architecture }} - call ./PCbuild/rt.bat -d -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + ./PCbuild/build.bat --tail-call-interp -d -p ${{ matrix.architecture }} + ./PCbuild/rt.bat -d -p ${{ matrix.architecture }} -q --multiprocess 0 --timeout 4500 --verbose2 --verbose3 # No tests (yet): - name: Emulated Windows (release)