1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 12:41:49 +01:00

[FileCheck]Remove assertions that prevent matching an empty string at file start before CHECK-NEXT/SAME

This patch removes two assertions that were preventing writing of a test
that checked an empty line followed by some text. For example:

CHECK: {{^$}}
CHECK-NEXT: foo()

The assertion was because the current location the CHECK-NEXT was
scanning from was the start of the buffer. A similar issue occurred with
CHECK-SAME. These assertions don't protect against anything, as there is
already an error check that checks that CHECK-NEXT/EMPTY/SAME don't
appear first in the checks, and the following code works fine if the
pointer is at the start of the input.

Reviewed by: probinson, thopre, jdenny
Differential Revision: https://reviews.llvm.org/D58784

llvm-svn: 355928
This commit is contained in:
James Henderson 2019-03-12 15:37:34 +00:00
parent be023e9e7f
commit 8c5705fbc6
2 changed files with 16 additions and 12 deletions

View File

@ -1114,12 +1114,6 @@ bool FileCheckString::CheckNext(const SourceMgr &SM, StringRef Buffer) const {
Twine(Pat.getCheckTy() == Check::CheckEmpty ? "-EMPTY" : "-NEXT");
// Count the number of newlines between the previous match and this one.
assert(Buffer.data() !=
SM.getMemoryBuffer(SM.FindBufferContainingLoc(
SMLoc::getFromPointer(Buffer.data())))
->getBufferStart() &&
"CHECK-NEXT and CHECK-EMPTY can't be the first check in a file");
const char *FirstNewLine = nullptr;
unsigned NumNewLines = CountNumNewlinesBetween(Buffer, FirstNewLine);
@ -1155,12 +1149,6 @@ bool FileCheckString::CheckSame(const SourceMgr &SM, StringRef Buffer) const {
return false;
// Count the number of newlines between the previous match and this one.
assert(Buffer.data() !=
SM.getMemoryBuffer(SM.FindBufferContainingLoc(
SMLoc::getFromPointer(Buffer.data())))
->getBufferStart() &&
"CHECK-SAME can't be the first check in a file");
const char *FirstNewLine = nullptr;
unsigned NumNewLines = CountNumNewlinesBetween(Buffer, FirstNewLine);

View File

@ -0,0 +1,16 @@
some text
more text
RUN: FileCheck %s --check-prefix=NEXT --input-file=%s
NEXT: {{^}}
NEXT-NEXT: more text
RUN: FileCheck %s --check-prefix=SAME --input-file=%s
SAME: {{^}}
SAME-SAME: some text
RUN: echo "" > %t
RUN: echo "" >> %t
RUN: FileCheck %s --check-prefix=EMPTY --input-file=%t
EMPTY: {{^}}
EMPTY-EMPTY: