Author: arphaman Date: Wed Jul 25 14:50:44 2018 New Revision: 337968 URL: http://llvm.org/viewvc/llvm-project?rev=337968&view=rev Log: [libc++] Follow-up to r337960: specify lambda's return type to avoid -Wc++11-narrowing warning on Darwin
The internal CI produced the following diagnostic: error: non-constant-expression cannot be narrowed from type 'long long' to '__darwin_suseconds_t' (aka 'int') in initializer list [-Wc++11-narrowing] struct ::timeval ConvertedTS[2] = {{TS[0].tv_sec, Convert(TS[0].tv_nsec)}, ^~~~~~~~~~~~~~~~~~~~~~ Modified: libcxx/trunk/src/experimental/filesystem/filesystem_common.h Modified: libcxx/trunk/src/experimental/filesystem/filesystem_common.h URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/src/experimental/filesystem/filesystem_common.h?rev=337968&r1=337967&r2=337968&view=diff ============================================================================== --- libcxx/trunk/src/experimental/filesystem/filesystem_common.h (original) +++ libcxx/trunk/src/experimental/filesystem/filesystem_common.h Wed Jul 25 14:50:44 2018 @@ -393,7 +393,7 @@ bool set_file_times(const path& p, std:: error_code& ec) { #if !defined(_LIBCPP_USE_UTIMENSAT) using namespace chrono; - auto Convert = [](long nsec) { + auto Convert = [](long nsec) -> decltype(std::declval<::timeval>().tv_usec) { return duration_cast<microseconds>(nanoseconds(nsec)).count(); }; struct ::timeval ConvertedTS[2] = {{TS[0].tv_sec, Convert(TS[0].tv_nsec)}, _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits