Index: cfe/trunk/lib/Basic/Targets.cpp =================================================================== --- cfe/trunk/lib/Basic/Targets.cpp +++ cfe/trunk/lib/Basic/Targets.cpp @@ -208,6 +208,10 @@ 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: cfe/trunk/test/Preprocessor/arm-target-features.c =================================================================== --- cfe/trunk/test/Preprocessor/arm-target-features.c +++ cfe/trunk/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