aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaObjCProperty.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema/SemaObjCProperty.cpp')
-rw-r--r--lib/Sema/SemaObjCProperty.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Sema/SemaObjCProperty.cpp b/lib/Sema/SemaObjCProperty.cpp
index 42a5c9d0e8..9d849ff74f 100644
--- a/lib/Sema/SemaObjCProperty.cpp
+++ b/lib/Sema/SemaObjCProperty.cpp
@@ -281,7 +281,10 @@ Sema::HandlePropertyInClassExtension(Scope *S,
QualType ConvertedType;
// Relax the strict type matching for property type in continuation class.
// Allow property object type of continuation class to be different as long
- // as it narrows the object type in its primary class property.
+ // as it narrows the object type in its primary class property. Note that
+ // this conversion is safe only because the wider type is for a 'readonly'
+ // property in primary class and 'narrowed' type for a 'readwrite' property
+ // in continuation class.
if (!isa<ObjCObjectPointerType>(PIDecl->getType()) ||
!isa<ObjCObjectPointerType>(PDecl->getType()) ||
(!isObjCPointerConversion(PDecl->getType(), PIDecl->getType(),