diff options
-rw-r--r-- | lib/Sema/SemaObjCProperty.cpp | 4 | ||||
-rw-r--r-- | test/SemaObjC/property-category-3.m | 2 | ||||
-rw-r--r-- | test/SemaObjC/property-inherited.m | 4 |
3 files changed, 6 insertions, 4 deletions
diff --git a/lib/Sema/SemaObjCProperty.cpp b/lib/Sema/SemaObjCProperty.cpp index df95396ee4..063b4abfb2 100644 --- a/lib/Sema/SemaObjCProperty.cpp +++ b/lib/Sema/SemaObjCProperty.cpp @@ -936,9 +936,11 @@ Sema::DiagnosePropertyMismatch(ObjCPropertyDecl *Property, QualType ConvertedType; if (!isObjCPointerConversion(RHSType, LHSType, ConvertedType, IncompatibleObjC) || - IncompatibleObjC) + IncompatibleObjC) { Diag(Property->getLocation(), diag::warn_property_types_are_incompatible) << Property->getType() << SuperProperty->getType() << inheritedName; + Diag(SuperProperty->getLocation(), diag::note_property_declare); + } } } diff --git a/test/SemaObjC/property-category-3.m b/test/SemaObjC/property-category-3.m index 237de0f1f5..2a61d92724 100644 --- a/test/SemaObjC/property-category-3.m +++ b/test/SemaObjC/property-category-3.m @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -fsyntax-only -verify %s @protocol P - @property(readonly) int X; + @property(readonly) int X; // expected-note {{property declared here}} @end @protocol P1<P> diff --git a/test/SemaObjC/property-inherited.m b/test/SemaObjC/property-inherited.m index 11ef2befa9..f5f1b420c2 100644 --- a/test/SemaObjC/property-inherited.m +++ b/test/SemaObjC/property-inherited.m @@ -21,7 +21,7 @@ id _delegate; } @property(nonatomic, assign) id<FooDelegate> delegate; -@property(nonatomic, assign) id<BarDelegate> delegate2; +@property(nonatomic, assign) id<BarDelegate> delegate2; // expected-note {{property declared here}} @end @interface Bar : Foo { } @@ -36,7 +36,7 @@ @interface Base : NSData @property(assign) id ref; @property(assign) Base *p_base; -@property(assign) NSMutableData *p_data; +@property(assign) NSMutableData *p_data; // expected-note {{property declared here}} @end @interface Data : Base |