From 55270e4bde91bd30d16086ae71f0f65caf3b8a51 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Fri, 10 Dec 2010 10:08:30 +0000 Subject: [PATCH] Update ExtQuals comment to reflect the expansion of the fast qualifiers git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121477 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/AST/Type.h | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/include/clang/AST/Type.h b/include/clang/AST/Type.h index 65978bede8..ccc732f61e 100644 --- a/include/clang/AST/Type.h +++ b/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. -- 2.40.0