From d9ed9c462b62fdf374e809a14ce1ada2b7653c06 Mon Sep 17 00:00:00 2001 From: Eric Fiselier Date: Sat, 18 Jun 2016 17:37:04 +0000 Subject: Use utimes instead of utimensat when !defined(UTIME_OMIT). Fixes build for older GLIBC versions llvm-svn: 273088 --- libcxx/src/experimental/filesystem/operations.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'libcxx/src') diff --git a/libcxx/src/experimental/filesystem/operations.cpp b/libcxx/src/experimental/filesystem/operations.cpp index f92b0f7bac1..ebaadf4044e 100644 --- a/libcxx/src/experimental/filesystem/operations.cpp +++ b/libcxx/src/experimental/filesystem/operations.cpp @@ -507,8 +507,10 @@ void __last_write_time(const path& p, file_time_type new_time, using namespace std::chrono; std::error_code m_ec; -#if defined(__APPLE__) + // We can use the presence of UTIME_OMIT to detect GLIBC versions that + // do not provide utimensat. // FIXME: Use utimensat when it becomes available on OS X. +#if defined(__APPLE__) || !defined(UTIME_OMIT) // This implementation has a race condition between determining the // last access time and attempting to set it to the same value using // ::utimes -- cgit v1.2.3