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:
Fariborz Jahanian 2013-07-11 19:13:34 +00:00
parent 621ca94358
commit 14e9541916
2 changed files with 3 additions and 3 deletions

View File

@ -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;

View File

@ -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