diff options
author | John McCall <rjmccall@apple.com> | 2011-09-21 08:36:56 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-09-21 08:36:56 +0000 |
commit | 30909031a7f766a758b991891bc1678e7da82777 (patch) | |
tree | 4ee5cd52a9624d7a45331b894120b03cf955e7c4 /clang/lib/Sema/SemaExprCXX.cpp | |
parent | 9cb88ec8d17d0778bdc9ea92100ac659c22aad67 (diff) | |
download | bcm5719-llvm-30909031a7f766a758b991891bc1678e7da82777.tar.gz bcm5719-llvm-30909031a7f766a758b991891bc1678e7da82777.zip |
Enforce access control for conversion operators used in contextual
conversions (rather than just call-arguments).
llvm-svn: 140244
Diffstat (limited to 'clang/lib/Sema/SemaExprCXX.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprCXX.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index 98f96bc68da..1741bdb1efa 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -2065,7 +2065,7 @@ static ExprResult BuildCXXCastArgument(Sema &S, QualType Ty, CastKind Kind, CXXMethodDecl *Method, - NamedDecl *FoundDecl, + DeclAccessPair FoundDecl, Expr *From) { switch (Kind) { default: assert(0 && "Unhandled cast kind!"); @@ -2096,6 +2096,8 @@ static ExprResult BuildCXXCastArgument(Sema &S, if (Result.isInvalid()) return ExprError(); + S.CheckMemberOperatorAccess(CastLoc, From, /*arg*/ 0, FoundDecl); + return S.MaybeBindToTemporary(Result.get()); } } |