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