[clang] [Clang] Check for uninitialized use in lambda within CXXOperatorCallExpr (PR #129198)

Erich Keane via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 28 07:58:05 PST 2025


================
@@ -12806,6 +12810,19 @@ namespace {
         HandleValue(Arg->IgnoreParenImpCasts());
     }
 
+    void VisitLambdaExpr(LambdaExpr *E) {
+      if (!isInCXXOperatorCall) {
+        Inherited::VisitLambdaExpr(E);
+        return;
+      }
+
+      for (const auto &init : E->capture_inits())
+        if (DeclRefExpr *DRE = dyn_cast<DeclRefExpr>(init))
+          HandleDeclRefExpr(DRE);
+        else
----------------
erichkeane wrote:

```suggestion
        else if (Init)
```

According to the base implementation of this, we end up expecting this could be null sometimes.

https://github.com/llvm/llvm-project/pull/129198


More information about the cfe-commits mailing list