aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaAccess.cpp
diff options
context:
space:
mode:
authorMatheus Izvekov <mizvekov@gmail.com>2025-03-20 11:09:25 -0300
committerGitHub <noreply@github.com>2025-03-20 11:09:25 -0300
commit6cd62ad08c974b7d4f7171c66f6567de82bd236f (patch)
tree259dbf4169ef28a26ddb2663b12beffb51ff789b /clang/lib/Sema/SemaAccess.cpp
parente6a87da8fe314a009eed769f9737b4b281a06fba (diff)
downloadllvm-6cd62ad08c974b7d4f7171c66f6567de82bd236f.zip
llvm-6cd62ad08c974b7d4f7171c66f6567de82bd236f.tar.gz
llvm-6cd62ad08c974b7d4f7171c66f6567de82bd236f.tar.bz2
Revert "[clang] improve class type sugar preservation in pointers to members" (#132215)
Reverts llvm/llvm-project#130537 This missed updating lldb, which we didn't notice due to lack of pre-commit CI.
Diffstat (limited to 'clang/lib/Sema/SemaAccess.cpp')
-rw-r--r--clang/lib/Sema/SemaAccess.cpp26
1 files changed, 8 insertions, 18 deletions
diff --git a/clang/lib/Sema/SemaAccess.cpp b/clang/lib/Sema/SemaAccess.cpp
index b77cbdb..4ba46a9 100644
--- a/clang/lib/Sema/SemaAccess.cpp
+++ b/clang/lib/Sema/SemaAccess.cpp
@@ -1873,20 +1873,21 @@ Sema::AccessResult Sema::CheckAddressOfMemberAccess(Expr *OvlExpr,
return CheckAccess(*this, Ovl->getNameLoc(), Entity);
}
-Sema::AccessResult Sema::CheckBaseClassAccess(
- SourceLocation AccessLoc, CXXRecordDecl *Base, CXXRecordDecl *Derived,
- const CXXBasePath &Path, unsigned DiagID,
- llvm::function_ref<void(PartialDiagnostic &)> SetupPDiag, bool ForceCheck,
- bool ForceUnprivileged) {
+Sema::AccessResult Sema::CheckBaseClassAccess(SourceLocation AccessLoc,
+ QualType Base, QualType Derived,
+ const CXXBasePath &Path,
+ unsigned DiagID, bool ForceCheck,
+ bool ForceUnprivileged) {
if (!ForceCheck && !getLangOpts().AccessControl)
return AR_accessible;
if (Path.Access == AS_public)
return AR_accessible;
- AccessTarget Entity(Context, AccessTarget::Base, Base, Derived, Path.Access);
+ AccessTarget Entity(Context, AccessTarget::Base, Base->getAsCXXRecordDecl(),
+ Derived->getAsCXXRecordDecl(), Path.Access);
if (DiagID)
- SetupPDiag(Entity.setDiag(DiagID));
+ Entity.setDiag(DiagID) << Derived << Base;
if (ForceUnprivileged) {
switch (
@@ -1903,17 +1904,6 @@ Sema::AccessResult Sema::CheckBaseClassAccess(
return CheckAccess(*this, AccessLoc, Entity);
}
-Sema::AccessResult Sema::CheckBaseClassAccess(SourceLocation AccessLoc,
- QualType Base, QualType Derived,
- const CXXBasePath &Path,
- unsigned DiagID, bool ForceCheck,
- bool ForceUnprivileged) {
- return CheckBaseClassAccess(
- AccessLoc, Base->getAsCXXRecordDecl(), Derived->getAsCXXRecordDecl(),
- Path, DiagID, [&](PartialDiagnostic &PD) { PD << Derived << Base; },
- ForceCheck, ForceUnprivileged);
-}
-
void Sema::CheckLookupAccess(const LookupResult &R) {
assert(getLangOpts().AccessControl
&& "performing access check without access control");