shafik added a subscriber: rsmith. shafik added a comment. I believe that your main example violates basic.scope.class p2 <http://eel.is/c++draft/basic.scope.class#2>:
> A name N used in a class S shall refer to the same declaration in its context > and when re-evaluated in the completed scope of S. > No diagnostic is required for a violation of this rule. Although it is ill-formed no diagnostic required. CC @rsmith ================ Comment at: clang/lib/AST/ASTImporter.cpp:3637 +// is a dependent type then the returned optional does not have a value. +static Optional<DeclContext *> getDCOfUnderlyingDecl(FriendDecl *FrD) { + if (NamedDecl *ND = FrD->getFriendDecl()) ---------------- It looks like we use `FriendDecl *D` in other places, we should try to be consistent across the file. I would not be against changing it but perhaps in a different PR? ================ Comment at: clang/lib/AST/ASTImporter.cpp:3656 + // DependentType + return Optional<DeclContext *>(); +} ---------------- `return {}`; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75922/new/ https://reviews.llvm.org/D75922 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits