summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2018-07-25 23:59:54 +0000
committerAlex Lorenz <arphaman@gmail.com>2018-07-25 23:59:54 +0000
commit104b331e4c280684adca12e42714c47abfba9b01 (patch)
treef07efecc17ee17b547cff029ff27d4e8bc62f51f
parent162ce3fef4d3ae05416f9b6a9ff4dbdf89b9a822 (diff)
[libc++] Follow-up to r337968: use an explicit cast as suggested by Eric
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@337984 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--src/experimental/filesystem/filesystem_common.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/experimental/filesystem/filesystem_common.h b/src/experimental/filesystem/filesystem_common.h
index a74cae457..5d2a5ed4e 100644
--- a/src/experimental/filesystem/filesystem_common.h
+++ b/src/experimental/filesystem/filesystem_common.h
@@ -393,8 +393,10 @@ bool set_file_times(const path& p, std::array<TimeSpec, 2> 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<microseconds>(nanoseconds(nsec)).count();
+ auto Convert = [](long nsec) {
+ using int_type = decltype(std::declval<::timeval>().tv_usec);
+ auto dur = duration_cast<microseconds>(nanoseconds(nsec)).count();
+ return static_cast<int_type>(dur);
};
struct ::timeval ConvertedTS[2] = {{TS[0].tv_sec, Convert(TS[0].tv_nsec)},
{TS[1].tv_sec, Convert(TS[1].tv_nsec)}};