[PATCH] D147068: Fix merging of member-like constrained friends across modules.
Richard Smith - zygoloid via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 28 10:59:03 PDT 2023
rsmith created this revision.
rsmith added a reviewer: aaron.ballman.
Herald added a project: All.
rsmith requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
When a friend declaration has a requires-clause, and either it's a
non-template function or it's a function template whose requires-clause
depends on an enclosing template parameter, it is member-like for the
purpose of redeclaration checking. Specifically, the lexically enclosing
class becomes part of its signature, so it can only be redeclared by
another declaration within the same class.
Previously we supported this rule when parsing declarations, but not
when merging them across modules.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D147068
Files:
clang/docs/ReleaseNotes.rst
clang/include/clang/AST/ASTContext.h
clang/include/clang/AST/Decl.h
clang/lib/AST/ASTContext.cpp
clang/lib/AST/Decl.cpp
clang/lib/Sema/SemaOverload.cpp
clang/test/Modules/merge-constrained-friends.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D147068.509075.patch
Type: text/x-patch
Size: 8298 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230328/30318a8e/attachment.bin>
More information about the cfe-commits
mailing list