diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-04-23 13:07:39 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-04-23 13:07:39 +0000 |
commit | 00b40d3f2fb8b2f9043daf3dd4558bff98346b3c (patch) | |
tree | d48af4c3cb69fada518349e2d467bf2c93c9eccf /lib/AST/DeclBase.cpp | |
parent | 1444aefa635ea46806bba1c7cbc01a85f6faff90 (diff) |
Revert "C++ doesn't really use "namespaces" for different kinds of names the same", which seems to break most C++ nightly test apps.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102174 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/DeclBase.cpp')
-rw-r--r-- | lib/AST/DeclBase.cpp | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/lib/AST/DeclBase.cpp b/lib/AST/DeclBase.cpp index b5aec0c512..61d22b9d70 100644 --- a/lib/AST/DeclBase.cpp +++ b/lib/AST/DeclBase.cpp @@ -231,28 +231,23 @@ unsigned Decl::getIdentifierNamespaceForKind(Kind DeclKind) { case CXXConstructor: case CXXDestructor: case CXXConversion: + case Typedef: case EnumConstant: case Var: case ImplicitParam: case ParmVar: case NonTypeTemplateParm: case ObjCMethod: + case ObjCInterface: case ObjCProperty: - return IDNS_Ordinary; - case ObjCCompatibleAlias: - case ObjCInterface: - return IDNS_Ordinary | IDNS_Type; - - case Typedef: - case UnresolvedUsingTypename: - case TemplateTypeParm: - return IDNS_Ordinary | IDNS_Type; + return IDNS_Ordinary; case UsingShadow: return 0; // we'll actually overwrite this later case UnresolvedUsingValue: + case UnresolvedUsingTypename: return IDNS_Ordinary | IDNS_Using; case Using: @@ -269,18 +264,15 @@ unsigned Decl::getIdentifierNamespaceForKind(Kind DeclKind) { case Record: case CXXRecord: case Enum: - return IDNS_Tag | IDNS_Type; + case TemplateTypeParm: + return IDNS_Tag; case Namespace: - case NamespaceAlias: - return IDNS_Namespace; - case FunctionTemplate: - return IDNS_Ordinary; - case ClassTemplate: case TemplateTemplateParm: - return IDNS_Ordinary | IDNS_Tag | IDNS_Type; + case NamespaceAlias: + return IDNS_Tag | IDNS_Ordinary; // Never have names. case Friend: |