[clang] [llvm] [ARM] Add support for Windows SEH (PR #184953)
Trung Nguyen via cfe-commits
cfe-commits at lists.llvm.org
Fri Mar 6 04:49:37 PST 2026
================
@@ -1664,7 +1664,8 @@ class TargetInfo : public TransferrableTargetInfo,
bool isSEHTrySupported() const {
return getTriple().isOSWindows() &&
(getTriple().isX86() ||
- getTriple().getArch() == llvm::Triple::aarch64);
+ getTriple().getArch() == llvm::Triple::aarch64 ||
+ getTriple().isThumb());
----------------
trungnt2910 wrote:
https://github.com/llvm/llvm-project/blob/fb449d017259a6e26df6b37d3d8de7da3db5b544/llvm/include/llvm/TargetParser/Triple.h#L951-L959
They appear to be two different targets. For `armv7-*` targets, `isARM()` returns `false`.
Furthermore, as documented by [Microsoft](https://learn.microsoft.com/en-us/cpp/build/overview-of-arm-abi-conventions?view=msvc-170),
> The instruction set for Windows on ARM is strictly limited to Thumb-2. All code executed on this platform is expected to start and always remain in Thumb mode.
so we should not support classic ARM here.
https://github.com/llvm/llvm-project/pull/184953
More information about the cfe-commits
mailing list