sourcebuild.texi (arm_hf_eabi): Document effective-target check.
authorJulian Brown <julian@codesourcery.com>
Tue, 24 Jul 2012 11:29:50 +0000 (11:29 +0000)
committerJulian Brown <jules@gcc.gnu.org>
Tue, 24 Jul 2012 11:29:50 +0000 (11:29 +0000)
    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

gcc/ChangeLog
gcc/doc/sourcebuild.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/stackalign/builtin-apply-2.c
gcc/testsuite/lib/target-supports.exp

index c74db97fa1da77ccbbaeca4ebef6b4eb0dbbd043..af268f45caa1ea5a239f13b151dcbdeecbc481ef 100644 (file)
@@ -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.
index 84fcc23e55a6eb480f28cd5e4672d661d2a6d336..44c284246f93de58a9c07a4c833ee057f14a7ecd 100644 (file)
@@ -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.
index 40576ab99056bee30b28311cead66bda0067c1c1..b436965bef7f20958573f94c220d4a7e2adb8b6e 100644 (file)
@@ -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.
index 89c71a99d5bde591211b77b391e4aedcd60ec9b7..6ba5871885a8664bb3f311c605c945e1f9609b3f 100644 (file)
@@ -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
index bc5baa76622d9ed09f6eba7ecb25fbd69766f26d..dbe4086a193d9d898dec522d07fe5711c2cb4659 100644 (file)
@@ -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.