[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 02:51:54 PST 2024


https://github.com/hokein created https://github.com/llvm/llvm-project/pull/119197

`DiagsInGroup` is a `map<std::string, ...>`, we store a dangling string_view in the key.

>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] [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;
 



More information about the cfe-commits mailing list