From 4c9ac7d7df7668773cfe621c3711a8aacbb5760b Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Wed, 27 Jan 2016 22:14:02 +0000 Subject: [PATCH] ARMv7k: simplify logic for deciding sjlj-exceptions. Slight change of behaviour in the odd armv7+watchos case, which should match the other runtime components. llvm-svn: 258994 --- clang/lib/Driver/ToolChains.cpp | 3 +-- clang/test/Driver/arch-armv7k.c | 3 +++ 2 files changed, 4 insertions(+), 2 deletions(-) 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"