diff options
author | Chuanqi Xu <yedeng.yd@linux.alibaba.com> | 2025-06-25 14:09:43 +0800 |
---|---|---|
committer | Chuanqi Xu <yedeng.yd@linux.alibaba.com> | 2025-06-25 14:12:32 +0800 |
commit | a0ce3e691c199145b55b6a7f86468b438eb14264 (patch) | |
tree | ecd6bc0eb937c000d722f7e7205bbcdd7b561ff4 /clang/lib/Serialization/ASTWriterStmt.cpp | |
parent | 0512d119fdf019b7c56e58f89b094ee5928b0a07 (diff) | |
download | llvm-a0ce3e691c199145b55b6a7f86468b438eb14264.zip llvm-a0ce3e691c199145b55b6a7f86468b438eb14264.tar.gz llvm-a0ce3e691c199145b55b6a7f86468b438eb14264.tar.bz2 |
[C++20] [Modules] Avoid crash with calls to (this auto) syntax
Due to we didn't consider (this, auto) information when setting abbrev
for calls, we use incorrect format for calls, which cause crashes.
From
https://github.com/llvm/llvm-project/issues/118137
Diffstat (limited to 'clang/lib/Serialization/ASTWriterStmt.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriterStmt.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index a6e320c..87536be 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -971,7 +971,7 @@ void ASTStmtWriter::VisitCallExpr(CallExpr *E) { Record.push_back(E->getFPFeatures().getAsOpaqueInt()); if (!E->hasStoredFPFeatures() && !static_cast<bool>(E->getADLCallKind()) && - E->getStmtClass() == Stmt::CallExprClass) + !E->usesMemberSyntax() && E->getStmtClass() == Stmt::CallExprClass) AbbrevToUse = Writer.getCallExprAbbrev(); Code = serialization::EXPR_CALL; |