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)