mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-14 03:29:57 +00:00
objc-arc: Mention property's attribute by name when
finding life-time conflict with its declared ivar. // rdar://10007230 llvm-svn: 138659
This commit is contained in:
parent
fee8eda35b
commit
97b6ac5407
@ -2851,7 +2851,8 @@ def err_arc_strong_property_ownership : Error<
|
||||
"existing ivar %1 for strong property %0 may not be "
|
||||
"%select{|__unsafe_unretained||__weak}2">;
|
||||
def err_arc_assign_property_ownership : Error<
|
||||
"existing ivar %1 for unsafe_unretained property %0 must be __unsafe_unretained">;
|
||||
"existing ivar %1 for property %0 with %select{unsafe_unretained| assign}2 "
|
||||
"attribute must be __unsafe_unretained">;
|
||||
def err_arc_inconsistent_property_ownership : Error<
|
||||
"%select{strong|weak|unsafe_unretained}1 property %0 may not also be "
|
||||
"declared %select{|__unsafe_unretained|__strong|__weak|__autoreleasing}2">;
|
||||
|
@ -487,7 +487,9 @@ static void checkARCPropertyImpl(Sema &S, SourceLocation propertyImplLoc,
|
||||
case Qualifiers::OCL_Strong:
|
||||
S.Diag(propertyImplLoc, diag::err_arc_assign_property_ownership)
|
||||
<< property->getDeclName()
|
||||
<< ivar->getDeclName();
|
||||
<< ivar->getDeclName()
|
||||
<< ((property->getPropertyAttributesAsWritten()
|
||||
& ObjCPropertyDecl::OBJC_PR_assign) != 0);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -79,7 +79,7 @@
|
||||
|
||||
@implementation Gorf
|
||||
@synthesize x;
|
||||
@synthesize y; // expected-error {{existing ivar 'y' for unsafe_unretained property 'y' must be __unsafe_unretained}}
|
||||
@synthesize y; // expected-error {{existing ivar 'y' for property 'y' with assign attribute must be __unsafe_unretained}}
|
||||
@synthesize z;
|
||||
@end
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
|
||||
@implementation Gorf2
|
||||
@synthesize x;
|
||||
@synthesize y; // expected-error {{existing ivar 'y' for unsafe_unretained property 'y' must be __unsafe_unretained}}
|
||||
@synthesize y; // expected-error {{existing ivar 'y' for property 'y' with unsafe_unretained attribute must be __unsafe_unretained}}
|
||||
@synthesize z;
|
||||
@end
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user