diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2010-04-01 19:50:22 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-04-01 19:50:22 +0000 |
| commit | d603b54c554f12b6bebf71ebced774c2eb698bb7 (patch) | |
| tree | 17f4db0590dd5702eec7ec8f97842301ff4ec8b0 /clang/lib/AST/ASTContext.cpp | |
| parent | 38fc88ee5d822c1775fca0bdb2bf3499dc50a481 (diff) | |
| download | bcm5719-llvm-d603b54c554f12b6bebf71ebced774c2eb698bb7.tar.gz bcm5719-llvm-d603b54c554f12b6bebf71ebced774c2eb698bb7.zip | |
Relax the typesafty rules of block pointers types which
take'id' or return 'id' in their type. Fixes radar 7814131.
llvm-svn: 100129
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
| -rw-r--r-- | clang/lib/AST/ASTContext.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index 31c4370ad33..c77acce1bd0 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -4136,14 +4136,15 @@ bool ASTContext::canAssignObjCInterfaces(const ObjCObjectPointerType *LHSOPT, bool ASTContext::canAssignObjCInterfacesInBlockPointer( const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT) { - if (RHSOPT->isObjCBuiltinType()) + if (RHSOPT->isObjCBuiltinType() || + LHSOPT->isObjCIdType() || LHSOPT->isObjCQualifiedIdType()) return true; if (LHSOPT->isObjCBuiltinType()) { return RHSOPT->isObjCBuiltinType() || RHSOPT->isObjCQualifiedIdType(); } - if (LHSOPT->isObjCQualifiedIdType() || RHSOPT->isObjCQualifiedIdType()) + if (RHSOPT->isObjCQualifiedIdType()) return ObjCQualifiedIdTypesAreCompatible(QualType(LHSOPT,0), QualType(RHSOPT,0), false); |

