1*f4a2713aSLionel Sambuc// Objective-C recovery 2*f4a2713aSLionel Sambuc// RUN: cp %s %t 3*f4a2713aSLionel Sambuc// RUN: not %clang_cc1 -pedantic -Wall -fixit -x objective-c %t 4*f4a2713aSLionel Sambuc// RUN: %clang_cc1 -fsyntax-only -pedantic -Wall -Werror -x objective-c %t 5*f4a2713aSLionel Sambuc 6*f4a2713aSLionel Sambuc// Objective-C++ recovery 7*f4a2713aSLionel Sambuc// RUN: cp %s %t 8*f4a2713aSLionel Sambuc// RUN: not %clang_cc1 -pedantic -Wall -fixit -x objective-c++ %t 9*f4a2713aSLionel Sambuc// RUN: %clang_cc1 -fsyntax-only -pedantic -Wall -Werror -x objective-c++ %t 10*f4a2713aSLionel Sambuc 11*f4a2713aSLionel Sambuc@interface A 12*f4a2713aSLionel Sambuc- (int)method1:(int)x second:(float)y; 13*f4a2713aSLionel Sambuc+ (int)method2:(int)x second:(double)y; 14*f4a2713aSLionel Sambuc- (int)getBlah; 15*f4a2713aSLionel Sambuc@end 16*f4a2713aSLionel Sambuc 17*f4a2713aSLionel Sambucvoid f(A *a, int i, int j) { 18*f4a2713aSLionel Sambuc a method1:5+2 second:+(3.14159)]; 19*f4a2713aSLionel Sambuc a method1:[a method1:3 second:j] second:i++] 20*f4a2713aSLionel Sambuc a getBlah]; 21*f4a2713aSLionel Sambuc 22*f4a2713aSLionel Sambuc int array[17]; 23*f4a2713aSLionel Sambuc (void)array[a method1:5+2 second:+(3.14159)]]; 24*f4a2713aSLionel Sambuc (A method2:5+2 second:3.14159]); 25*f4a2713aSLionel Sambuc A method2:5+2 second:3.14159] 26*f4a2713aSLionel Sambuc if (A method2:5+2 second:3.14159]) { } 27*f4a2713aSLionel Sambuc} 28*f4a2713aSLionel Sambuc 29*f4a2713aSLionel Sambuc@interface B : A 30*f4a2713aSLionel Sambuc- (int)method1:(int)x second:(float)y; 31*f4a2713aSLionel Sambuc@end 32*f4a2713aSLionel Sambuc 33*f4a2713aSLionel Sambuc@implementation B 34*f4a2713aSLionel Sambuc- (int)method1:(int)x second:(float)y { 35*f4a2713aSLionel Sambuc super method1:x second:y]; 36*f4a2713aSLionel Sambuc return super getBlah]; 37*f4a2713aSLionel Sambuc} 38*f4a2713aSLionel Sambuc@end 39