aboutsummaryrefslogtreecommitdiff
path: root/include/clang/AST/DeclBase.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2008-04-13 21:07:44 +0000
committerDouglas Gregor <dgregor@apple.com>2008-04-13 21:07:44 +0000
commit2ce52f3fb95bf544db6bd3d91a72bce7d9cceb6c (patch)
tree733d57759dcbbc4c20909f051db94a367d6914f8 /include/clang/AST/DeclBase.h
parentd98d975ccdce7ec442ac26f682404cb71df40ff8 (diff)
Introduce support for finding class and enum names via ordinary name lookup in C++
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49621 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/AST/DeclBase.h')
-rw-r--r--include/clang/AST/DeclBase.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/include/clang/AST/DeclBase.h b/include/clang/AST/DeclBase.h
index 058cb9223c..a5c1cb29ec 100644
--- a/include/clang/AST/DeclBase.h
+++ b/include/clang/AST/DeclBase.h
@@ -80,12 +80,14 @@ public:
};
/// IdentifierNamespace - According to C99 6.2.3, there are four namespaces,
- /// labels, tags, members and ordinary identifiers.
+ /// labels, tags, members and ordinary identifiers. These are meant
+ /// as bitmasks, so that searches in C++ can look into the "tag" namespace
+ /// during ordinary lookup.
enum IdentifierNamespace {
- IDNS_Label,
- IDNS_Tag,
- IDNS_Member,
- IDNS_Ordinary
+ IDNS_Label = 0x1,
+ IDNS_Tag = 0x2,
+ IDNS_Member = 0x4,
+ IDNS_Ordinary = 0x8
};
/// ObjCDeclQualifier - Qualifier used on types in method declarations