mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-05-20 20:38:48 +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.
|
// Add this regexp into the proper group by its prefix.
|
||||||
if (!Regexps[Prefix][Category].empty())
|
if (!Regexps[Prefix][Category].empty())
|
||||||
Regexps[Prefix][Category] += "|";
|
Regexps[Prefix][Category] += "|";
|
||||||
Regexps[Prefix][Category] += Regexp;
|
Regexps[Prefix][Category] += "^" + Regexp + "$";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Iterate through each of the prefixes, and create Regexs for them.
|
// 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"));
|
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