summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-01-07 01:17:43 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-01-07 01:17:43 +0000
commit193eaf49120c473e47d458bad2e21b87859d6c79 (patch)
treef64a50f237084b52a6391b571921dbae43c857e2
parentfbe544e947bb22ce3cb4ae1d281f4c3f77fc5ecf (diff)
downloadbcm5719-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.h9
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
};
OpenPOWER on IntegriCloud