diff options
author | Chris Bieneman <beanz@apple.com> | 2016-04-29 17:53:00 +0000 |
---|---|---|
committer | Chris Bieneman <beanz@apple.com> | 2016-04-29 17:53:00 +0000 |
commit | 46977b62aaaca7a5853a6e3eeabc0adc8f53ef32 (patch) | |
tree | cc3c2f0e2d0a92c044d1a03387f3bef611395a41 | |
parent | fb4f2fedd1e4402f1d8a933813c2addb83d07e24 (diff) | |
download | llvm-46977b62aaaca7a5853a6e3eeabc0adc8f53ef32.zip llvm-46977b62aaaca7a5853a6e3eeabc0adc8f53ef32.tar.gz llvm-46977b62aaaca7a5853a6e3eeabc0adc8f53ef32.tar.bz2 |
[Clang][Darwin] Define __ARM_DWARF_EH__ for WatchABI
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
llvm-svn: 268078
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 4 | ||||
-rw-r--r-- | clang/test/Preprocessor/arm-target-features.c | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index e2a9292..0a87cdf 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -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); } diff --git a/clang/test/Preprocessor/arm-target-features.c b/clang/test/Preprocessor/arm-target-features.c index 8d8a0af..fd1aebd 100644 --- a/clang/test/Preprocessor/arm-target-features.c +++ b/clang/test/Preprocessor/arm-target-features.c @@ -217,6 +217,7 @@ // 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 |