Squashed 'third_party/boostorg/predef/' content from commit 560ff52

Change-Id: Ib7804ff2c768e0d597993b019146292dfb41e9dc
git-subtree-dir: third_party/boostorg/predef
git-subtree-split: 560ff5298ead78276872604f1ee6523e63a4fa90
diff --git a/include/boost/predef/detail/_cassert.h b/include/boost/predef/detail/_cassert.h
new file mode 100644
index 0000000..940e944
--- /dev/null
+++ b/include/boost/predef/detail/_cassert.h
@@ -0,0 +1,17 @@
+/*
+Copyright Rene Rivera 2011-2012
+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__CASSERT_H
+#define BOOST_PREDEF_DETAIL__CASSERT_H
+
+#if defined(__cplusplus)
+#include <cassert>
+#else
+#include <assert.h>
+#endif
+
+#endif
diff --git a/include/boost/predef/detail/_exception.h b/include/boost/predef/detail/_exception.h
new file mode 100644
index 0000000..f5a6687
--- /dev/null
+++ b/include/boost/predef/detail/_exception.h
@@ -0,0 +1,15 @@
+/*
+Copyright Rene Rivera 2011-2012
+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__EXCEPTION_H
+#define BOOST_PREDEF_DETAIL__EXCEPTION_H
+
+#if defined(__cplusplus)
+#include <exception>
+#endif
+
+#endif
diff --git a/include/boost/predef/detail/comp_detected.h b/include/boost/predef/detail/comp_detected.h
new file mode 100644
index 0000000..fda1801
--- /dev/null
+++ b/include/boost/predef/detail/comp_detected.h
@@ -0,0 +1,10 @@
+/*
+Copyright Rene Rivera 2014
+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_COMP_DETECTED
+#define BOOST_PREDEF_DETAIL_COMP_DETECTED 1
+#endif
diff --git a/include/boost/predef/detail/endian_compat.h b/include/boost/predef/detail/endian_compat.h
new file mode 100644
index 0000000..7725e68
--- /dev/null
+++ b/include/boost/predef/detail/endian_compat.h
@@ -0,0 +1,26 @@
+/*
+Copyright Rene Rivera 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 <boost/predef/other/endian.h>
+
+#if BOOST_ENDIAN_BIG_BYTE
+#   define BOOST_BIG_ENDIAN
+#   define BOOST_BYTE_ORDER 4321
+#endif
+#if BOOST_ENDIAN_LITTLE_BYTE
+#   define BOOST_LITTLE_ENDIAN
+#   define BOOST_BYTE_ORDER 1234
+#endif
+#if BOOST_ENDIAN_LITTLE_WORD
+#   define BOOST_PDP_ENDIAN
+#   define BOOST_BYTE_ORDER 2134
+#endif
+
+#endif
diff --git a/include/boost/predef/detail/os_detected.h b/include/boost/predef/detail/os_detected.h
new file mode 100644
index 0000000..08e10f9
--- /dev/null
+++ b/include/boost/predef/detail/os_detected.h
@@ -0,0 +1,10 @@
+/*
+Copyright Rene Rivera 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_OS_DETECTED
+#define BOOST_PREDEF_DETAIL_OS_DETECTED 1
+#endif
diff --git a/include/boost/predef/detail/platform_detected.h b/include/boost/predef/detail/platform_detected.h
new file mode 100644
index 0000000..4faf693
--- /dev/null
+++ b/include/boost/predef/detail/platform_detected.h
@@ -0,0 +1,10 @@
+/*
+Copyright Rene Rivera 2014
+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_PLAT_DETECTED
+#define BOOST_PREDEF_DETAIL_PLAT_DETECTED 1
+#endif
diff --git a/include/boost/predef/detail/test.h b/include/boost/predef/detail/test.h
new file mode 100644
index 0000000..546a9e4
--- /dev/null
+++ b/include/boost/predef/detail/test.h
@@ -0,0 +1,17 @@
+/*
+Copyright Rene Rivera 2011-2012
+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_TEST_H
+#define BOOST_PREDEF_DETAIL_TEST_H
+
+#if !defined(BOOST_PREDEF_INTERNAL_GENERATE_TESTS)
+
+#define BOOST_PREDEF_DECLARE_TEST(x,s)
+
+#endif
+
+#endif
diff --git a/include/boost/predef/detail/test_def.h b/include/boost/predef/detail/test_def.h
new file mode 100644
index 0000000..c2f195b
--- /dev/null
+++ b/include/boost/predef/detail/test_def.h
@@ -0,0 +1,71 @@
+/*
+Copyright Rene Rivera 2011-2015
+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)
+*/
+#include <boost/predef.h>
+
+#define BOOST_PREDEF_INTERNAL_GENERATE_TESTS
+
+void * add_predef_entry(const char * name, const char * description, unsigned value);
+#undef BOOST_PREDEF_DECLARE_TEST
+#define BOOST_PREDEF_DECLARE_TEST(x,s) void predef_entry_##x() { add_predef_entry(#x, s, x); }
+#include <boost/predef.h>
+
+#undef BOOST_PREDEF_DECLARE_TEST
+#define BOOST_PREDEF_DECLARE_TEST(x,s) predef_entry_##x();
+void create_predef_entries()
+{
+#include <boost/predef.h>
+}
+
+#ifdef __cplusplus
+#include <cstring>
+#include <cstdio>
+#include <cstdlib>
+using namespace std;
+#else
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#endif
+
+typedef struct predef_info
+{
+    const char * name;
+    const char * description;
+    unsigned value;
+} predef_info;
+
+#ifdef __cplusplus
+using namespace std;
+#endif
+
+unsigned generated_predef_info_count = 0;
+predef_info* generated_predef_info = 0;
+void * add_predef_entry(const char * name, const char * description, unsigned value)
+{
+    if (0 == generated_predef_info_count)
+    {
+        generated_predef_info_count = 1;
+        generated_predef_info = (predef_info*)malloc(sizeof(predef_info));
+    }
+    else
+    {
+        generated_predef_info_count += 1;
+        generated_predef_info = (predef_info*)realloc(generated_predef_info,
+            generated_predef_info_count*sizeof(predef_info));
+    }
+    generated_predef_info[generated_predef_info_count-1].name = name;
+    generated_predef_info[generated_predef_info_count-1].description = description;
+    generated_predef_info[generated_predef_info_count-1].value = value;
+    return 0;
+}
+
+int predef_info_compare(const void * a, const void * b)
+{
+    const predef_info * i = (const predef_info *)a;
+    const predef_info * j = (const predef_info *)b;
+    return strcmp(i->name,j->name);
+}