[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.
Eric Fiselier via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 25 13:01:03 PDT 2018
EricWF added a comment.
In https://reviews.llvm.org/D49774#1175679, @BillyONeal wrote:
> In https://reviews.llvm.org/D49774#1175650, @ldionne wrote:
>
> > In https://reviews.llvm.org/D49774#1175543, @BillyONeal wrote:
> >
> > > In https://reviews.llvm.org/D49774#1175131, @mclow.lists wrote:
> > >
> > > > Another problem (that Eric and I discussed last night) is that filesystem is part of C++17, and `file_clock` is C++20. So we need a solution for C++17 as well.
> > >
> > >
> > > It seems like we need to fix C++20 to allow that to be a typedef to a type in std::filesystem or that will be ABI breaking for MSVC++. IMO we should fix the spec to allow that rather than make libc++ jump through insane hoops.
> >
> >
> > We could also just provide `file_clock` "early" in C++17. Strictly speaking that may make our implementation non-conforming, but IDK how big of a deal this would be?
>
>
> Sure, libc++ could do that. But because msvc++ and libstdc++ have already shipped this thing I think the spec will have to change.
>
> No real user cares about the associated namespaces of a clock anyway.
Agreed. I don't think this spec will land as-is.
================
Comment at: test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp:589
+ std::cerr << new_ts.tv_sec << "\n";
+ std::cerr << new_ts.tv_nsec << "\n";
+ TEST_CHECK(ts[1].tv_sec == new_ts.tv_sec);
----------------
TODO: remove this.
Repository:
rCXX libc++
https://reviews.llvm.org/D49774
More information about the cfe-commits
mailing list