From 488174dc68f90217fd43aa95d87441cc6bad6a29 Mon Sep 17 00:00:00 2001
From: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>
Date: Wed, 26 Mar 2025 00:07:52 +0100
Subject: GH-131691: Fix exception handling setting for clang-cl on Windows
(GH-131730)
The /EHa option for Clang-CL behaves differently than the same option for MSVC, which is why we don't use it for both compilers.
---
.../next/Build/2025-03-25-19-14-24.gh-issue-131691.2BgHU5.rst | 2 ++
PCbuild/pyproject-clangcl.props | 8 ++++++++
PCbuild/pyproject.props | 10 +++++++---
3 files changed, 17 insertions(+), 3 deletions(-)
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 0000000..b956764
--- /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.
diff --git a/PCbuild/pyproject-clangcl.props b/PCbuild/pyproject-clangcl.props
index d949c37..a574cf8 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 b5a236e..4e414dc 100644
--- a/PCbuild/pyproject.props
+++ b/PCbuild/pyproject.props
@@ -25,9 +25,6 @@
false
-
-
-
$(TargetName)$(TargetExt)
<_TargetNameSep>$(TargetNameExt.LastIndexOf(`.`))
@@ -130,6 +127,13 @@
+
+
+
--
cgit v0.12