guillem-bartrina-sonarsource wrote:

> I think that the problem is that types of `Decl`'s which failed to import are 
> not removed. When a failed import happens, the failed `Decl` (and other) 
> objects that were already imported remain in the 'To' AST (this is not 
> avoidable), additionally the import is marked as failed. It is possible to 
> reach the partially imported objects through the connected type. When the 
> connected type is removed from `ImportedTypes` and is encountered a next time 
> for import (happens at `ASTImporter::IsStructurallyEquivalent`) this next 
> import will rather fail (instead of continuing the structural equivalence 
> check with probably corrupted decl objects).

Isn't the behavior you're describing exactly what we want? Are you suggesting 
we need an analog to `ImportDeclErrors` for types? Is removing the type from 
the cache not enough?

https://github.com/llvm/llvm-project/pull/214008
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to