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

Reply via email to