summaryrefslogtreecommitdiff
path: root/boost/predef/detail/test_def.h
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:30:07 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2016-10-06 10:32:57 +0900
commit71d216b90256936a9638f325af9bc69d720e75de (patch)
tree9c5f682d341c7c88ad0c8e3d4b262e00b6fb691a /boost/predef/detail/test_def.h
parent733b5d5ae2c5d625211e2985ac25728ac3f54883 (diff)
downloadboost-71d216b90256936a9638f325af9bc69d720e75de.tar.gz
boost-71d216b90256936a9638f325af9bc69d720e75de.tar.bz2
boost-71d216b90256936a9638f325af9bc69d720e75de.zip
Imported Upstream version 1.59.0
Change-Id: I2dde00f4eca71df3eea9d251dcaecde18a6c90a5 Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Diffstat (limited to 'boost/predef/detail/test_def.h')
-rw-r--r--boost/predef/detail/test_def.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/boost/predef/detail/test_def.h b/boost/predef/detail/test_def.h
new file mode 100644
index 0000000000..c2f195bfd6
--- /dev/null
+++ b/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);
+}