[clang] [llvm] [ARM] Add support for Windows SEH (PR #184953)

Trung Nguyen via cfe-commits cfe-commits at lists.llvm.org
Wed Apr 15 03:38:48 PDT 2026


================
@@ -0,0 +1,57 @@
+; RUN: llc -mtriple thumbv7-windows-msvc -o - %s
+; XFAIL: *
+
+; FIXME: C++ EH is not supported on thumbv7-windows-msvc yet.
+
+; FIXME: Windows SEH for armv7 does not preserve the frame register R11 in
+; handlers. This may affect C++ EH when accessing arguments on the stack in
+; functions with stack realignment.
+
+; C++ source:
+; struct X { int x[100]; };
+; void f(X x, void (*a)(), void (*g)(int*)) {
+;     alignas(64) int aligned;
+;     try {
+;         a();
+;     } catch (...) {
+;         g(&x.x[11]);
+;     }
+; }
+
+%struct.X = type { [100 x i32] }
+
+define void @"?f@@YAXUX@@P6AXXZP6AXPAH at Z@Z"(ptr byval(%struct.X) align 4 %x, ptr %a, ptr %g) personality ptr @__CxxFrameHandler3 {
----------------
trungnt2910 wrote:

Hi @efriedma-quic, any updates on this? Thanks!

<!-- [Ping](https://llvm.org/docs/CodeReview.html#code-reviews-speed-and-reciprocity) -->

https://github.com/llvm/llvm-project/pull/184953


More information about the cfe-commits mailing list