[clang-tools-extra] [clang-tidy] comment braced-init list arguments (PR #180408)

Victor Chernyakin via cfe-commits cfe-commits at lists.llvm.org
Sun Feb 8 12:26:58 PST 2026


================
@@ -242,14 +243,37 @@ static const FunctionDecl *resolveMocks(const FunctionDecl *Func) {
   return Func;
 }
 
+static bool isBracedInitListExpr(const Expr *Arg) {
+  Arg = Arg->IgnoreImplicit();
+  // List-initialization can be represented by a list expression itself or by a
+  // list-initialized constructor/cast. Treat all of these as braced-init uses.
+  if (isa<InitListExpr>(Arg))
+    return true;
+  if (const auto *StdInit = dyn_cast<CXXStdInitializerListExpr>(Arg))
+    return isBracedInitListExpr(StdInit->getSubExpr()->IgnoreImplicit());
----------------
localspook wrote:

```suggestion
    return isBracedInitListExpr(StdInit->getSubExpr());
```
since the first thing `isBracedInitListExpr` does is call `IgnoreImplicit` anyway

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


More information about the cfe-commits mailing list