forked from OSchip/llvm-project
Restore warning to its original text when
certain familiy of methods have the wrong type. // rdar://14408244 llvm-svn: 186111
This commit is contained in:
parent
621ca94358
commit
14e9541916
|
@ -4636,10 +4636,10 @@ getAssignmentAction(const InitializedEntity &Entity) {
|
|||
return Sema::AA_Passing;
|
||||
|
||||
case InitializedEntity::EK_Result:
|
||||
case InitializedEntity::EK_RelatedResult:
|
||||
return Sema::AA_Returning;
|
||||
|
||||
case InitializedEntity::EK_Temporary:
|
||||
case InitializedEntity::EK_RelatedResult:
|
||||
// FIXME: Can we tell apart casting vs. converting?
|
||||
return Sema::AA_Casting;
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ void test_inference() {
|
|||
@implementation Fail
|
||||
- (id<X>) initWithX // expected-note {{compiler has implicitly changed method 'initWithX' return type}}
|
||||
{
|
||||
return (id)self; // expected-warning {{returning 'Fail *' from a function with incompatible result type 'id<X>'}}
|
||||
return (id)self; // expected-warning {{casting 'Fail *' to incompatible type 'id<X>'}}
|
||||
}
|
||||
@end
|
||||
|
||||
|
@ -197,6 +197,6 @@ void test_inference() {
|
|||
+ (UIViewController<PMFilterManager> *)newFilterViewControllerForType // expected-note {{compiler has implicitly changed method 'newFilterViewControllerForType' return type}}
|
||||
{
|
||||
UIViewController<PMFilterManager> *filterVC;
|
||||
return filterVC; // expected-warning {{incompatible pointer types returning 'UIViewController *' from a function with result type 'UIViewController<PMFilterManager> *'}}
|
||||
return filterVC; // expected-warning {{incompatible pointer types casting 'UIViewController *' to type 'UIViewController<PMFilterManager> *'}}
|
||||
}
|
||||
@end
|
||||
|
|
Loading…
Reference in New Issue