Skip to content

Commit 47ec8b5

Browse files
committed
[pseudo] Fix leaks after D126731
Array Operator new Cookies help lsan find allocations, while std::array can't.
1 parent aa77cf9 commit 47ec8b5

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

clang-tools-extra/pseudo/lib/grammar/Grammar.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -168,13 +168,13 @@ std::vector<llvm::DenseSet<SymbolID>> followSets(const Grammar &G) {
168168

169169
static llvm::ArrayRef<std::string> getTerminalNames() {
170170
static const auto &TerminalNames = []() {
171-
auto &TerminalNames = *new std::array<std::string, NumTerminals>;
171+
auto TerminalNames = new std::string[NumTerminals];
172172
#define PUNCTUATOR(Tok, Spelling) TerminalNames[tok::Tok] = Spelling;
173173
#define KEYWORD(Keyword, Condition) \
174174
TerminalNames[tok::kw_##Keyword] = llvm::StringRef(#Keyword).upper();
175175
#define TOK(Tok) TerminalNames[tok::Tok] = llvm::StringRef(#Tok).upper();
176176
#include "clang/Basic/TokenKinds.def"
177-
return TerminalNames;
177+
return llvm::makeArrayRef(TerminalNames, NumTerminals);
178178
}();
179179
return TerminalNames;
180180
}

0 commit comments

Comments
 (0)