summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-ar/llvm-ar.cpp
diff options
context:
space:
mode:
authorPavel Labath <labath@google.com>2016-10-24 10:59:17 +0000
committerPavel Labath <labath@google.com>2016-10-24 10:59:17 +0000
commit757ca886cd224726d43333d44b5b2ce0989b7f1c (patch)
treed7416c65b01b7532a708d98fa3ac7a3b2dcab1ce /llvm/tools/llvm-ar/llvm-ar.cpp
parent407fd070b776b2c600d53ebb83cb1f4291496606 (diff)
downloadbcm5719-llvm-757ca886cd224726d43333d44b5b2ce0989b7f1c.tar.gz
bcm5719-llvm-757ca886cd224726d43333d44b5b2ce0989b7f1c.zip
Remove TimeValue usage from llvm/Support
Summary: This is a follow-up to D25416. It removes all usages of TimeValue from llvm/Support library (except for the actual TimeValue declaration), and replaces them with appropriate usages of std::chrono. To facilitate this, I have added small utility functions for converting time points and durations into appropriate OS-specific types (FILETIME, struct timespec, ...). Reviewers: zturner, mehdi_amini Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D25730 llvm-svn: 284966
Diffstat (limited to 'llvm/tools/llvm-ar/llvm-ar.cpp')
-rw-r--r--llvm/tools/llvm-ar/llvm-ar.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index b7cb95972d5..18a5f2497f4 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -21,6 +21,7 @@
#include "llvm/Object/ArchiveWriter.h"
#include "llvm/Object/MachO.h"
#include "llvm/Object/ObjectFile.h"
+#include "llvm/Support/Chrono.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/FileSystem.h"
@@ -353,9 +354,9 @@ static void doDisplayTable(StringRef Name, const object::Archive::Child &C) {
Expected<uint64_t> Size = C.getSize();
failIfError(Size.takeError());
outs() << ' ' << format("%6llu", Size.get());
- Expected<sys::TimeValue> ModTimeOrErr = C.getLastModified();
+ auto ModTimeOrErr = C.getLastModified();
failIfError(ModTimeOrErr.takeError());
- outs() << ' ' << ModTimeOrErr.get().str();
+ outs() << ' ' << ModTimeOrErr.get();
outs() << ' ';
}
outs() << Name << "\n";
@@ -387,7 +388,7 @@ static void doExtract(StringRef Name, const object::Archive::Child &C) {
// If we're supposed to retain the original modification times, etc. do so
// now.
if (OriginalDates) {
- Expected<sys::TimeValue> ModTimeOrErr = C.getLastModified();
+ auto ModTimeOrErr = C.getLastModified();
failIfError(ModTimeOrErr.takeError());
failIfError(
sys::fs::setLastModificationAndAccessTime(FD, ModTimeOrErr.get()));
@@ -525,9 +526,9 @@ static InsertAction computeInsertAction(ArchiveOperation Operation,
// operation.
sys::fs::file_status Status;
failIfError(sys::fs::status(*MI, Status), *MI);
- Expected<sys::TimeValue> ModTimeOrErr = Member.getLastModified();
+ auto ModTimeOrErr = Member.getLastModified();
failIfError(ModTimeOrErr.takeError());
- if (Status.getLastModificationTime() < ModTimeOrErr.get()) {
+ if (sys::TimeValue(Status.getLastModificationTime()) < ModTimeOrErr.get()) {
if (PosName.empty())
return IA_AddOldMember;
return IA_MoveOldMember;
OpenPOWER on IntegriCloud