aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@college-de-france.fr>2019-06-15 14:00:49 +0200
committerXavier Leroy <xavier.leroy@college-de-france.fr>2019-08-07 10:39:56 +0200
commitb839084a1731b09542eedff0cfac8e1a7b072c69 (patch)
tree1343c093dc501e4c1b291d99b256053dcafcc2aa
parente61e2dffaac5f5ffbffdbd87c3d3466bd9a2e83b (diff)
downloadcompcert-b839084a1731b09542eedff0cfac8e1a7b072c69.tar.gz
compcert-b839084a1731b09542eedff0cfac8e1a7b072c69.zip
Factor out endianness determination between tests
-rw-r--r--test/c/aes.c10
-rw-r--r--test/endian.h8
-rw-r--r--test/regression/floats-basics.c14
-rw-r--r--test/regression/floats.c12
4 files changed, 14 insertions, 30 deletions
diff --git a/test/c/aes.c b/test/c/aes.c
index 0aa02595..16f02e47 100644
--- a/test/c/aes.c
+++ b/test/c/aes.c
@@ -27,6 +27,7 @@
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
+#include "../endian.h"
#define MAXKC (256/32)
#define MAXKB (256/8)
@@ -36,15 +37,6 @@ typedef unsigned char u8;
typedef unsigned short u16;
typedef unsigned int u32;
-#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
-#define ARCH_BIG_ENDIAN
-#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__) \
- || defined(__riscv)
-#undef ARCH_BIG_ENDIAN
-#else
-#error "unknown endianness"
-#endif
-
#ifdef ARCH_BIG_ENDIAN
#define GETU32(pt) (*(u32 *)(pt))
#define PUTU32(ct,st) (*(u32 *)(ct) = (st))
diff --git a/test/endian.h b/test/endian.h
new file mode 100644
index 00000000..8be2850c
--- /dev/null
+++ b/test/endian.h
@@ -0,0 +1,8 @@
+#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
+#define ARCH_BIG_ENDIAN
+#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__) \
+ || defined(__riscv) || defined(__aarch64__)
+#undef ARCH_BIG_ENDIAN
+#else
+#error "unknown endianness"
+#endif
diff --git a/test/regression/floats-basics.c b/test/regression/floats-basics.c
index a7ba3623..876a0d42 100644
--- a/test/regression/floats-basics.c
+++ b/test/regression/floats-basics.c
@@ -1,18 +1,10 @@
-#include<stdio.h>
-#include<stdlib.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include "../endian.h"
#define STR_EXPAND(tok) #tok
#define STR(tok) STR_EXPAND(tok)
-#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
-#define ARCH_BIG_ENDIAN
-#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__) \
- || defined(__riscv)
-#undef ARCH_BIG_ENDIAN
-#else
-#error "unknown endianness"
-#endif
-
union converter64 {
double dbl;
struct {
diff --git a/test/regression/floats.c b/test/regression/floats.c
index 84c4e062..58c202ae 100644
--- a/test/regression/floats.c
+++ b/test/regression/floats.c
@@ -1,17 +1,9 @@
-#include<stdio.h>
+#include <stdio.h>
+#include "../endian.h"
#define STR_EXPAND(tok) #tok
#define STR(tok) STR_EXPAND(tok)
-#if defined(__ppc__) || defined(__PPC__) || defined(__ARMEB__)
-#define ARCH_BIG_ENDIAN
-#elif defined(__i386__) || defined(__x86_64__) || defined(__ARMEL__) \
- || defined(__riscv)
-#undef ARCH_BIG_ENDIAN
-#else
-#error "unknown endianness"
-#endif
-
union converter64 {
double dbl;
struct {