================
@@ -1730,6 +1730,35 @@ void ASTStmtReader::VisitCXXForRangeStmt(CXXForRangeStmt
*S) {
S->setBody(Record.readSubStmt());
}
+void ASTStmtReader::VisitCXXExpansionStmtPattern(CXXExpansionStmtPattern *S) {
+ VisitStmt(S);
+ Record.skipInts(1); // Skip kind.
+ S->LParenLoc = readSourceLocation();
+ S->ColonLoc = readSourceLocation();
+ S->RParenLoc = readSourceLocation();
+ S->ParentDecl = cast<CXXExpansionStmtDecl>(Record.readDeclRef());
+ for (Stmt *&SubStmt : S->children())
+ SubStmt = Record.readSubStmt();
+}
+
+void ASTStmtReader::VisitCXXExpansionStmtInstantiation(
+ CXXExpansionStmtInstantiation *S) {
+ VisitStmt(S);
+ Record.skipInts(2);
----------------
Sirraide wrote:
`CXXExpansionStmtInstantiation` uses `TrailingObjects`; the 2 integers store
how many elements of trailing data we need to allocate and are used when we
allocate the statement; we don’t need them here anymore so we just skip them.
https://github.com/llvm/llvm-project/pull/169680
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits