================ @@ -4174,6 +4174,14 @@ PackIndexingType::computeDependence(QualType Pattern, Expr *IndexExpr, return TD; } +void PackIndexingType::Profile(llvm::FoldingSetNodeID &ID, + const ASTContext &Context) { + if (hasSelectedType() && isFullySubstituted()) + getSelectedType().Profile(ID); + else + Profile(ID, Context, getPattern(), getIndexExpr(), isFullySubstituted()); +} ---------------- mizvekov wrote:
Pre-existing issue, but this confuses identity with canonicalization. This is basically saying that all PackIndexTypes which are fully substituted and have the same selected type are identical, which can't be right as they can also differ in other ways, such as the Index expression. https://github.com/llvm/llvm-project/pull/139057 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits