[libcxx] r273078 - Fix 3 bugs in filesystem tests and implementation.

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Sat Jun 18 10:36:34 PDT 2016


Hi Renato,

I'm aware of the failure, and I'll commit *something* to get the build
unbroken today.

The issue here is that "file_time_type" AKA system_clock::time_point has a
much larger range than std::time_t on 32 bit builds,
so "file_time_type::max()" overflows in the conversion. I'm trying to
figure out how best to handle this. A couple of options are:

1) Teach the tests about this overflow and properly convert
unrepresentative times to 'numeric_limits<time_t>::max()' in the
implementation.

2) Make file_type_type a std::chrono::time_point using std::time_ t as the
underlying representation.
This way 'file_time_type::max()' will always be representative as a
'time_t'. However this limits
the resolution of 'file_time_type' to seconds instead of the current
microseconds.

Ill figure out which is preferable and implement that.

/Eric


On Sat, Jun 18, 2016 at 5:33 AM, Renato Golin <renato.golin at linaro.org>
wrote:

> On 18 June 2016 at 05:10, Eric Fiselier via cfe-commits
> <cfe-commits at lists.llvm.org> wrote:
> > Author: ericwf
> > Date: Fri Jun 17 23:10:23 2016
> > New Revision: 273078
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=273078&view=rev
> > Log:
> > Fix 3 bugs in filesystem tests and implementation.
>
> Hi Eric,
>
> Thanks for he fixes, but just FYI, there's still one remaining...
>
> http://lab.llvm.org:8011/builders/libcxx-libcxxabi-arm-linux/builds/1077
>
> cheers,
> --renato
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160618/d1b85303/attachment.html>


More information about the cfe-commits mailing list