dexonsmith added a comment.
This is the right idea, although it only covers macOS.
Any ideas for how to test this?
================
Comment at: src/experimental/filesystem/operations.cpp:23-28
+// We can use the presence of UTIME_OMIT to detect platforms that do not
+// provide utimensat, with some exceptions on OS X.
+#if !defined(UTIME_OMIT) || \
+ (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &&
__MAC_OS_X_VERSION_MIN_REQUIRED < 1030)
+#define _LIBCPP_HAS_NO_UTIMENSAT
+#endif
----------------
Sadly this isn't quite sufficient. As per Jack's suggested SDK patch in the
PR, we need to enumerate the platforms :/. I think this should be the right
logic for the four Darwin platforms:
(defined(__IPHONE_OS_VERSION_MIN_REQUIRED) &&
__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_11_0) || \
(defined(__WATCH_OS_VERSION_MIN_REQUIRED) &&
__WATCH_OS_VERSION_MIN_REQUIRED < __WATCHOS_4_0) || \
(defined(__TV_OS_VERSION_MIN_REQUIRED) && __TV_OS_VERSION_MIN_REQUIRED <
__TVOS_11_0) || \
(defined(__MAC_OS_X_VERSION_MIN_REQUIRED) &&
__MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_13)
https://reviews.llvm.org/D34249
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits