From e556e8eb9f74ecb61d782811bb5d493499b21505 Mon Sep 17 00:00:00 2001 From: Edward O'Callaghan <eocallaghan@auroraux.org> Date: Wed, 5 Aug 2009 19:58:45 +0000 Subject: [PATCH] Forgot to add new endianness.h header file. llvm-svn: 78235 --- compiler-rt/test/Unit/endianness.h | 65 ++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 compiler-rt/test/Unit/endianness.h diff --git a/compiler-rt/test/Unit/endianness.h b/compiler-rt/test/Unit/endianness.h new file mode 100644 index 000000000000..9e192c102104 --- /dev/null +++ b/compiler-rt/test/Unit/endianness.h @@ -0,0 +1,65 @@ +/* ===-- endianness.h - configuration header for libgcc replacement --------=== + * + * The LLVM Compiler Infrastructure + * + * This file is distributed under the University of Illinois Open Source + * License. See LICENSE.TXT for details. + * + * ===----------------------------------------------------------------------=== + * + * This file is a configuration header for libgcc replacement. + * This file is not part of the interface of this library. + * + * ===----------------------------------------------------------------------=== + */ + +#ifndef ENDIANNESS_H +#define ENDIANNESS_H + +/* TODO: Improve this to minimal pre-processor hackish'ness. */ +/* config.h build via CMake. */ +/* #include <config.h> */ +/* Solaris header for endian and byte swap */ +/* #if defined HAVE_SYS_BYTEORDER_H */ + +#if defined (__SVR4) && defined (__sun) +#include <sys/byteorder.h> +#if _BYTE_ORDER == _BIG_ENDIAN +#define __BIG_ENDIAN__ 1 +#define __LITTLE_ENDIAN__ 0 +#else /* _BYTE_ORDER == _LITTLE_ENDIAN */ +#define __BIG_ENDIAN__ 0 +#define __LITTLE_ENDIAN__ 1 +#endif /* _BYTE_ORDER */ +#endif /* Solaris and AuroraUX. */ + +#if defined (__FreeBSD__) +#include <sys/endian.h> +#if _BYTE_ORDER == _BIG_ENDIAN +#define __BIG_ENDIAN__ 1 +#define __LITTLE_ENDIAN__ 0 +#else /* _BYTE_ORDER == _LITTLE_ENDIAN */ +#define __BIG_ENDIAN__ 0 +#define __LITTLE_ENDIAN__ 1 +#endif /* _BYTE_ORDER */ +#endif /* FreeBSD */ + +#ifdef __LITTLE_ENDIAN__ +#if __LITTLE_ENDIAN__ +#define _YUGA_LITTLE_ENDIAN 1 +#define _YUGA_BIG_ENDIAN 0 +#endif +#endif + +#ifdef __BIG_ENDIAN__ +#if __BIG_ENDIAN__ +#define _YUGA_LITTLE_ENDIAN 0 +#define _YUGA_BIG_ENDIAN 1 +#endif +#endif + +#if !defined(_YUGA_LITTLE_ENDIAN) || !defined(_YUGA_BIG_ENDIAN) +#error unable to determine endian +#endif + +#endif /* ENDIANNESS_H */