aboutsummaryrefslogtreecommitdiff
path: root/std-detect.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-10-01 03:26:36 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-10-01 03:26:36 +0200
commit55c24924dd108bc4fc020fbd875839e9c692ffc1 (patch)
tree91da6dc823457ea3ca010399d7cf5c077515bbc1 /std-detect.hxx
parent45041f708eb9660f14b9735883b600b6ba16b585 (diff)
Additional includes in std.core, new std.regex and std.threading
Diffstat (limited to 'std-detect.hxx')
-rw-r--r--std-detect.hxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/std-detect.hxx b/std-detect.hxx
new file mode 100644
index 0000000..b2998b5
--- /dev/null
+++ b/std-detect.hxx
@@ -0,0 +1,15 @@
+// To detect the standard library we need to include a certain header first.
+//
+#if defined(__clang__)
+# if __has_include(<__config>) // libc++ _LIBCPP_VERSION
+# include <__config>
+# elif __has_include(<bits/c++config.h>) // libstdc++ __GLIBCXX__
+# include <bits/c++config.h>
+# endif
+#elif defined(__GNUC__)
+# include <bits/c++config.h> // libstdc++ __GLIBCXX__
+#endif
+
+#if !defined(_MSC_VER) && !defined(__GLIBCXX__) && !defined(_LIBCPP_VERSION)
+# error unknown standard library implementation
+#endif