[llvm] r186018 - MemoryBuffer::getFile handles zero sized files, no need to duplicate the test.

Rafael Espindola rafael.espindola at gmail.com
Wed Jul 10 10:30:40 PDT 2013


Author: rafael
Date: Wed Jul 10 12:30:39 2013
New Revision: 186018

URL: http://llvm.org/viewvc/llvm-project?rev=186018&view=rev
Log:
MemoryBuffer::getFile handles zero sized files, no need to duplicate the test.

Modified:
    llvm/trunk/lib/Support/FileUtilities.cpp

Modified: llvm/trunk/lib/Support/FileUtilities.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/FileUtilities.cpp?rev=186018&r1=186017&r2=186018&view=diff
==============================================================================
--- llvm/trunk/lib/Support/FileUtilities.cpp (original)
+++ llvm/trunk/lib/Support/FileUtilities.cpp Wed Jul 10 12:30:39 2013
@@ -175,27 +175,6 @@ int llvm::DiffFilesWithTolerance(StringR
                                  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(StringR
   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 &&





More information about the llvm-commits mailing list