[llvm-commits] [compiler-rt] r78235 - /compiler-rt/trunk/test/Unit/endianness.h

Edward O'Callaghan eocallaghan at auroraux.org
Wed Aug 5 12:58:46 PDT 2009


Author: evocallaghan
Date: Wed Aug  5 14:58:45 2009
New Revision: 78235

URL: http://llvm.org/viewvc/llvm-project?rev=78235&view=rev
Log:
Forgot to add new endianness.h header file.

Added:
    compiler-rt/trunk/test/Unit/endianness.h

Added: compiler-rt/trunk/test/Unit/endianness.h
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/Unit/endianness.h?rev=78235&view=auto

==============================================================================
--- compiler-rt/trunk/test/Unit/endianness.h (added)
+++ compiler-rt/trunk/test/Unit/endianness.h Wed Aug  5 14:58:45 2009
@@ -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 */





More information about the llvm-commits mailing list