This is the mail archive of the mailing list for the libstdc++ project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Define new filesystem::__file_clock type

On Sun, 6 Jan 2019 at 22:45, Jonathan Wakely <> 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/ (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/ void test02(): Assertion 'approx_equal(last_write_time(f.path), time)' failed.
> FAIL: 27_io/filesystem/operations/ execution test

I've seen the same error on arm.

> I'll deal with that ASAP.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]