summaryrefslogtreecommitdiffstats
path: root/llvm/tools/dsymutil/BinaryHolder.cpp
diff options
context:
space:
mode:
authorVedant Kumar <vsk@apple.com>2016-08-03 19:02:50 +0000
committerVedant Kumar <vsk@apple.com>2016-08-03 19:02:50 +0000
commit4031d9f80e67c4e36c233e1c390dabed994e9316 (patch)
treee5242d81491fb0453dfb82b7a611a176368ae75a /llvm/tools/dsymutil/BinaryHolder.cpp
parent43aeb001c959098167dec6272160ee73d187067c (diff)
downloadbcm5719-llvm-4031d9f80e67c4e36c233e1c390dabed994e9316.tar.gz
bcm5719-llvm-4031d9f80e67c4e36c233e1c390dabed994e9316.zip
Reapply "More fixes to get good error messages for bad archives."
This reverts commit the revert commit r277627. The build errors mentioned in r277627 were likely caused by an unclean build directory. Sorry for the noise. llvm-svn: 277630
Diffstat (limited to 'llvm/tools/dsymutil/BinaryHolder.cpp')
-rw-r--r--llvm/tools/dsymutil/BinaryHolder.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/tools/dsymutil/BinaryHolder.cpp b/llvm/tools/dsymutil/BinaryHolder.cpp
index abb4ea083c4..579ffc2bb74 100644
--- a/llvm/tools/dsymutil/BinaryHolder.cpp
+++ b/llvm/tools/dsymutil/BinaryHolder.cpp
@@ -106,8 +106,11 @@ BinaryHolder::GetArchiveMemberBuffers(StringRef Filename,
for (auto Child : CurrentArchive->children(Err)) {
if (auto NameOrErr = Child.getName()) {
if (*NameOrErr == Filename) {
+ Expected<sys::TimeValue> ModTimeOrErr = Child.getLastModified();
+ if (!ModTimeOrErr)
+ return errorToErrorCode(ModTimeOrErr.takeError());
if (Timestamp != sys::TimeValue::PosixZeroTime() &&
- Timestamp != Child.getLastModified()) {
+ Timestamp != ModTimeOrErr.get()) {
if (Verbose)
outs() << "\tmember had timestamp mismatch.\n";
continue;
OpenPOWER on IntegriCloud