[all-commits] [llvm/llvm-project] 27c917: [Clang] Remove unnecessary Decl transform & profil...
Younan Zhang via All-commits
all-commits at lists.llvm.org
Mon Jan 27 07:05:20 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 27c917307563eae93c7fef9c3944e56e1f5b5f6d
https://github.com/llvm/llvm-project/commit/27c917307563eae93c7fef9c3944e56e1f5b5f6d
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-27 (Mon, 27 Jan 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
[Clang] Remove unnecessary Decl transform & profiles for SizeOfPackExpr (#124533)
We used to always transform the pattern declaration for SizeOfPackExpr
to ensure the constraint expression's profile produced the desired
result. However, this approach failed to handle pack expansions when the
pack referred to function parameters. In such cases, the function
parameters were formerly expanded to 1 to avoid building Subst* nodes
(see e6974daa7). That workaround caused us to transform a pack without a
proper ArgumentPackSubstitutionIndex, leading to crashes when
transforming the pattern.
It turns out that profiling the pattern for partially substituted
SizeOfPackExprs is unnecessary because their transformed forms are also
profiled within the partial arguments.
Fixes https://github.com/llvm/llvm-project/issues/124161
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list