[clang] Fix a crash on invalid auto.
Summary: The crash is triggered on accessing a null InitExpr. For group declaration, e.g. `auto c = a, &d = {a};`, what's happening: 1. each VarDecl is built separately during the parsing stage. 2. perform the semantic analysis (Sema::BuildDeclaratorGroup) to check whether the type of the two VarDecl is the same, if not mark it as invalid. in step 1, VarDecl c and d are built, both of them are valid (after D77395), but d is without the InitExpr attached (under -fno-recovery-ast), crash happens in step 2 when accessing the source range of d's InitExpr. Reviewers: sammccall Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D79473
Loading
Please sign in to comment