FileCheck: Eliminate DOSish \r from input file.
[oota-llvm.git] / utils / FileCheck / FileCheck.cpp
index c6b2ff7c60e73f513a8de899f0d83f7909bd5b7e..5e30c22db35e83946af8c5ed6e627564de97501f 100644 (file)
@@ -456,6 +456,11 @@ static MemoryBuffer *CanonicalizeInputFile(MemoryBuffer *MB) {
 
   for (const char *Ptr = MB->getBufferStart(), *End = MB->getBufferEnd();
        Ptr != End; ++Ptr) {
+    // Eliminate trailing dosish \r.
+    if (Ptr <= End - 2 && Ptr[0] == '\r' && Ptr[1] == '\n') {
+      continue;
+    }
+
     // If C is not a horizontal whitespace, skip it.
     if (*Ptr != ' ' && *Ptr != '\t') {
       NewFile.push_back(*Ptr);