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:
parent
be023e9e7f
commit
8c5705fbc6
@ -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);
|
||||
|
||||
|
16
test/FileCheck/empty-regex-match-at-start.txt
Normal file
16
test/FileCheck/empty-regex-match-at-start.txt
Normal 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:
|
Loading…
x
Reference in New Issue
Block a user