[clang] 8f434bb - [clang] Fix a dangling reference in clang/utils/TableGen/ClangDiagnosticsEmitter.cpp (#119197)

via cfe-commits cfe-commits at lists.llvm.org
Tue Dec 10 00:05:32 PST 2024


Author: Haojian Wu
Date: 2024-12-10T09:05:28+01:00
New Revision: 8f434bb9b2718dc4b33cc9e91c85806ee1ed82b0

URL: https://github.com/llvm/llvm-project/commit/8f434bb9b2718dc4b33cc9e91c85806ee1ed82b0
DIFF: https://github.com/llvm/llvm-project/commit/8f434bb9b2718dc4b33cc9e91c85806ee1ed82b0.diff

LOG: [clang] Fix a dangling reference in clang/utils/TableGen/ClangDiagnosticsEmitter.cpp (#119197)

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

Added: 
    

Modified: 
    clang/utils/TableGen/ClangDiagnosticsEmitter.cpp

Removed: 
    


################################################################################
diff  --git a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
index 6a4a64a0813063..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[std::string(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