diff options
| author | Vedant Kumar <vsk@apple.com> | 2016-08-03 19:02:50 +0000 | 
|---|---|---|
| committer | Vedant Kumar <vsk@apple.com> | 2016-08-03 19:02:50 +0000 | 
| commit | 4031d9f80e67c4e36c233e1c390dabed994e9316 (patch) | |
| tree | e5242d81491fb0453dfb82b7a611a176368ae75a /llvm/tools/dsymutil/BinaryHolder.cpp | |
| parent | 43aeb001c959098167dec6272160ee73d187067c (diff) | |
| download | bcm5719-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.cpp | 5 | 
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;  | 

