diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index 4f72a96ace29..45cd8bdb29ca 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -1076,8 +1076,7 @@ bool Darwin::UseSjLjExceptions(const ArgList &Args) const { // Only watchOS uses the new DWARF/Compact unwinding method. llvm::Triple Triple(ComputeLLVMTriple(Args)); - return !(Triple.getArchName() == "armv7k" || - Triple.getArchName() == "thumbv7k") && !isTargetWatchOS(); + return !Triple.isWatchABI(); } bool MachO::isPICDefault() const { return true; } diff --git a/clang/test/Driver/arch-armv7k.c b/clang/test/Driver/arch-armv7k.c index 24a1851bc584..5ebdd388abda 100644 --- a/clang/test/Driver/arch-armv7k.c +++ b/clang/test/Driver/arch-armv7k.c @@ -9,3 +9,6 @@ // match. // RUN: %clang -target x86_64-apple-macosx10.9 -arch armv7k -miphoneos-version-min=9.0 -c %s -### 2>&1 | FileCheck %s + +// RUN: %clang -target x86_64-apple-macosx10.9 -arch armv7 -mwatchos-version-min=9.0 -c %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SJLJ +// CHECK-SJLJ: "-fsjlj-exceptions"