]> granicus.if.org Git - clang/commit
C++ doesn't really use "namespaces" for different kinds of names the same
authorJohn McCall <rjmccall@apple.com>
Fri, 23 Apr 2010 02:41:41 +0000 (02:41 +0000)
committerJohn McCall <rjmccall@apple.com>
Fri, 23 Apr 2010 02:41:41 +0000 (02:41 +0000)
commitd04efc98d08731e31bd73f430803acc5ffa9040a
tree36c82cdf6c12ed5f6ad07bc8b85b9267aaa7d9b2
parentd1aa800a19c956c72319025dd302ae78ed47f9ee
C++ doesn't really use "namespaces" for different kinds of names the same
way that C does.  Among other differences, elaborated type specifiers
are defined to skip "non-types", which, as you might imagine, does not
include typedefs.  Rework our use of IDNS masks to capture the semantics
of different kinds of declarations better, and remove most current lookup
filters.  Removing the last remaining filter is more complicated and will
happen in a separate patch.

Fixes PR 6885 as well some spectrum of unfiled bugs.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102164 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/DeclBase.h
include/clang/Basic/DiagnosticSemaKinds.td
lib/AST/ASTImporter.cpp
lib/AST/DeclBase.cpp
lib/Sema/SemaCodeComplete.cpp
lib/Sema/SemaDecl.cpp
lib/Sema/SemaLookup.cpp
test/CXX/basic/basic.lookup/basic.lookup.elab/p2.cpp [new file with mode: 0644]
test/CXX/class.access/class.friend/p1.cpp
test/CXX/temp/temp.decls/temp.friend/p1.cpp
test/SemaCXX/typedef-redecl.cpp