[clang] 5e9e1ff - [clang] Infer capture_by for insert_or_assign (#122109)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 8 13:34:22 PST 2025


Author: Utkarsh Saxena
Date: 2025-01-08T22:34:17+01:00
New Revision: 5e9e1ffe8a0909c02b0ac5a51b1856eb9516b767

URL: https://github.com/llvm/llvm-project/commit/5e9e1ffe8a0909c02b0ac5a51b1856eb9516b767
DIFF: https://github.com/llvm/llvm-project/commit/5e9e1ffe8a0909c02b0ac5a51b1856eb9516b767.diff

LOG: [clang] Infer capture_by for insert_or_assign (#122109)

Useful for maps:
https://en.cppreference.com/w/cpp/container/map/insert_or_assign

Added: 
    

Modified: 
    clang/lib/Sema/SemaAttr.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Sema/SemaAttr.cpp b/clang/lib/Sema/SemaAttr.cpp
index 44485e71d57a01..42aa68d2905c03 100644
--- a/clang/lib/Sema/SemaAttr.cpp
+++ b/clang/lib/Sema/SemaAttr.cpp
@@ -307,8 +307,8 @@ void Sema::inferLifetimeCaptureByAttribute(FunctionDecl *FD) {
       Annotate(MD);
     return;
   }
-  static const llvm::StringSet<> CapturingMethods{"insert", "push",
-                                                  "push_front", "push_back"};
+  static const llvm::StringSet<> CapturingMethods{
+      "insert", "insert_or_assign", "push", "push_front", "push_back"};
   if (!CapturingMethods.contains(MD->getName()))
     return;
   Annotate(MD);


        


More information about the cfe-commits mailing list