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