[clang] [clang] Fix FoldingSet lookups that disagree with the node's Profile (PR #220168)

Fangrui Song via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 2 22:58:00 PDT 2026


================
@@ -4115,8 +4115,10 @@ void FunctionProtoType::Profile(llvm::FoldingSetNodeID &ID, QualType Result,
 
 void FunctionProtoType::Profile(llvm::FoldingSetNodeID &ID,
                                 const ASTContext &Ctx) {
+  // getFunctionTypeInternal keys every node canonically and compares noexcept
+  // expressions after the lookup, so report that same key.
   Profile(ID, getReturnType(), param_type_begin(), getNumParams(),
-          getExtProtoInfo(), Ctx, isCanonicalUnqualified());
+          getExtProtoInfo(), Ctx, /*Canonical=*/true);
 }
----------------
MaskRay wrote:

Removed the parameter

https://github.com/llvm/llvm-project/pull/220168


More information about the cfe-commits mailing list