jcsxky added a comment. In D156693#4568941 <https://reviews.llvm.org/D156693#4568941>, @balazske wrote:
> This fix can cause problems because the depth comparison is omitted all > times. It would be better to omit depth check if the imported template is a > friend, and has a `ClassTemplateSpecializationDecl` as context. Probably even > then it is possible to construct cases where the checked template has > references to other templates with different "depth" which should not omitted > in the check. But I have no idea of a better solution, only to pass a > `ClassTemplateDecl` or `ClassTemplateSpecializationDecl` to > `StructuralEquivalenceContext` and omit the depth check only at this object. Thanks for your advice. More conditions are added to check when to ignore the comparison and minimize the influence to other. Also I have tried to not increase depth in friend declaration in the template class, but the code affects others a lot. Only to skip the comparison can pass this special case. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D156693/new/ https://reviews.llvm.org/D156693 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits