[PATCH] D140547: Perform access checking to private members in simple requirement.

Utkarsh Saxena via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 5 09:27:37 PST 2023


usaxena95 updated this revision to Diff 486604.
usaxena95 added a comment.

Use ParsingDeclRAIIObject instead of ContextRAII.

This creates a separate diagnostic pool for diagnositcs associated to the RequiresExprBodyDecl.
This is important because dependent diagnostics should not leak to higher scopes (Eg. inside a template function or in a trailing requires). These dependent diagnstics must be attached to the DeclContext of the parameters of RequiresExpr (which is the BodyDecl in this case).
Non dependent diagnostics should not delayed and surfaced as hard errors.

This addresses the previously failing LibCXX failure as well.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D140547/new/

https://reviews.llvm.org/D140547

Files:
  clang/include/clang/AST/ExprConcepts.h
  clang/lib/Parse/ParseExprCXX.cpp
  clang/lib/Sema/SemaAccess.cpp
  clang/lib/Sema/SemaConcept.cpp
  clang/lib/Sema/SemaTemplateInstantiate.cpp
  clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D140547.486604.patch
Type: text/x-patch
Size: 7332 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230105/b9b434e2/attachment.bin>


More information about the cfe-commits mailing list