================
@@ -13456,6 +13455,14 @@ void Sema::AddInitializerToDecl(Decl *RealDecl, Expr
*Init, bool DirectInit) {
return;
}
+ if (VDecl->isInvalidDecl()) {
+ CorrectDelayedTyposInExpr(Init, VDecl);
+ VDecl->setInit(
+ CreateRecoveryExpr(Init->getBeginLoc(), Init->getEndLoc(), {Init})
+ .get());
----------------
mizvekov wrote:
`CreateRecoveryExpr` returns an ExprResult, which means it not only returns an
expression on success, but it can also return an error, and using `get()` in
that case is UB, you have to check it first.
It can return an error in case we are in an SFINAE context, and also when using
the frontend flag `-fno-recovery-ast`.
https://github.com/llvm/llvm-project/pull/88645
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits