Author: cbieneman Date: Fri Apr 29 12:53:00 2016 New Revision: 268078 URL: http://llvm.org/viewvc/llvm-project?rev=268078&view=rev Log: [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 Modified: cfe/trunk/lib/Basic/Targets.cpp cfe/trunk/test/Preprocessor/arm-target-features.c Modified: cfe/trunk/lib/Basic/Targets.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=268078&r1=268077&r2=268078&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Targets.cpp (original) +++ cfe/trunk/lib/Basic/Targets.cpp Fri Apr 29 12:53:00 2016 @@ -208,6 +208,10 @@ static void getDarwinDefines(MacroBuilde 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); } Modified: cfe/trunk/test/Preprocessor/arm-target-features.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Preprocessor/arm-target-features.c?rev=268078&r1=268077&r2=268078&view=diff ============================================================================== --- cfe/trunk/test/Preprocessor/arm-target-features.c (original) +++ cfe/trunk/test/Preprocessor/arm-target-features.c Fri Apr 29 12:53:00 2016 @@ -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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits