aboutsummaryrefslogtreecommitdiff
path: root/std-detect.hxx
diff options
context:
space:
mode:
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