================
@@ -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

Reply via email to