diff options
author | John McCall <rjmccall@apple.com> | 2009-07-28 05:41:20 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2009-07-28 05:41:20 +0000 |
commit | 7a1bcdf26d48c2c40e900a973f7ffca45f451526 (patch) | |
tree | a2b796e4fc82a6f7b6f25c8f5367b0d80020ebe3 /lib/AST/Type.cpp | |
parent | e7f9d301a10b4b3223e91d9be4362b44cba0a212 (diff) |
Reimplement QualifierSet using a single word, as requested by dgregor.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@77299 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Type.cpp')
-rw-r--r-- | lib/AST/Type.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/AST/Type.cpp b/lib/AST/Type.cpp index ef75b2b3c2..c27df1fe2c 100644 --- a/lib/AST/Type.cpp +++ b/lib/AST/Type.cpp @@ -1075,13 +1075,13 @@ TemplateSpecializationType::Profile(llvm::FoldingSetNodeID &ID, const Type *QualifierSet::strip(const Type* T) { QualType DT = T->getDesugaredType(); - CVRMask |= DT.getCVRQualifiers(); + addCVR(DT.getCVRQualifiers()); if (const ExtQualType* EQT = dyn_cast<ExtQualType>(DT)) { if (EQT->getAddressSpace()) - AddressSpace = EQT->getAddressSpace(); + addAddressSpace(EQT->getAddressSpace()); if (EQT->getObjCGCAttr()) - GCAttrType = EQT->getObjCGCAttr(); + addObjCGCAttrType(EQT->getObjCGCAttr()); return EQT->getBaseType(); } else { // Use the sugared type unless desugaring found extra qualifiers. @@ -1090,9 +1090,9 @@ const Type *QualifierSet::strip(const Type* T) { } QualType QualifierSet::apply(QualType QT, ASTContext& C) { - QT = QT.getWithAdditionalQualifiers(CVRMask); - if (GCAttrType) QT = C.getObjCGCQualType(QT, GCAttrType); - if (AddressSpace) QT = C.getAddrSpaceQualType(QT, AddressSpace); + QT = QT.getWithAdditionalQualifiers(getCVRMask()); + if (hasObjCGCAttrType()) QT = C.getObjCGCQualType(QT, getObjCGCAttrType()); + if (hasAddressSpace()) QT = C.getAddrSpaceQualType(QT, getAddressSpace()); return QT; } |