[libcxx-commits] [libcxx] 477a687 - [libc++] Use __has_include instead of complex logic in thread.cpp

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Mon Oct 5 13:41:40 PDT 2020


Author: Louis Dionne
Date: 2020-10-05T16:41:25-04:00
New Revision: 477a68760b24f07a45253fb41e89368328b3a4a8

URL: https://github.com/llvm/llvm-project/commit/477a68760b24f07a45253fb41e89368328b3a4a8
DIFF: https://github.com/llvm/llvm-project/commit/477a68760b24f07a45253fb41e89368328b3a4a8.diff

LOG: [libc++] Use __has_include instead of complex logic in thread.cpp

We might end up including more headers than strictly necessary this way,
but it's much simpler and it makes it easier to port thread.cpp to systems
not handled by the existing conditionals.

Added: 
    

Modified: 
    libcxx/src/thread.cpp

Removed: 
    


################################################################################
diff  --git a/libcxx/src/thread.cpp b/libcxx/src/thread.cpp
index 5f44e9e40fc7..e1dc972cba7f 100644
--- a/libcxx/src/thread.cpp
+++ b/libcxx/src/thread.cpp
@@ -14,17 +14,21 @@
 #include "vector"
 #include "future"
 #include "limits"
-#include <sys/types.h>
 
-#if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+#if __has_include(<sys/types.h>)
+# include <sys/types.h>
+#endif
+
+#if __has_include(<sys/param.h>)
 # include <sys/param.h>
-# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__)
-#   include <sys/sysctl.h>
-# endif
-#endif // defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
+#endif
+
+#if __has_include(<sys/sysctl.h>)
+# include <sys/sysctl.h>
+#endif
 
 #if __has_include(<unistd.h>)
-#include <unistd.h>
+# include <unistd.h>
 #endif
 
 #if defined(__NetBSD__)


        


More information about the libcxx-commits mailing list