]> granicus.if.org Git - clang/commitdiff
Improve documentation comments for IdentifierNamespace values.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 7 Jan 2016 01:17:43 +0000 (01:17 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 7 Jan 2016 01:17:43 +0000 (01:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@257008 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/DeclBase.h

index 05b2a1280fab8676cb1fa2b007272ed03aadfe6a..2d6e84a68aa5b787f53b09c17c12a4e79352e638 100644 (file)
@@ -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
   };