kadircet marked 3 inline comments as done. kadircet added inline comments.
================ Comment at: clang/lib/Sema/SemaDeclCXX.cpp:4101 - ExprResult Init = InitExpr; - if (!FD->getType()->isDependentType() && !InitExpr->isTypeDependent()) { - Init = ConvertMemberDefaultInitExpression(FD, InitExpr, InitLoc); + ExprResult Init = CorrectDelayedTyposInExpr(InitExpr, /*InitDecl=*/nullptr, + /*RecoverUncorrectedTypos=*/true); ---------------- ilya-biryukov wrote: > Should we pass `FD` here to avoid correcting to itself? unfortunately the interface requires a VarDecl, hence we can't pass a FieldDecl. ================ Comment at: clang/lib/Sema/SemaDeclCXX.cpp:4103 + /*RecoverUncorrectedTypos=*/true); + if (!FD->getType()->isDependentType() && !Init.get()->isTypeDependent()) { + Init = ConvertMemberDefaultInitExpression(FD, Init.get(), InitLoc); ---------------- aaron.ballman wrote: > Should we be checking for `Init.isUsable()` before calling `.get()`? because InitExpr is never null here (we bail out early), and because we're converting any leftover TypoExprs to RecoveryExpr `Init` should always be `Usable` here. adding an assert. ================ Comment at: clang/test/PCH/typo3.cpp:6 + // in PCH. + int y = bar; + // CHECK: use of undeclared identifier 'bar' ---------------- hokein wrote: > IIUC, the issue is that, we have a dangling `TypoExpr` under the `FieldDecl` > in the final AST, which violates the contract of `TypoExpr`. yes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D142187/new/ https://reviews.llvm.org/D142187 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits