aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJulian Brown <julian@codesourcery.com>2012-07-24 11:29:50 +0000
committerJulian Brown <jules@gcc.gnu.org>2012-07-24 11:29:50 +0000
commit552b56fcf26648938a107c54548551e39b1f6430 (patch)
tree7967f1588aada7984f350d95c644d59f6109b414 /gcc
parent0229aee998dd42467174237fb49dc899fe1a0478 (diff)
downloadgcc-552b56fcf26648938a107c54548551e39b1f6430.zip
gcc-552b56fcf26648938a107c54548551e39b1f6430.tar.gz
gcc-552b56fcf26648938a107c54548551e39b1f6430.tar.bz2
sourcebuild.texi (arm_hf_eabi): Document effective-target check.
gcc/ * doc/sourcebuild.texi (arm_hf_eabi): Document effective-target check. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_hf_eabi): New. * gcc.dg/torture/stackalign/builtin-apply-2.c: Skip for hard-float ARM. From-SVN: r189805
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/sourcebuild.texi5
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c2
-rw-r--r--gcc/testsuite/lib/target-supports.exp13
5 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c74db97..af268f4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-24 Julian Brown <julian@codesourcery.com>
+
+ * doc/sourcebuild.texi (arm_hf_eabi): Document effective-target
+ check.
+
2012-07-24 Steven Bosscher <steven@gcc.gnu.org>
* sbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.
diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi
index 84fcc23..44c2842 100644
--- a/gcc/doc/sourcebuild.texi
+++ b/gcc/doc/sourcebuild.texi
@@ -1497,6 +1497,11 @@ ARM target generates 32-bit code.
@item arm_eabi
ARM target adheres to the ABI for the ARM Architecture.
+@item arm_hf_eabi
+ARM target adheres to the VFP and Advanced SIMD Register Arguments
+variant of the ABI for the ARM Architecture (as selected with
+@code{-mfloat-abi=hard}).
+
@item arm_hard_vfp_ok
ARM target supports @code{-mfpu=vfp -mfloat-abi=hard}.
Some multilibs may be incompatible with these options.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 40576ab..b436965 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2012-07-24 Julian Brown <julian@codesourcery.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_hf_eabi): New.
+ * gcc.dg/torture/stackalign/builtin-apply-2.c: Skip for
+ hard-float ARM.
+
2012-07-23 Paul Brook <paul@codesourcery.com>
* g++.dg/other/armv7m-1.c: New test.
diff --git a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
index 89c71a9..6ba5871 100644
--- a/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
+++ b/gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
@@ -5,6 +5,8 @@
with pre-pushed arguments (e.g. SPARC). */
/* { dg-do run } */
+
+/* { dg-skip-if "Variadic funcs use Base AAPCS. Normal funcs use VFP variant." { arm_hf_eabi } } */
#define INTEGER_ARG 5
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index bc5baa7..dbe4086 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2341,6 +2341,19 @@ proc check_effective_target_arm_eabi { } {
}]
}
+# Return 1 if this is an ARM target that adheres to the hard-float variant of
+# the ABI for the ARM Architecture (e.g. -mfloat-abi=hard).
+
+proc check_effective_target_arm_hf_eabi { } {
+ return [check_no_compiler_messages arm_hf_eabi object {
+ #if !defined(__ARM_EABI__) || !defined(__ARM_PCS_VFP)
+ #error not hard-float EABI
+ #else
+ int dummy;
+ #endif
+ }]
+}
+
# Return 1 if this is an ARM target supporting -mcpu=iwmmxt.
# Some multilibs may be incompatible with this option.