From: Keith Walker Date: Mon, 24 Aug 2015 10:11:14 +0000 (+0000) Subject: [AArch64] Define the macro __ARM_FP16_ARGS X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7bfa6b3f699a1e2810ae75c7f0c5485d71eaf324;p=clang [AArch64] Define the macro __ARM_FP16_ARGS The ACLE (ARM C Language Extensions) 2.0 defines that the predefined macro __ARM_FP16_ARGS should be defined if __fp16 can be used as an argument and result. The support for __fp16 to be used as an argument and result is already implemented for AArch64 so this change is just adding the missing macro. Differential Revision: http://reviews.llvm.org/D12240 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245833 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index dba564fb0e..ae300214ec 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -5176,6 +5176,7 @@ public: // PCS specifies this for SysV variants, which is all we support. Other ABIs // may choose __ARM_FP16_FORMAT_ALTERNATIVE. Builder.defineMacro("__ARM_FP16_FORMAT_IEEE"); + Builder.defineMacro("__ARM_FP16_ARGS"); if (Opts.FastMath || Opts.FiniteMathOnly) Builder.defineMacro("__ARM_FP_FAST"); diff --git a/test/Preprocessor/aarch64-target-features.c b/test/Preprocessor/aarch64-target-features.c index 26f1d9d162..4cd94ffddf 100644 --- a/test/Preprocessor/aarch64-target-features.c +++ b/test/Preprocessor/aarch64-target-features.c @@ -19,6 +19,7 @@ // CHECK: __ARM_FEATURE_NUMERIC_MAXMIN 1 // CHECK: __ARM_FEATURE_UNALIGNED 1 // CHECK: __ARM_FP 0xe +// CHECK: __ARM_FP16_ARGS 1 // CHECK: __ARM_FP16_FORMAT_IEEE 1 // CHECK-NOT: __ARM_FP_FAST 1 // CHECK: __ARM_FP_FENV_ROUNDING 1