diff options
author | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2019-06-15 14:00:49 +0200 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@college-de-france.fr> | 2019-08-07 10:39:56 +0200 |
commit | b839084a1731b09542eedff0cfac8e1a7b072c69 (patch) | |
tree | 1343c093dc501e4c1b291d99b256053dcafcc2aa | |
parent | e61e2dffaac5f5ffbffdbd87c3d3466bd9a2e83b (diff) | |
download | compcert-b839084a1731b09542eedff0cfac8e1a7b072c69.tar.gz compcert-b839084a1731b09542eedff0cfac8e1a7b072c69.zip |
Factor out endianness determination between tests
-rw-r--r-- | test/c/aes.c | 10 | ||||
-rw-r--r-- | test/endian.h | 8 | ||||
-rw-r--r-- | test/regression/floats-basics.c | 14 | ||||
-rw-r--r-- | test/regression/floats.c | 12 |
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 { |