1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2025-01-31 20:51:52 +01:00

FileCheck: Fix off-by-one bug that made CHECK-NOT: ignore the next character after the colon.

llvm-svn: 164165
This commit is contained in:
Benjamin Kramer 2012-09-18 20:51:39 +00:00
parent 1cc7e2c795
commit 9958678403
3 changed files with 12 additions and 3 deletions

View File

@ -0,0 +1,9 @@
RUN: printf "a\nb" | FileCheck %s -check-prefix=TEST1
RUN: echo oo | FileCheck %s -check-prefix=TEST2
Check that CHECK-NEXT without a space after the colon works.
TEST1:a
TEST1-NEXT:b
Check that CHECK-NOT without a space after the colon works.
TEST2-NOT:foo

View File

@ -1 +1 @@
config.suffixes = ['.ll', '.c', '.cpp'] config.suffixes = ['.ll', '.c', '.cpp', '.txt']

View File

@ -537,11 +537,11 @@ static bool ReadCheckFile(SourceMgr &SM,
Buffer = Buffer.substr(CheckPrefix.size()+1); Buffer = Buffer.substr(CheckPrefix.size()+1);
} else if (Buffer.size() > CheckPrefix.size()+6 && } else if (Buffer.size() > CheckPrefix.size()+6 &&
memcmp(Buffer.data()+CheckPrefix.size(), "-NEXT:", 6) == 0) { memcmp(Buffer.data()+CheckPrefix.size(), "-NEXT:", 6) == 0) {
Buffer = Buffer.substr(CheckPrefix.size()+7); Buffer = Buffer.substr(CheckPrefix.size()+6);
IsCheckNext = true; IsCheckNext = true;
} else if (Buffer.size() > CheckPrefix.size()+5 && } else if (Buffer.size() > CheckPrefix.size()+5 &&
memcmp(Buffer.data()+CheckPrefix.size(), "-NOT:", 5) == 0) { memcmp(Buffer.data()+CheckPrefix.size(), "-NOT:", 5) == 0) {
Buffer = Buffer.substr(CheckPrefix.size()+6); Buffer = Buffer.substr(CheckPrefix.size()+5);
IsCheckNot = true; IsCheckNot = true;
} else { } else {
Buffer = Buffer.substr(1); Buffer = Buffer.substr(1);