[PATCH] D123826: Fix size of flexible array initializers, and re-enable assertions.

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 15 08:54:14 PDT 2022


efriedma added inline comments.


================
Comment at: clang/lib/AST/Decl.cpp:2735
+  const Expr *FlexibleInit = List->getInit(List->getNumInits() - 1);
+  auto InitTy = Ctx.getAsConstantArrayType(FlexibleInit->getType());
+  if (!InitTy)
----------------
erichkeane wrote:
> Same here
You want something like this?

```
if (auto *List = dyn_cast<InitListExpr>(getInit()->IgnoreParens())) {
  const Expr *FlexibleInit = List->getInit(List->getNumInits() - 1);
  if (auto InitTy = Ctx.getAsConstantArrayType(FlexibleInit->getType())) {
    return InitTy->getSize() != 0;
  }
}
return false;
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D123826/new/

https://reviews.llvm.org/D123826



More information about the cfe-commits mailing list