diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-01-07 01:17:43 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-01-07 01:17:43 +0000 |
| commit | 193eaf49120c473e47d458bad2e21b87859d6c79 (patch) | |
| tree | f64a50f237084b52a6391b571921dbae43c857e2 | |
| parent | fbe544e947bb22ce3cb4ae1d281f4c3f77fc5ecf (diff) | |
| download | bcm5719-llvm-193eaf49120c473e47d458bad2e21b87859d6c79.tar.gz bcm5719-llvm-193eaf49120c473e47d458bad2e21b87859d6c79.zip | |
Improve documentation comments for IdentifierNamespace values.
llvm-svn: 257008
| -rw-r--r-- | clang/include/clang/AST/DeclBase.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/include/clang/AST/DeclBase.h b/clang/include/clang/AST/DeclBase.h index 05b2a1280fa..2d6e84a68aa 100644 --- a/clang/include/clang/AST/DeclBase.h +++ b/clang/include/clang/AST/DeclBase.h @@ -113,6 +113,9 @@ public: /// Tags, declared with 'struct foo;' and referenced with /// 'struct foo'. All tags are also types. This is what /// elaborated-type-specifiers look for in C. + /// This also contains names that conflict with tags in the + /// same scope but that are otherwise ordinary names (non-type + /// template parameters and indirect field declarations). IDNS_Tag = 0x0002, /// Types, declared with 'struct foo', typedefs, etc. @@ -131,7 +134,7 @@ public: IDNS_Namespace = 0x0010, /// Ordinary names. In C, everything that's not a label, tag, - /// or member ends up here. + /// member, or function-local extern ends up here. IDNS_Ordinary = 0x0020, /// Objective C \@protocol. @@ -160,7 +163,9 @@ public: /// This declaration is a function-local extern declaration of a /// variable or function. This may also be IDNS_Ordinary if it - /// has been declared outside any function. + /// has been declared outside any function. These act mostly like + /// invisible friend declarations, but are also visible to unqualified + /// lookup within the scope of the declaring function. IDNS_LocalExtern = 0x0800 }; |

