forked from OSchip/llvm-project
Change wording of warning about using __bridge casts in non-ARC.
llvm-svn: 150868
This commit is contained in:
parent
b54950bef4
commit
084e1b48a1
|
@ -330,8 +330,8 @@ let CategoryName = "ARC Parse Issue" in {
|
|||
def err_arc_bridge_retain : Error<
|
||||
"unknown cast annotation __bridge_retain; did you mean __bridge_retained?">;
|
||||
// To be default mapped to an error later.
|
||||
def err_arc_bridge_cast_nonarc : Warning<
|
||||
"'%0' casts are only allowed when using ARC">,
|
||||
def warn_arc_bridge_cast_nonarc : Warning<
|
||||
"'%0' casts have no effect when not using ARC">,
|
||||
InGroup<DiagGroup<"arc-bridge-casts-disallowed-in-nonarc">>;
|
||||
}
|
||||
|
||||
|
|
|
@ -1866,7 +1866,7 @@ Parser::ParseParenExpression(ParenParseOption &ExprType, bool stopIfCastExpr,
|
|||
StringRef BridgeCastName = Tok.getName();
|
||||
SourceLocation BridgeKeywordLoc = ConsumeToken();
|
||||
if (!PP.getSourceManager().isInSystemHeader(BridgeKeywordLoc))
|
||||
Diag(BridgeKeywordLoc, diag::err_arc_bridge_cast_nonarc)
|
||||
Diag(BridgeKeywordLoc, diag::warn_arc_bridge_cast_nonarc)
|
||||
<< BridgeCastName
|
||||
<< FixItHint::CreateReplacement(BridgeKeywordLoc, "");
|
||||
BridgeCast = false;
|
||||
|
|
|
@ -16,19 +16,19 @@ id CreateSomething();
|
|||
NSString *CreateNSString();
|
||||
|
||||
void from_cf() {
|
||||
id obj1 = (__bridge_transfer id)CFCreateSomething(); // expected-warning {{'__bridge_transfer' casts are only allowed when using ARC}}
|
||||
id obj2 = (__bridge_transfer NSString*)CFCreateString(); // expected-warning {{'__bridge_transfer' casts are only allowed when using ARC}}
|
||||
(__bridge int*)CFCreateSomething(); // expected-warning {{'__bridge' casts are only allowed when using ARC}} \
|
||||
id obj1 = (__bridge_transfer id)CFCreateSomething(); // expected-warning {{'__bridge_transfer' casts have no effect when not using ARC}}
|
||||
id obj2 = (__bridge_transfer NSString*)CFCreateString(); // expected-warning {{'__bridge_transfer' casts have no effect when not using ARC}}
|
||||
(__bridge int*)CFCreateSomething(); // expected-warning {{'__bridge' casts have no effect when not using ARC}} \
|
||||
// expected-warning {{expression result unused}}
|
||||
id obj3 = (__bridge id)CFGetSomething(); // expected-warning {{'__bridge' casts are only allowed when using ARC}}
|
||||
id obj4 = (__bridge NSString*)CFGetString(); // expected-warning {{'__bridge' casts are only allowed when using ARC}}
|
||||
id obj3 = (__bridge id)CFGetSomething(); // expected-warning {{'__bridge' casts have no effect when not using ARC}}
|
||||
id obj4 = (__bridge NSString*)CFGetString(); // expected-warning {{'__bridge' casts have no effect when not using ARC}}
|
||||
}
|
||||
|
||||
void to_cf(id obj) {
|
||||
CFTypeRef cf1 = (__bridge_retained CFTypeRef)CreateSomething(); // expected-warning {{'__bridge_retained' casts are only allowed when using ARC}}
|
||||
CFStringRef cf2 = (__bridge_retained CFStringRef)CreateNSString(); // expected-warning {{'__bridge_retained' casts are only allowed when using ARC}}
|
||||
CFTypeRef cf3 = (__bridge CFTypeRef)CreateSomething(); // expected-warning {{'__bridge' casts are only allowed when using ARC}}
|
||||
CFStringRef cf4 = (__bridge CFStringRef)CreateNSString(); // expected-warning {{'__bridge' casts are only allowed when using ARC}}
|
||||
CFTypeRef cf1 = (__bridge_retained CFTypeRef)CreateSomething(); // expected-warning {{'__bridge_retained' casts have no effect when not using ARC}}
|
||||
CFStringRef cf2 = (__bridge_retained CFStringRef)CreateNSString(); // expected-warning {{'__bridge_retained' casts have no effect when not using ARC}}
|
||||
CFTypeRef cf3 = (__bridge CFTypeRef)CreateSomething(); // expected-warning {{'__bridge' casts have no effect when not using ARC}}
|
||||
CFStringRef cf4 = (__bridge CFStringRef)CreateNSString(); // expected-warning {{'__bridge' casts have no effect when not using ARC}}
|
||||
}
|
||||
|
||||
void fixits() {
|
||||
|
|
Loading…
Reference in New Issue