[PATCH] D49774: [libc++] Use __int128_t to represent file_time_type.

Marshall Clow via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 25 07:27:04 PDT 2018


mclow.lists added a comment.

In https://reviews.llvm.org/D49774#1175062, @ldionne wrote:

> In https://reviews.llvm.org/D49774#1174588, @EricWF wrote:
>
> > In https://reviews.llvm.org/D49774#1174565, @mclow.lists wrote:
> >
> > > I haven't reviewed this closely, but you might want to look at http://wg21.link/P0355, where we added a `file_clock` and `file_time` types.
> >
> >
> > Thanks for the information. It doesn't look to have too much bearing on this from a design standpoint. Except to note that it seems to solve
> >  the streaming problem by adding explicit streaming overload for time points.
>
>
> It doesn't change anything from a design standpoint, but I don't think we can ship something deemed stable without taking P0355 into account. That's because it adds `file_clock` and changes `file_time_type` to use it, which is an ABI break. So if we take `filesystem` out of `experimental` and ship it before we've actually implemented the parts of P0355 that change the ABI, we'll have to take an ABI break in the future. That would suck because this ABI break would be necessary to implement C++20 properly in a fairly major way.


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.


Repository:
  rCXX libc++

https://reviews.llvm.org/D49774





More information about the cfe-commits mailing list