================ @@ -3454,9 +3454,11 @@ void Sema::DeclareGlobalAllocationFunction(DeclarationName Name, if (Func->getNumParams() == Params.size()) { llvm::SmallVector<QualType, 3> FuncParams; for (auto *P : Func->parameters()) - FuncParams.push_back( - Context.getCanonicalType(P->getType().getUnqualifiedType())); - if (llvm::ArrayRef(FuncParams) == Params) { + FuncParams.push_back(P->getType().getUnqualifiedType()); + if (std::equal(FuncParams.begin(), FuncParams.end(), Params.begin(), + Params.end(), [&](QualType LT, QualType RT) { + return Context.hasSameType(LT, RT); ---------------- mizvekov wrote:
Even more correct would be to handle array decays and all which is formally required for function parameters, but that's pre-existing, and wouldn't make this simpler, so don't worry. https://github.com/llvm/llvm-project/pull/143653 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits