mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-20 11:32:33 +00:00
Make SpecialCaseList match full strings, as documented, using anchors.
Differential Revision: http://llvm-reviews.chandlerc.com/D1149 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186431 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
17c95a217d
commit
71981ef040
@ -99,7 +99,7 @@ void SpecialCaseList::init(const MemoryBuffer *MB) {
|
||||
// Add this regexp into the proper group by its prefix.
|
||||
if (!Regexps[Prefix][Category].empty())
|
||||
Regexps[Prefix][Category] += "|";
|
||||
Regexps[Prefix][Category] += Regexp;
|
||||
Regexps[Prefix][Category] += "^" + Regexp + "$";
|
||||
}
|
||||
|
||||
// Iterate through each of the prefixes, and create Regexs for them.
|
||||
|
@ -139,4 +139,20 @@ TEST_F(SpecialCaseListTest, GlobalIsIn) {
|
||||
EXPECT_TRUE(SCL->isIn(*Bar, "init"));
|
||||
}
|
||||
|
||||
TEST_F(SpecialCaseListTest, Substring) {
|
||||
Module M("othello", Ctx);
|
||||
Function *F = makeFunction("tomfoolery", M);
|
||||
GlobalVariable *GV = makeGlobal("bartender", "t", M);
|
||||
|
||||
OwningPtr<SpecialCaseList> SCL(makeSpecialCaseList("src:hello\n"
|
||||
"fun:foo\n"
|
||||
"global:bar\n"));
|
||||
EXPECT_FALSE(SCL->isIn(M));
|
||||
EXPECT_FALSE(SCL->isIn(*F));
|
||||
EXPECT_FALSE(SCL->isIn(*GV));
|
||||
|
||||
SCL.reset(makeSpecialCaseList("fun:*foo*\n"));
|
||||
EXPECT_TRUE(SCL->isIn(*F));
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user