[PATCH] D62131: [ASTImporter] Remove NonEquivalentDecls from ASTImporter

Aleksei Sidorin via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 30 10:55:06 PDT 2019


a_sidorin added a comment.

> The following happened: During the analysis we compared two Decls which turned out to be inequivalent, so we cached them. Later during the analysis, however, we added a new node to the redecl chain of one of these Decls which we previously compared. Then another structural equivalent check followed for the two Decls. And this time they should have been considered structurally equivalent, but the cache already contained them as nonequivalent. This resulted in a false positive NameConflict error.

Should we reset the non-equivalence relation after a decl is imported for this decl and its redecls?

> By this change the error had gone, and we did not recognize any analysis slowdown. Remember, we still have a cache, but not a global cache in the ASTImporter object.

Hm, I wonder if our cache is really useful or not. Unfortunately, I never did any measures.

Still the lack of a test disturbs me, even despite the fact that I got the idea.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D62131/new/

https://reviews.llvm.org/D62131





More information about the cfe-commits mailing list