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 17 void 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