[clang] [clang] Fix a dangling reference in clang/utils/TableGen/ClangDiagnosticsEmitter.cpp (PR #119197)
Haojian Wu via cfe-commits
cfe-commits at lists.llvm.org
Mon Dec 9 12:14:39 PST 2024
https://github.com/hokein updated https://github.com/llvm/llvm-project/pull/119197
>From 85f1d54459125568bfbe2088827040c3b05a7804 Mon Sep 17 00:00:00 2001
From: Haojian Wu <hokein.wu at gmail.com>
Date: Mon, 9 Dec 2024 11:48:59 +0100
Subject: [PATCH 1/2] [clang] Fix a dangling reference in
clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
`DiagsInGroup` is a `map<std::string, ...>`, we store a dangling
string_view in the key.
---
clang/utils/TableGen/ClangDiagnosticsEmitter.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
index 6a4a64a0813063..f7a6807a142490 100644
--- a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
+++ b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
@@ -1908,7 +1908,7 @@ void clang::EmitClangDiagDocs(const RecordKeeper &Records, raw_ostream &OS) {
for (const Record *G : DiagGroups) {
bool IsRemarkGroup = isRemarkGroup(G, DiagsInGroup);
auto &GroupInfo =
- DiagsInGroup[std::string(G->getValueAsString("GroupName"))];
+ DiagsInGroup[G->getValueAsString("GroupName")];
bool IsSynonym = GroupInfo.DiagsInGroup.empty() &&
GroupInfo.SubGroups.size() == 1;
>From 294ce92e5f5b212f2a523671a2b0320eb6449fa4 Mon Sep 17 00:00:00 2001
From: Haojian Wu <hokein.wu at gmail.com>
Date: Mon, 9 Dec 2024 21:13:29 +0100
Subject: [PATCH 2/2] clang-format
---
clang/utils/TableGen/ClangDiagnosticsEmitter.cpp | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
index f7a6807a142490..a9faba0d84403b 100644
--- a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
+++ b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
@@ -1907,8 +1907,7 @@ void clang::EmitClangDiagDocs(const RecordKeeper &Records, raw_ostream &OS) {
// Write out the diagnostic groups.
for (const Record *G : DiagGroups) {
bool IsRemarkGroup = isRemarkGroup(G, DiagsInGroup);
- auto &GroupInfo =
- DiagsInGroup[G->getValueAsString("GroupName")];
+ auto &GroupInfo = DiagsInGroup[G->getValueAsString("GroupName")];
bool IsSynonym = GroupInfo.DiagsInGroup.empty() &&
GroupInfo.SubGroups.size() == 1;
More information about the cfe-commits
mailing list