diff options
| author | John McCall <rjmccall@apple.com> | 2010-01-27 01:50:18 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2010-01-27 01:50:18 +0000 |
| commit | 58cc69d4c15169e49733313221ec63f1b61efb41 (patch) | |
| tree | 0a80bb496433573ee1279b264eee20d9043b3ab9 /clang/lib/Sema/Sema.h | |
| parent | 820a318c5512b0560c070eda6f07e3bca3679824 (diff) | |
| download | bcm5719-llvm-58cc69d4c15169e49733313221ec63f1b61efb41.tar.gz bcm5719-llvm-58cc69d4c15169e49733313221ec63f1b61efb41.zip | |
Implement access control for overloaded functions. Suppress access control
diagnostics in "early" lookups, such as during typename checks and when building
unresolved lookup expressions.
llvm-svn: 94647
Diffstat (limited to 'clang/lib/Sema/Sema.h')
| -rw-r--r-- | clang/lib/Sema/Sema.h | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/clang/lib/Sema/Sema.h b/clang/lib/Sema/Sema.h index d041f54a023..86d867858ba 100644 --- a/clang/lib/Sema/Sema.h +++ b/clang/lib/Sema/Sema.h @@ -60,6 +60,7 @@ namespace clang { class CallExpr; class DeclRefExpr; class UnresolvedLookupExpr; + class UnresolvedMemberExpr; class VarDecl; class ParmVarDecl; class TypedefDecl; @@ -2376,8 +2377,14 @@ public: CXXBasePaths &Paths, bool NoPrivileges = false); - void CheckAccess(const LookupResult &R); + bool CheckUnresolvedMemberAccess(UnresolvedMemberExpr *E, + NamedDecl *D, + AccessSpecifier Access); + bool CheckUnresolvedLookupAccess(UnresolvedLookupExpr *E, + NamedDecl *D, + AccessSpecifier Access); bool CheckAccess(const LookupResult &R, NamedDecl *D, AccessSpecifier Access); + void CheckAccess(const LookupResult &R); bool CheckBaseClassAccess(QualType Derived, QualType Base, unsigned InaccessibleBaseID, @@ -2882,14 +2889,13 @@ public: FunctionTemplateDecl *getMoreSpecializedTemplate(FunctionTemplateDecl *FT1, FunctionTemplateDecl *FT2, TemplatePartialOrderingContext TPOC); - FunctionDecl *getMostSpecialized(FunctionDecl **Specializations, - unsigned NumSpecializations, - TemplatePartialOrderingContext TPOC, - SourceLocation Loc, - const PartialDiagnostic &NoneDiag, - const PartialDiagnostic &AmbigDiag, - const PartialDiagnostic &CandidateDiag, - unsigned *Index = 0); + UnresolvedSetIterator getMostSpecialized(UnresolvedSetIterator SBegin, + UnresolvedSetIterator SEnd, + TemplatePartialOrderingContext TPOC, + SourceLocation Loc, + const PartialDiagnostic &NoneDiag, + const PartialDiagnostic &AmbigDiag, + const PartialDiagnostic &CandidateDiag); ClassTemplatePartialSpecializationDecl * getMoreSpecializedPartialSpecialization( |

