On Sun, 6 Jan 2019 at 22:45, Jonathan Wakely <jwak...@redhat.com> wrote: > > On 05/01/19 20:03 +0000, Jonathan Wakely wrote: > >In C++17 the clock used for filesystem::file_time_type is unspecified, > >allowing it to be chrono::system_clock. The C++2a draft requires it to > >be a distinct type, with additional member functions to convert to/from > >other clocks (either the system clock or UTC). In order to avoid an ABI > >change later, this patch defines a new distinct type now, which will be > >used for std::chrono::file_clock later. > > > > * include/bits/fs_fwd.h (__file_clock): Define new clock. > > (file_time_type): Redefine in terms of __file_clock. > > * src/filesystem/ops-common.h (file_time): Add FIXME comment about > > overflow. > > * src/filesystem/std-ops.cc (is_set(perm_options, perm_options)): Give > > internal linkage. > > (internal_file_lock): New helper type for accessing __file_clock. > > (do_copy_file): Use internal_file_lock to convert system time to > > file_time_type. > > (last_write_time(const path&, error_code&)): Likewise. > > (last_write_time(const path&, file_time_type, error_code&)): Likewise. > > > >Tested powerpc64-linux, committed to trunk. > > There's a new failure on 32-bit x86: > > /home/jwakely/src/gcc/gcc/libstdc++-v3/testsuite/27_io/filesystem/operations/last_write_time.cc:148: > void test02(): Assertion 'approx_equal(last_write_time(f.path), time)' > failed. > FAIL: 27_io/filesystem/operations/last_write_time.cc execution test >
I've seen the same error on arm. > I'll deal with that ASAP. Thanks!