llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang Author: Matheus Izvekov (mizvekov) <details> <summary>Changes</summary> This fixes a couple of mistakes introduced when merging https://github.com/llvm/llvm-project/pull/132748 Fixes msan failure reported here: https://github.com/llvm/llvm-project/pull/132748#issuecomment-2781105225 --- Full diff: https://github.com/llvm/llvm-project/pull/134560.diff 3 Files Affected: - (modified) clang/lib/AST/ASTContext.cpp (+1-1) - (modified) clang/lib/Serialization/ASTReaderStmt.cpp (+1) - (modified) clang/lib/Serialization/ASTWriterStmt.cpp (+1) ``````````diff diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 1b6b3d06ddc1e..320fd4e2f3077 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -7011,7 +7011,7 @@ TemplateName ASTContext::getCanonicalTemplateName(TemplateName Name, getCanonicalTemplateArgument(subst->getArgumentPack()); return getSubstTemplateTemplateParmPack( canonArgPack, subst->getAssociatedDecl()->getCanonicalDecl(), - subst->getFinal(), subst->getIndex()); + subst->getIndex(), subst->getFinal()); } case TemplateName::DeducedTemplate: { assert(IgnoreDeduced == false); diff --git a/clang/lib/Serialization/ASTReaderStmt.cpp b/clang/lib/Serialization/ASTReaderStmt.cpp index d26152f3780ed..22fe54b526433 100644 --- a/clang/lib/Serialization/ASTReaderStmt.cpp +++ b/clang/lib/Serialization/ASTReaderStmt.cpp @@ -2229,6 +2229,7 @@ void ASTStmtReader::VisitSubstNonTypeTemplateParmExpr( E->PackIndex = Record.readInt(); else E->PackIndex = 0; + E->Final = CurrentUnpackingBits->getNextBit(); E->SubstNonTypeTemplateParmExprBits.NameLoc = readSourceLocation(); E->Replacement = Record.readSubExpr(); } diff --git a/clang/lib/Serialization/ASTWriterStmt.cpp b/clang/lib/Serialization/ASTWriterStmt.cpp index 23bb5ff22efaf..d0a0f843c7542 100644 --- a/clang/lib/Serialization/ASTWriterStmt.cpp +++ b/clang/lib/Serialization/ASTWriterStmt.cpp @@ -2229,6 +2229,7 @@ void ASTStmtWriter::VisitSubstNonTypeTemplateParmExpr( CurrentPackingBits.addBit((bool)E->getPackIndex()); if (auto PackIndex = E->getPackIndex()) Record.push_back(*PackIndex + 1); + CurrentPackingBits.addBit(E->getFinal()); Record.AddSourceLocation(E->getNameLoc()); Record.AddStmt(E->getReplacement()); `````````` </details> https://github.com/llvm/llvm-project/pull/134560 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits