|  | // Objective-C recovery | 
|  | // RUN: cp %s %t | 
|  | // RUN: not %clang_cc1 -pedantic -Wall -fixit -x objective-c %t | 
|  | // RUN: %clang_cc1 -fsyntax-only -pedantic -Wall -Werror -x objective-c %t | 
|  |  | 
|  | // Objective-C++ recovery | 
|  | // RUN: cp %s %t | 
|  | // RUN: not %clang_cc1 -pedantic -Wall -fixit -x objective-c++ %t | 
|  | // RUN: %clang_cc1 -fsyntax-only -pedantic -Wall -Werror -x objective-c++ %t | 
|  |  | 
|  | @interface A | 
|  | - (int)method1:(int)x second:(float)y; | 
|  | + (int)method2:(int)x second:(double)y; | 
|  | - (int)getBlah; | 
|  | @end | 
|  |  | 
|  | void f(A *a, int i, int j) { | 
|  | a method1:5+2 second:+(3.14159)]; | 
|  | a method1:[a method1:3 second:j] second:i++] | 
|  | a getBlah]; | 
|  |  | 
|  | int array[17]; | 
|  | (void)array[a method1:5+2 second:+(3.14159)]]; | 
|  | (A method2:5+2 second:3.14159]); | 
|  | A method2:5+2 second:3.14159] | 
|  | if (A method2:5+2 second:3.14159]) { } | 
|  | } | 
|  |  | 
|  | @interface B : A | 
|  | - (int)method1:(int)x second:(float)y; | 
|  | @end | 
|  |  | 
|  | @implementation B | 
|  | - (int)method1:(int)x second:(float)y { | 
|  | super method1:x second:y]; | 
|  | return super getBlah]; | 
|  | } | 
|  | @end |