[clang] [clang][AST] Add 'IgnoreTemplateParmDepth' to structural equivalence cache (PR #115518)

Michael Buch via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 11 02:45:40 PST 2024


Michael137 wrote:

> Another possible solution: Use two `NonEquivalentDecls` sets, one for `IgnoreTemplateParmDepth` = true and one for false. This may use less memory (no rarely used third value in the key) but requires more code changes. Probably use these two caches only in `ASTImporter` where the correct one can be passed to `StructuralEquivalenceContext`.

I guess another alternative would be to not cache equivalence of friends (I think that's the only time we ignore the template depth?). But that might not be desirable either. Your current approach seems reasonable to me

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


More information about the cfe-commits mailing list