HerrCai0907 added inline comments.
================
Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:3598
+ FD->isDefined(FDFriend, true) &&
+ FDFriend->getFriendObjectKind() != Decl::FriendObjectKind::FOK_None) {
+ // if Function defined by inline friend, use inline fried as DeclContext
----------------
erichkeane wrote:
> So in what case would the currently-instantiated definition NOT also be a
> friend? I would think this last condition should be able to be an assert
> instead.
Last condition cannot be an assert, define and declare in difference place is
common case, what we need to identifier in here is inlined friend define.
================
Comment at: clang/lib/Sema/SemaTemplateDeduction.cpp:3601
+ FD = const_cast<FunctionDecl *>(FDFriend);
+ Owner = FD->getDescribedFunctionTemplate()->getLexicalDeclContext();
+ }
----------------
erichkeane wrote:
> I THINK this should just be:
> `Owner = FD->getLexicalDeclContext()` here.
The old `Owner` is `FunctionTemplate->getLexicalDeclContext()`. So I think we
should use same level owner.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D149009/new/
https://reviews.llvm.org/D149009
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits