]> granicus.if.org Git - clang/commit
Propagate the "found declaration" (i.e. the using declaration instead of
authorJohn McCall <rjmccall@apple.com>
Tue, 30 Mar 2010 21:47:33 +0000 (21:47 +0000)
committerJohn McCall <rjmccall@apple.com>
Tue, 30 Mar 2010 21:47:33 +0000 (21:47 +0000)
commit6bb8017bb9e828d118e15e59d71c66bba323c364
treec642fbc5f1f809b4e97bc13e5b663d78b4f94200
parent366ed48c52dc813c82c3d780ee35a195ec05b3f4
Propagate the "found declaration" (i.e. the using declaration instead of
the underlying/instantiated decl) through a lot of API, including "intermediate"
MemberExprs required for (e.g.) template instantiation.  This is necessary
because of the access semantics of member accesses to using declarations:
only the base class *containing the using decl* need be accessible from the
naming class.

This allows us to complete an access-controlled selfhost, if there are no
recent regressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99936 91177308-0d34-0410-b5e6-96231b3b80d8
16 files changed:
include/clang/AST/Expr.h
lib/AST/Expr.cpp
lib/Sema/Sema.h
lib/Sema/SemaAccess.cpp
lib/Sema/SemaCXXCast.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExpr.cpp
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaInit.cpp
lib/Sema/SemaInit.h
lib/Sema/SemaOverload.cpp
lib/Sema/SemaStmt.cpp
lib/Sema/SemaTemplate.cpp
lib/Sema/SemaType.cpp
lib/Sema/TreeTransform.h
test/CXX/class.access/p4.cpp