================
@@ -2481,10 +2485,13 @@ auto SubsumptionChecker::find(const AtomicConstraint 
*Ori) -> Literal {
   ID.AddBoolean(Ori->hasParameterMapping());
   if (Ori->hasParameterMapping()) {
     const auto &Mapping = Ori->getParameterMapping();
-    for (const TemplateArgumentLoc &TAL : Mapping) {
-      SemaRef.getASTContext()
-          .getCanonicalTemplateArgument(TAL.getArgument())
-          .Profile(ID, SemaRef.getASTContext());
+    const NormalizedConstraint::OccurenceList &Indexes =
+        Ori->mappingOccurenceListForSubsumption();
+    for (auto [Idx, TAL] : llvm::enumerate(Mapping)) {
+      if (Indexes[Idx])
----------------
zyn0217 wrote:

Does the index match? The OccurenceList matches against a template parameter 
(of atomics) while the Mapping at this point doesn't always correspond to that 
list. 

https://github.com/llvm/llvm-project/pull/141776
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to