[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