diff options
author | Ed Schouten <ed@FreeBSD.org> | 2009-06-03 21:11:25 +0000 |
---|---|---|
committer | Ed Schouten <ed@FreeBSD.org> | 2009-06-03 21:11:25 +0000 |
commit | 2659aeb5e51fe27d24bbffad0d1851b39fed5e43 (patch) | |
tree | f0e24d4185187f7d15274dee4bc53908e30f5b76 /lib/AST/ASTContext.cpp | |
parent | 922a2097733e49b869978a264837ad60eca82891 (diff) |
Notes
Diffstat (limited to 'lib/AST/ASTContext.cpp')
-rw-r--r-- | lib/AST/ASTContext.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp index 3b405267e8de..b36d1f3dbfa3 100644 --- a/lib/AST/ASTContext.cpp +++ b/lib/AST/ASTContext.cpp @@ -828,6 +828,13 @@ QualType ASTContext::getObjCGCQualType(QualType T, if (CanT.getObjCGCAttr() == GCAttr) return T; + if (T->isPointerType()) { + QualType Pointee = T->getAsPointerType()->getPointeeType(); + if (Pointee->isPointerType()) { + QualType ResultType = getObjCGCQualType(Pointee, GCAttr); + return getPointerType(ResultType); + } + } // If we are composing extended qualifiers together, merge together into one // ExtQualType node. unsigned CVRQuals = T.getCVRQualifiers(); |