diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2010-03-05 22:42:55 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-03-05 22:42:55 +0000 |
| commit | d2bccafe825b600c21c9593006975fe622a402ae (patch) | |
| tree | b794bd30c2e1636868d41f04f1bb55881b3a92fc /clang/lib/AST/ASTContext.cpp | |
| parent | 65bb3116293d2a8e6938258e7dc00e078c1bb010 (diff) | |
| download | bcm5719-llvm-d2bccafe825b600c21c9593006975fe622a402ae.tar.gz bcm5719-llvm-d2bccafe825b600c21c9593006975fe622a402ae.zip | |
Patch to build qualifier on objective-c
pointer types. Fixes radar 7626768.
llvm-svn: 97847
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
| -rw-r--r-- | clang/lib/AST/ASTContext.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index e091bf10b62..d8c1c848582 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -2240,14 +2240,16 @@ static void SortAndUniqueProtocols(ObjCProtocolDecl **Protocols, /// the given interface decl and the conforming protocol list. QualType ASTContext::getObjCObjectPointerType(QualType InterfaceT, ObjCProtocolDecl **Protocols, - unsigned NumProtocols) { + unsigned NumProtocols, + unsigned Quals) { llvm::FoldingSetNodeID ID; ObjCObjectPointerType::Profile(ID, InterfaceT, Protocols, NumProtocols); + Qualifiers Qs = Qualifiers::fromCVRMask(Quals); void *InsertPos = 0; if (ObjCObjectPointerType *QT = ObjCObjectPointerTypes.FindNodeOrInsertPos(ID, InsertPos)) - return QualType(QT, 0); + return getQualifiedType(QualType(QT, 0), Qs); // Sort the protocol list alphabetically to canonicalize it. QualType Canonical; @@ -2282,7 +2284,7 @@ QualType ASTContext::getObjCObjectPointerType(QualType InterfaceT, Types.push_back(QType); ObjCObjectPointerTypes.InsertNode(QType, InsertPos); - return QualType(QType, 0); + return getQualifiedType(QualType(QType, 0), Qs); } /// getObjCInterfaceType - Return the unique reference to the type for the |

