diff options
author | Anders Carlsson <andersca@mac.com> | 2009-06-12 16:23:10 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-06-12 16:23:10 +0000 |
commit | 859ba504e754436e1ccf81f50800e5d2ea647447 (patch) | |
tree | 9740d7244f290a01ffcd04c59d90f8a7a1e797d5 /lib/Sema/SemaTemplateInstantiate.cpp | |
parent | 53454dc2c9c866d64677cdff74fdb13ee9f601f1 (diff) |
Deducation and instantiation of block types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@73232 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplateInstantiate.cpp')
-rw-r--r-- | lib/Sema/SemaTemplateInstantiate.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Sema/SemaTemplateInstantiate.cpp b/lib/Sema/SemaTemplateInstantiate.cpp index 964d3b1485..a7fdb59a20 100644 --- a/lib/Sema/SemaTemplateInstantiate.cpp +++ b/lib/Sema/SemaTemplateInstantiate.cpp @@ -274,9 +274,13 @@ TemplateTypeInstantiator::InstantiatePointerType(const PointerType *T, QualType TemplateTypeInstantiator::InstantiateBlockPointerType(const BlockPointerType *T, unsigned Quals) const { - // FIXME: Implement this - assert(false && "Cannot instantiate BlockPointerType yet"); - return QualType(); + QualType PointeeType = Instantiate(T->getPointeeType()); + if (PointeeType.isNull()) + return QualType(); + + QualType BlockTy = SemaRef.Context.getBlockPointerType(PointeeType); + + return BlockTy.getQualifiedType(Quals); } QualType |