LexerTest memory leak fix-

A new LexerTest unittest introduced a memory leak.  This patch
uses a unique_ptr with a custom deleter to ensure it is properly
deleted.

llvm-svn: 305491
This commit is contained in:
Erich Keane 2017-06-15 18:34:47 +00:00
parent b4733ca8c5
commit cb7af85b90
1 changed files with 3 additions and 1 deletions

View File

@ -402,7 +402,9 @@ TEST_F(LexerTest, DontOverallocateStringifyArgs) {
ArgTokens.push_back(tok);
}
MacroArgs *MA = MacroArgs::create(MI, ArgTokens, false, *PP);
auto MacroArgsDeleter = [&PP](MacroArgs *M) { M->destroy(*PP); };
std::unique_ptr<MacroArgs, decltype(MacroArgsDeleter)> MA(
MacroArgs::create(MI, ArgTokens, false, *PP), MacroArgsDeleter);
Token Result = MA->getStringifiedArgument(0, *PP, {}, {});
EXPECT_EQ(tok::string_literal, Result.getKind());
EXPECT_STREQ("\"\\\"StrArg\\\"\"", Result.getLiteralData());