]> granicus.if.org Git - clang/commitdiff
[Clang][Darwin] Define __ARM_DWARF_EH__ for WatchABI
authorChris Bieneman <beanz@apple.com>
Fri, 29 Apr 2016 17:53:00 +0000 (17:53 +0000)
committerChris Bieneman <beanz@apple.com>
Fri, 29 Apr 2016 17:53:00 +0000 (17:53 +0000)
Summary: The Darwin armv7k ABI uses Dwarf EH, so we need to set the OS define correctly. Without this the gcc_personality fails to build.

Reviewers: t.p.northover

Subscribers: aemerson, cfe-commits, rengolin

Differential Revision: http://reviews.llvm.org/D19693

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268078 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp
test/Preprocessor/arm-target-features.c

index e2a9292dd0b6aab294a08b0eb2bc63f06be8ff98..0a87cdf061e8400d8fd09ba06748f4d87e57502c 100644 (file)
@@ -208,6 +208,10 @@ static void getDarwinDefines(MacroBuilder &Builder, const LangOptions &Opts,
   if (Triple.isOSDarwin())
     Builder.defineMacro("__MACH__");
 
+  // The Watch ABI uses Dwarf EH.
+  if(Triple.isWatchABI())
+    Builder.defineMacro("__ARM_DWARF_EH__");
+
   PlatformMinVersion = VersionTuple(Maj, Min, Rev);
 }
 
index 8d8a0afe2f0981e68c53d4acc3379cc4d54ffadf..fd1aebd30e89758e6dfd80c650e0f61f7d8d6704 100644 (file)
 // ARMV7K:#define __ARM_ARCH 7
 // ARMV7K:#define __ARM_ARCH_EXT_IDIV__ 1
 // ARMV7K:#define __ARM_ARCH_PROFILE 'A'
+// ARMV7K:#define __ARM_DWARF_EH__ 1
 // ARMV7K:#define __ARM_FEATURE_DSP 1
 // ARMV7K:#define __ARM_FP 0xE
 // ARMV7K:#define __ARM_PCS_VFP 1