mirror of https://github.com/microsoft/clang.git
Restore warning to its original text when
certain familiy of methods have the wrong type. // rdar://14408244 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186111 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
97a03cf921
commit
f5200d6865
|
@ -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