summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-12-10 10:08:30 +0000
committerDouglas Gregor <dgregor@apple.com>2010-12-10 10:08:30 +0000
commita7c04718805a1a0dc4bd95c2f1640d48ec463e7f (patch)
tree134ddcd59d62ee8bd8bb0b2462068323dca37a4b
parente737e261449c0d84c1d38c7cbff467a586d56247 (diff)
downloadbcm5719-llvm-a7c04718805a1a0dc4bd95c2f1640d48ec463e7f.tar.gz
bcm5719-llvm-a7c04718805a1a0dc4bd95c2f1640d48ec463e7f.zip
Update ExtQuals comment to reflect the expansion of the fast qualifiers
llvm-svn: 121477
-rw-r--r--clang/include/clang/AST/Type.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/clang/include/clang/AST/Type.h b/clang/include/clang/AST/Type.h
index 65978bede87..ccc732f61e4 100644
--- a/clang/include/clang/AST/Type.h
+++ b/clang/include/clang/AST/Type.h
@@ -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.
OpenPOWER on IntegriCloud