Skip to content

Commit

Permalink
Remove support for undocumented SpecialCaseList entries.
Browse files Browse the repository at this point in the history
"global-init", "global-init-src" and "global-init-type" were originally
used to blacklist entities in ASan init-order checker. However, they
were never documented, and later were replaced by "=init" category.

Old blacklist entries should be converted as follows:
  * global-init:foo -> global:foo=init
  * global-init-src:bar -> src:bar=init
  * global-init-type:baz -> type:baz=init



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222401 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
vonosmas committed Nov 20, 2014
1 parent e8cdd17 commit 88dc43f
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 31 deletions.
12 changes: 0 additions & 12 deletions lib/Support/SpecialCaseList.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,18 +103,6 @@ bool SpecialCaseList::parse(const MemoryBuffer *MB, std::string &Error) {
std::string Regexp = SplitRegexp.first;
StringRef Category = SplitRegexp.second;

// Backwards compatibility.
if (Prefix == "global-init") {
Prefix = "global";
Category = "init";
} else if (Prefix == "global-init-type") {
Prefix = "type";
Category = "init";
} else if (Prefix == "global-init-src") {
Prefix = "src";
Category = "init";
}

// See if we can store Regexp in Strings.
if (Regex::isLiteralERE(Regexp)) {
Entries[Prefix][Category].Strings.insert(Regexp);
Expand Down
20 changes: 1 addition & 19 deletions unittests/Support/SpecialCaseListTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,43 +49,25 @@ TEST_F(SpecialCaseListTest, Basic) {
EXPECT_FALSE(SCL->inSection("src", "hello", "category"));
}

TEST_F(SpecialCaseListTest, GlobalInitCompat) {
TEST_F(SpecialCaseListTest, GlobalInit) {
std::unique_ptr<SpecialCaseList> SCL =
makeSpecialCaseList("global:foo=init\n");
EXPECT_FALSE(SCL->inSection("global", "foo"));
EXPECT_FALSE(SCL->inSection("global", "bar"));
EXPECT_TRUE(SCL->inSection("global", "foo", "init"));
EXPECT_FALSE(SCL->inSection("global", "bar", "init"));

SCL = makeSpecialCaseList("global-init:foo\n");
EXPECT_FALSE(SCL->inSection("global", "foo"));
EXPECT_FALSE(SCL->inSection("global", "bar"));
EXPECT_TRUE(SCL->inSection("global", "foo", "init"));
EXPECT_FALSE(SCL->inSection("global", "bar", "init"));

SCL = makeSpecialCaseList("type:t2=init\n");
EXPECT_FALSE(SCL->inSection("type", "t1"));
EXPECT_FALSE(SCL->inSection("type", "t2"));
EXPECT_FALSE(SCL->inSection("type", "t1", "init"));
EXPECT_TRUE(SCL->inSection("type", "t2", "init"));

SCL = makeSpecialCaseList("global-init-type:t2\n");
EXPECT_FALSE(SCL->inSection("type", "t1"));
EXPECT_FALSE(SCL->inSection("type", "t2"));
EXPECT_FALSE(SCL->inSection("type", "t1", "init"));
EXPECT_TRUE(SCL->inSection("type", "t2", "init"));

SCL = makeSpecialCaseList("src:hello=init\n");
EXPECT_FALSE(SCL->inSection("src", "hello"));
EXPECT_FALSE(SCL->inSection("src", "bye"));
EXPECT_TRUE(SCL->inSection("src", "hello", "init"));
EXPECT_FALSE(SCL->inSection("src", "bye", "init"));

SCL = makeSpecialCaseList("global-init-src:hello\n");
EXPECT_FALSE(SCL->inSection("src", "hello"));
EXPECT_FALSE(SCL->inSection("src", "bye"));
EXPECT_TRUE(SCL->inSection("src", "hello", "init"));
EXPECT_FALSE(SCL->inSection("src", "bye", "init"));
}

TEST_F(SpecialCaseListTest, Substring) {
Expand Down

0 comments on commit 88dc43f

Please sign in to comment.