diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-10 17:30:39 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-10 17:30:39 +0000 |
commit | fc3876118d870f6894bc512215b35b42a2c1e644 (patch) | |
tree | 1b2d0940a7bd97e2440f8f8e2433a40cc5fb6b55 /llvm/lib/Support/FileUtilities.cpp | |
parent | f04bbd8b7fad6d4dcfc576b976ff52bbda609df5 (diff) | |
download | bcm5719-llvm-fc3876118d870f6894bc512215b35b42a2c1e644.tar.gz bcm5719-llvm-fc3876118d870f6894bc512215b35b42a2c1e644.zip |
MemoryBuffer::getFile handles zero sized files, no need to duplicate the test.
llvm-svn: 186018
Diffstat (limited to 'llvm/lib/Support/FileUtilities.cpp')
-rw-r--r-- | llvm/lib/Support/FileUtilities.cpp | 23 |
1 files changed, 2 insertions, 21 deletions
diff --git a/llvm/lib/Support/FileUtilities.cpp b/llvm/lib/Support/FileUtilities.cpp index 6339e005461..7f5d5404877 100644 --- a/llvm/lib/Support/FileUtilities.cpp +++ b/llvm/lib/Support/FileUtilities.cpp @@ -175,27 +175,6 @@ int llvm::DiffFilesWithTolerance(StringRef NameA, StringRef NameB, double AbsTol, double RelTol, std::string *Error) { - // Check for zero length files because some systems croak when you try to - // mmap an empty file. - 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) - return 0; - - // If only one of them is zero sized then they can't be the same - if ((A_size == 0 || B_size == 0)) { - if (Error) - *Error = "Files differ: one is zero-sized, the other isn't"; - return 1; - } - // Now its safe to mmap the files into memory because both files // have a non-zero size. OwningPtr<MemoryBuffer> F1; @@ -218,6 +197,8 @@ int llvm::DiffFilesWithTolerance(StringRef NameA, const char *File2End = F2->getBufferEnd(); const char *F1P = File1Start; const char *F2P = File2Start; + uint64_t A_size = F1->getBufferSize(); + uint64_t B_size = F2->getBufferSize(); // Are the buffers identical? Common case: Handle this efficiently. if (A_size == B_size && |