diff options
-rw-r--r-- | lib/Basic/Targets.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index cd835023ab..3481b5976b 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -3213,7 +3213,9 @@ public: Builder.defineMacro("__THUMB_INTERWORK__"); if (ABI == "aapcs" || ABI == "aapcs-linux") { - Builder.defineMacro("__ARM_EABI__"); + // M-class CPUs on Darwin follow AAPCS, but not EABI. + if (!(getTriple().isOSDarwin() == llvm::Triple::IOS && CPUProfile == "M")) + Builder.defineMacro("__ARM_EABI__"); Builder.defineMacro("__ARM_PCS", "1"); if (!SoftFloat && !SoftFloatABI) |