diff --git a/doc/html/index.html b/doc/html/index.html
index 62f6554..399902e 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -57,7 +57,7 @@
-Last revised: March 19, 2013 at 03:53:01 GMT |
+Last revised: March 20, 2013 at 04:42:44 GMT |
|
diff --git a/include/boost/predef/detail/endian_compat.h b/include/boost/predef/detail/endian_compat.h
new file mode 100644
index 0000000..b5df55e
--- /dev/null
+++ b/include/boost/predef/detail/endian_compat.h
@@ -0,0 +1,22 @@
+/*
+Copyright Redshift Software, Inc. 2013
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt)
+*/
+
+#ifndef BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
+#define BOOST_PREDEF_DETAIL_ENDIAN_COMPAT_H
+
+#include
+
+#if BOOST_PREDEF_ENDIAN_BIG_BYTE
+# define BOOST_BIG_ENDIAN
+# define BOOST_BYTE_ORDER 4321
+#endif
+#if BOOST_PREDEF_ENDIAN_LITTLE_BYTE
+# define BOOST_LITTLE_ENDIAN
+# define BOOST_BYTE_ORDER 1234
+#endif
+
+#endif
diff --git a/include/boost/predef/endian.h b/include/boost/predef/endian.h
index f01f674..eb3fa5f 100644
--- a/include/boost/predef/endian.h
+++ b/include/boost/predef/endian.h
@@ -11,6 +11,7 @@ http://www.boost.org/LICENSE_1_0.txt)
#include
#include
#include
+#include
/*`
[heading `BOOST_ENDIAN_*`]
@@ -52,6 +53,14 @@ information and acquired knowledge:
!BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
# if BOOST_LIB_C_GNU
# include
+# else
+# if BOOST_OS_BSD
+# if BOOST_OS_BSD_OPEN
+# include
+# else
+# include
+# endif
+# endif
# endif
# if defined(__BYTE_ORDER)
# if (__BYTE_ORDER == __BIG_ENDIAN)
@@ -67,6 +76,20 @@ information and acquired knowledge:
# define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_AVAILABLE
# endif
# endif
+# if !defined(__BYTE_ORDER) && defined(_BYTE_ORDER)
+# if (_BYTE_ORDER == _BIG_ENDIAN)
+# undef BOOST_ENDIAN_BIG_BYTE
+# define BOOST_ENDIAN_BIG_BYTE BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+# if (_BYTE_ORDER == _LITTLE_ENDIAN)
+# undef BOOST_ENDIAN_LITTLE_BYTE
+# define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+# if (_BYTE_ORDER == _PDP_ENDIAN)
+# undef BOOST_ENDIAN_LITTLE_WORD
+# define BOOST_ENDIAN_LITTLE_WORD BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+# endif
#endif
/* Built-in byte-swpped big-endian macros.
@@ -74,7 +97,7 @@ information and acquired knowledge:
#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
!BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
# if !BOOST_ENDIAN_BIG_BYTE
-# if defined(__BIG_ENDIAN__) || \
+# if (defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)) || \
defined(__ARMEB__) || \
defined(__THUMBEB__) || \
defined(__AARCH64EB__) || \
@@ -92,7 +115,7 @@ information and acquired knowledge:
#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
!BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
# if !BOOST_ENDIAN_LITTLE_BYTE
-# if defined(__LITTLE_ENDIAN__) || \
+# if (defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)) || \
defined(__ARMEL__) || \
defined(__THUMBEL__) || \
defined(__AARCH64EL__) || \
@@ -127,6 +150,20 @@ information and acquired knowledge:
# endif
#endif
+/* Windows on ARM, if not otherwise detected/specified, is always
+ * byte-swaped little-endian.
+ */
+#if !BOOST_ENDIAN_BIG_BYTE && !BOOST_ENDIAN_BIG_WORD && \
+ !BOOST_ENDIAN_LITTLE_BYTE && !BOOST_ENDIAN_LITTLE_WORD
+# if BOOST_ARCH_ARM
+# include
+# if BOOST_OS_WINDOWS
+# undef BOOST_ENDIAN_LITTLE_BYTE
+# define BOOST_ENDIAN_LITTLE_BYTE BOOST_VERSION_NUMBER_AVAILABLE
+# endif
+# endif
+#endif
+
#if BOOST_ENDIAN_BIG_BYTE
# define BOOST_ENDIAN_BIG_BYTE_AVAILABLE
#endif