[clang] [clang][Sema] Preserve the initializer of invalid VarDecls (PR #88645)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Sun Apr 21 23:55:45 PDT 2024
================
@@ -13456,6 +13458,15 @@ void Sema::AddInitializerToDecl(Decl *RealDecl, Expr *Init, bool DirectInit) {
return;
}
+ if (VDecl->isInvalidDecl()) {
+ CorrectDelayedTyposInExpr(Init, VDecl);
+ ExprResult Recovery =
+ CreateRecoveryExpr(Init->getBeginLoc(), Init->getEndLoc(), {Init});
+ if (Expr *E = Recovery.get())
----------------
mizvekov wrote:
This is ok, I see that action result's get method will return a nullptr in unset/failed case anyway, and we don't need to make the distinction here.
https://github.com/llvm/llvm-project/pull/88645
More information about the cfe-commits
mailing list