]> granicus.if.org Git - clang/commit
Remember the "found declaration" for an overload candidate, which is the
authorJohn McCall <rjmccall@apple.com>
Fri, 19 Mar 2010 07:35:19 +0000 (07:35 +0000)
committerJohn McCall <rjmccall@apple.com>
Fri, 19 Mar 2010 07:35:19 +0000 (07:35 +0000)
commit9aa472c45d2bd81b7b52c225e8acc560d716db97
tree9707af8aa3f84c899e0588d40aec11738ac6d9a3
parent5de65721bd31e57f883634d9f10b1bff75c4ffc2
Remember the "found declaration" for an overload candidate, which is the
entity (if applicable) which was actually looked up.  If a candidate was found
via a using declaration, this is the UsingShadowDecl;  otherwise, if
the candidate is template specialization, this is the template;  otherwise,
this is the function.

The point of this exercise is that "found declarations" are the entities
we do access control for, not their underlying declarations.  Broadly speaking,
this patch fixes access control for using declarations.

There is a *lot* of redundant code calling into the overload-resolution APIs;
we really ought to clean that up.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98945 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/UnresolvedSet.h
lib/Sema/Sema.h
lib/Sema/SemaAccess.cpp
lib/Sema/SemaCodeComplete.cpp
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaExprCXX.cpp
lib/Sema/SemaInit.cpp
lib/Sema/SemaInit.h
lib/Sema/SemaOverload.cpp
lib/Sema/SemaOverload.h