diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2006-10-18 20:23:52 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2006-10-18 20:23:52 +0000 |
commit | bfb8eaff7356543c7f59394c74a0229684dad222 (patch) | |
tree | f65e52111f661e430ba5e1891226e63cdf6a1b12 /lib/Support/FileUtilities.cpp | |
parent | 2cee6b571e2e5c78ea3cfd2ef73c580820a8ef72 (diff) | |
download | external_llvm-bfb8eaff7356543c7f59394c74a0229684dad222.zip external_llvm-bfb8eaff7356543c7f59394c74a0229684dad222.tar.gz external_llvm-bfb8eaff7356543c7f59394c74a0229684dad222.tar.bz2 |
Beef up the output from DiffFilesWithTolerance by setting the error code
to describe the difference being reported. This assists with understanding
differences an llvm-test and should help with bugpoint too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31044 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/FileUtilities.cpp')
-rw-r--r-- | lib/Support/FileUtilities.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/Support/FileUtilities.cpp b/lib/Support/FileUtilities.cpp index ad4ab8f..2160c77 100644 --- a/lib/Support/FileUtilities.cpp +++ b/lib/Support/FileUtilities.cpp @@ -85,7 +85,13 @@ static bool CompareNumbers(char *&F1P, char *&F2P, char *F1End, char *F2End, } if (F1NumEnd == F1P || F2NumEnd == F2P) { - if (ErrorMsg) *ErrorMsg = "Comparison failed, not a numeric difference."; + if (ErrorMsg) { + *ErrorMsg = "FP Comparison failed, not a numeric difference between '"; + *ErrorMsg += F1P[0]; + *ErrorMsg += "' and '"; + *ErrorMsg += F2P[0]; + *ErrorMsg += "'"; + } return true; } @@ -160,9 +166,13 @@ int llvm::DiffFilesWithTolerance(const sys::Path &FileA, // 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 ((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 becasue both files // have a non-zero size. @@ -190,8 +200,11 @@ int llvm::DiffFilesWithTolerance(const sys::Path &FileA, if (std::memcmp(File1Start, File2Start, A_size) == 0) return 0; - if (AbsTol == 0 && RelTol == 0) + if (AbsTol == 0 && RelTol == 0) { + if (Error) + *Error = "Files differ without tolerance allowance"; return 1; // Files different! + } } char *OrigFile1Start = File1Start; |