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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D62131: [ASTImport... Gabor Marton via Phabricator via cfe-commits
    • [PATCH] D62131: [ASTI... Aleksei Sidorin via Phabricator via cfe-commits

Reply via email to