From f5a8e6c5ab1390e7c9d347451c6276bc52443abf Mon Sep 17 00:00:00 2001 From: Alexandros Lamprineas Date: Fri, 2 Oct 2015 14:56:37 +0000 Subject: Implement ACLE 2.0 macros of chapters 6.6 and 6.7 for [ARM] and [Aarch64] targets. Differential Revision: http://reviews.llvm.org/D12633 llvm-svn: 249140 --- clang/lib/Basic/Targets.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'clang/lib/Basic/Targets.cpp') diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 6ac6987694e..3458a804f04 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4751,6 +4751,9 @@ public: // ACLE 6.4.6 Q (saturation) flag if (DSP || SAT) Builder.defineMacro("__ARM_FEATURE_QBIT", "1"); + + if (Opts.UnsafeFPMath) + Builder.defineMacro("__ARM_FP_FAST", "1"); } void getTargetBuiltins(const Builtin::Info *&Records, @@ -5204,7 +5207,7 @@ public: Builder.defineMacro("__ARM_ARCH_PROFILE", "'A'"); Builder.defineMacro("__ARM_64BIT_STATE", "1"); - Builder.defineMacro("__ARM_PCS_AAPCS64"); + Builder.defineMacro("__ARM_PCS_AAPCS64", "1"); Builder.defineMacro("__ARM_ARCH_ISA_A64", "1"); Builder.defineMacro("__ARM_FEATURE_CLZ", "1"); @@ -5225,11 +5228,8 @@ public: Builder.defineMacro("__ARM_FP16_FORMAT_IEEE", "1"); Builder.defineMacro("__ARM_FP16_ARGS", "1"); - if (Opts.FastMath || Opts.FiniteMathOnly) - Builder.defineMacro("__ARM_FP_FAST"); - - if (Opts.C99 && !Opts.Freestanding) - Builder.defineMacro("__ARM_FP_FENV_ROUNDING"); + if (Opts.UnsafeFPMath) + Builder.defineMacro("__ARM_FP_FAST", "1"); Builder.defineMacro("__ARM_SIZEOF_WCHAR_T", Opts.ShortWChar ? "2" : "4"); -- cgit v1.2.3