diff options
author | Eric Fiselier <eric@efcs.ca> | 2018-07-25 20:51:49 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2018-07-25 20:51:49 +0000 |
commit | c55ac1055a419eeca16ec885ec2d18c3d4124726 (patch) | |
tree | 5d15b9f274079d9faabb11aa7862040109f67ce4 /llvm/lib/CodeGen | |
parent | 1d4a78ef042280319f95172a2d1e95558b0ce2ab (diff) | |
download | bcm5719-llvm-c55ac1055a419eeca16ec885ec2d18c3d4124726.tar.gz bcm5719-llvm-c55ac1055a419eeca16ec885ec2d18c3d4124726.zip |
[libc++] Use __int128_t to represent file_time_type.
Summary:
The ``file_time_type`` time point is used to represent the write times for files.
Its job is to act as part of a C++ wrapper for less ideal system interfaces. The
underlying filesystem uses the ``timespec`` struct for the same purpose.
However, the initial implementation of ``file_time_type`` could not represent
either the range or resolution of ``timespec``, making it unsuitable. Fixing
this requires an implementation which uses more than 64 bits to store the
time point.
I primarily considered two solutions: Using ``__int128_t`` and using a
arithmetic emulation of ``timespec``. Each has its pros and cons, and both
come with more than one complication.
However, after a lot of consideration, I decided on using `__int128_t`. This patch implements that change.
Please see the [FileTimeType Design Document](http://libcxx.llvm.org/docs/DesignDocs/FileTimeType.html) for more information.
Reviewers: mclow.lists, ldionne, joerg, arthur.j.odwyer, EricWF
Reviewed By: EricWF
Subscribers: christof, K-ballo, cfe-commits, BillyONeal
Differential Revision: https://reviews.llvm.org/D49774
llvm-svn: 337960
Diffstat (limited to 'llvm/lib/CodeGen')
0 files changed, 0 insertions, 0 deletions