Index: include/__config |
diff --git a/include/__config b/include/__config |
index 6f57df5d233f7c3ae673727eb92ccb14443278ef..15af1598d23a446dea297f6eee37ef6861b6fbf1 100644 |
--- a/include/__config |
+++ b/include/__config |
@@ -118,6 +118,10 @@ |
# define _LIBCPP_USING_NACL_RANDOM |
#endif // defined(__native_client__) |
+#ifdef __musl__ |
+#define _LIBCPP_HAS_MUSL_LIBC |
+#endif // defined(__musl__) |
+ |
#if !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN) |
# include <endian.h> |
# if __BYTE_ORDER == __LITTLE_ENDIAN |
@@ -332,14 +336,19 @@ typedef __char32_t char32_t; |
#elif defined(__ANDROID__) |
#define _LIBCPP_HAS_QUICK_EXIT |
#elif defined(__linux__) |
-#include <features.h> |
+#if !defined(_LIBCPP_HAS_MUSL_LIBC) |
+# include <features.h> |
#if __GLIBC_PREREQ(2, 15) |
#define _LIBCPP_HAS_QUICK_EXIT |
#endif |
#if __GLIBC_PREREQ(2, 17) |
#define _LIBCPP_HAS_C11_FEATURES |
#endif |
+#else // defined(_LIBCPP_HAS_MUSL_LIBC) |
+#define _LIBCPP_HAS_QUICK_EXIT |
+#define _LIBCPP_HAS_C11_FEATURES |
#endif |
+#endif // __linux__ |
#endif |
#if (__has_feature(cxx_noexcept)) |