]> granicus.if.org Git - clang/commitdiff
Update ExtQuals comment to reflect the expansion of the fast qualifiers
authorDouglas Gregor <dgregor@apple.com>
Fri, 10 Dec 2010 10:08:30 +0000 (10:08 +0000)
committerDouglas Gregor <dgregor@apple.com>
Fri, 10 Dec 2010 10:08:30 +0000 (10:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121477 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/Type.h

index 65978bede87035091049111ab0fb28f32d1516dd..ccc732f61e4c89ed489cd9ee0652602ba4029f94 100644 (file)
@@ -327,20 +327,16 @@ private:
 };
 
 
-/// ExtQuals - We can encode up to three bits in the low bits of a
+/// ExtQuals - We can encode up to four bits in the low bits of a
 /// type pointer, but there are many more type qualifiers that we want
 /// to be able to apply to an arbitrary type.  Therefore we have this
 /// struct, intended to be heap-allocated and used by QualType to
 /// store qualifiers.
 ///
-/// The current design tags the 'const' and 'restrict' qualifiers in
-/// two low bits on the QualType pointer; a third bit records whether
-/// the pointer is an ExtQuals node.  'const' was chosen because it is
-/// orders of magnitude more common than the other two qualifiers, in
-/// both library and user code.  It's relatively rare to see
-/// 'restrict' in user code, but many standard C headers are saturated
-/// with 'restrict' declarations, so that representing them efficiently
-/// is a critical goal of this representation.
+/// The current design tags the 'const', 'restrict', and 'volatile' qualifiers 
+/// in three low bits on the QualType pointer; a fourth bit records whether
+/// the pointer is an ExtQuals node. The extended qualifiers (address spaces,
+/// Objective-C GC attributes) are much more rare.
 class ExtQuals : public llvm::FoldingSetNode {
   // NOTE: changing the fast qualifiers should be straightforward as
   // long as you don't make 'const' non-fast.