From 70cf5c4c62afc3ac9de5fbcd5ac1a88aed14a9d0 Mon Sep 17 00:00:00 2001 From: Alex Lorenz Date: Wed, 25 Jul 2018 23:59:54 +0000 Subject: [PATCH] [libc++] Follow-up to r337968: use an explicit cast as suggested by Eric llvm-svn: 337984 --- libcxx/src/experimental/filesystem/filesystem_common.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libcxx/src/experimental/filesystem/filesystem_common.h b/libcxx/src/experimental/filesystem/filesystem_common.h index a74cae4..5d2a5ed 100644 --- a/libcxx/src/experimental/filesystem/filesystem_common.h +++ b/libcxx/src/experimental/filesystem/filesystem_common.h @@ -393,8 +393,10 @@ bool set_file_times(const path& p, std::array const& TS, error_code& ec) { #if !defined(_LIBCPP_USE_UTIMENSAT) using namespace chrono; - auto Convert = [](long nsec) -> decltype(std::declval<::timeval>().tv_usec) { - return duration_cast(nanoseconds(nsec)).count(); + auto Convert = [](long nsec) { + using int_type = decltype(std::declval<::timeval>().tv_usec); + auto dur = duration_cast(nanoseconds(nsec)).count(); + return static_cast(dur); }; struct ::timeval ConvertedTS[2] = {{TS[0].tv_sec, Convert(TS[0].tv_nsec)}, {TS[1].tv_sec, Convert(TS[1].tv_nsec)}}; -- 2.7.4