parent
8d28646db6
commit
5023632c9a
|
@ -17,7 +17,6 @@
|
|||
#include "llvm/ADT/SmallString.h"
|
||||
#include "llvm/Support/MemoryBuffer.h"
|
||||
#include "llvm/Support/Path.h"
|
||||
#include "llvm/Support/PathV1.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
#include "llvm/Support/system_error.h"
|
||||
#include <cctype>
|
||||
|
@ -176,20 +175,15 @@ int llvm::DiffFilesWithTolerance(StringRef NameA,
|
|||
StringRef NameB,
|
||||
double AbsTol, double RelTol,
|
||||
std::string *Error) {
|
||||
sys::PathWithStatus FileA(NameA);
|
||||
sys::PathWithStatus FileB(NameB);
|
||||
|
||||
const sys::FileStatus *FileAStat = FileA.getFileStatus(false, Error);
|
||||
if (!FileAStat)
|
||||
return 2;
|
||||
const sys::FileStatus *FileBStat = FileB.getFileStatus(false, Error);
|
||||
if (!FileBStat)
|
||||
return 2;
|
||||
|
||||
// Check for zero length files because some systems croak when you try to
|
||||
// mmap an empty file.
|
||||
size_t A_size = FileAStat->getSize();
|
||||
size_t B_size = FileBStat->getSize();
|
||||
uint64_t A_size;
|
||||
if (sys::fs::file_size(NameA, A_size))
|
||||
return false;
|
||||
|
||||
uint64_t B_size;
|
||||
if (sys::fs::file_size(NameB, B_size))
|
||||
return false;
|
||||
|
||||
// If they are both zero sized then they're the same
|
||||
if (A_size == 0 && B_size == 0)
|
||||
|
@ -205,13 +199,13 @@ int llvm::DiffFilesWithTolerance(StringRef NameA,
|
|||
// Now its safe to mmap the files into memory because both files
|
||||
// have a non-zero size.
|
||||
OwningPtr<MemoryBuffer> F1;
|
||||
if (error_code ec = MemoryBuffer::getFile(FileA.c_str(), F1)) {
|
||||
if (error_code ec = MemoryBuffer::getFile(NameA, F1)) {
|
||||
if (Error)
|
||||
*Error = ec.message();
|
||||
return 2;
|
||||
}
|
||||
OwningPtr<MemoryBuffer> F2;
|
||||
if (error_code ec = MemoryBuffer::getFile(FileB.c_str(), F2)) {
|
||||
if (error_code ec = MemoryBuffer::getFile(NameB, F2)) {
|
||||
if (Error)
|
||||
*Error = ec.message();
|
||||
return 2;
|
||||
|
|
Loading…
Reference in New Issue