This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[AArch64 testsuite] Make vect-abs.c C99 compliant


Hi,

This test fails on a linux build because it tries to use the
LONG_LONG_{MAX/MIN} macros from "types.h". These are not guaranteed
to exist, and my system "types.h" doesn't provide them. C99 provides
LLONG_{MIN/MAX} for this purpose.

A gnu89 baremetal compiler doesn't seem to carry these macros
so we must add -std=c99.

But then this testcase doesn't properly declare its functions, relying
on an implicit int return type.

So I've fixed those up and now the test passes on aarch64-none-elf and
aarch64-none-linux-gnu.

I guess the patch is obvious and low risk as it is a target
specific test, but as we are late in Stage 4 I'd like
approval before I commit.

OK?

Thanks,
James

---
gcc/testsuite/

2014-02-18  James Greenhalgh  <james.greenhalgh@arm.com>

	* gcc.target/aarch64/vect-abs.c (dg-options): Add -std=c99.
	(LONG_LONG): Use LLONG.
	(set_rvector_long): Explicitly return void.
	(set_vector_long): Likewise.
	(check_vector_long): Likewise.
diff --git a/gcc/testsuite/gcc.target/aarch64/vect-abs.c b/gcc/testsuite/gcc.target/aarch64/vect-abs.c
index 954b106..9e0ed99 100644
--- a/gcc/testsuite/gcc.target/aarch64/vect-abs.c
+++ b/gcc/testsuite/gcc.target/aarch64/vect-abs.c
@@ -1,6 +1,6 @@
 
 /* { dg-do run } */
-/* { dg-options "-O3" } */
+/* { dg-options "-O3 -std=c99" } */
 
 #include "limits.h"
 
@@ -37,8 +37,9 @@ extern void abort (void);
 SET_RVEC (8, SCHAR)
 SET_RVEC (16, SHRT)
 SET_RVEC (32, INT)
-SET_RVEC (64, LONG_LONG)
+SET_RVEC (64, LLONG)
 
+void
 set_rvector_long (pRLONG a)
 {
   int i;
@@ -49,8 +50,9 @@ set_rvector_long (pRLONG a)
 SET_VEC (8, SCHAR)
 SET_VEC (16, SHRT)
 SET_VEC (32, INT)
-SET_VEC (64, LONG_LONG)
+SET_VEC (64, LLONG)
 
+void
 set_vector_long (long *__restrict__ a)
 {
   long i;
@@ -63,6 +65,7 @@ CHECK_VEC (16)
 CHECK_VEC (32)
 CHECK_VEC (64)
 
+void
 check_vector_long (long *__restrict__ a, long *__restrict__ b)
 {
   long i;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]