aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm-c.c8
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5bfb202..72f0e9e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-11-16 Christian Bruel <christian.bruel@st.com>
+
+ PR target/65837
+ * config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset
+ __ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP.
+
2015-11-16 James Greenhalgh <james.greenhalgh@arm.com>
* config/aarch64/aarch64.c (cortexa57_branch_costs): New.
diff --git a/gcc/config/arm/arm-c.c b/gcc/config/arm/arm-c.c
index e94fa10..c336a16 100644
--- a/gcc/config/arm/arm-c.c
+++ b/gcc/config/arm/arm-c.c
@@ -129,18 +129,22 @@ arm_cpu_builtins (struct cpp_reader* pfile)
if (TARGET_ARM_FP)
builtin_define_with_int_value ("__ARM_FP", TARGET_ARM_FP);
+ else
+ cpp_undef (pfile, "__ARM_FP");
+
if (arm_fp16_format == ARM_FP16_FORMAT_IEEE)
builtin_define ("__ARM_FP16_FORMAT_IEEE");
if (arm_fp16_format == ARM_FP16_FORMAT_ALTERNATIVE)
builtin_define ("__ARM_FP16_FORMAT_ALTERNATIVE");
- if (TARGET_FMA)
- builtin_define ("__ARM_FEATURE_FMA");
+ def_or_undef_macro (pfile, "__ARM_FEATURE_FMA", TARGET_FMA);
def_or_undef_macro (pfile, "__ARM_NEON__", TARGET_NEON);
def_or_undef_macro (pfile, "__ARM_NEON", TARGET_NEON);
if (TARGET_NEON_FP)
builtin_define_with_int_value ("__ARM_NEON_FP", TARGET_NEON_FP);
+ else
+ cpp_undef (pfile, "__ARM_NEON_FP");
/* Add a define for interworking. Needed when building libgcc.a. */
if (arm_cpp_interwork)