[PATCH] D34249: [libc++] Don't use UTIME_OMIT to detect utimensat on Apple

Nico Weber via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 1 05:52:48 PST 2018


thakis added a comment.

The powers that be updated the SDK on the chromium clang bots, so we need some solution for this issue soon.

The approach in this patch should work, but it seems conservative. Now libc++ only uses utimesat() if it's built with a deployment target of macOS 10.13. But if we were to set a deployment target of 10.12 and then _run_ on 10.13, we could use utimesat() as well, even though this patch currently doesn't. (Apple bundles libc++ with the system, so it's not a meaningful difference for Apple-built libc++'s, but applications can build libc++ themselves and statically link to it, and for those it would make a difference.)

https://clang.llvm.org/docs/LanguageExtensions.html#objective-c-available has some words on it (except that `@available` is spelled `__builtin_available` in non-Objective-C code) -- thoughts on using runtime detection of utimes() instead? That's how things are supposed to work on the Apple platforms.


https://reviews.llvm.org/D34249





More information about the cfe-commits mailing list