blob: 72728d20adc74d97ce413a7058937c6310cc552d [file] [log] [blame]
Douglas Gregor0fbda682010-09-15 14:51:05 +00001// Objective-C recovery
2// RUN: cp %s %t
3// RUN: %clang_cc1 -pedantic -Wall -fixit -x objective-c %t || true
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: %clang_cc1 -pedantic -Wall -fixit -x objective-c++ %t || true
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;
Douglas Gregorb65042d2010-09-15 14:54:45 +000014- (int)getBlah;
Douglas Gregor0fbda682010-09-15 14:51:05 +000015@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++]
Douglas Gregorb65042d2010-09-15 14:54:45 +000020 a getBlah];
Douglas Gregorfa885c12010-09-15 15:09:43 +000021
22 int array[17];
23 (void)array[a method1:5+2 second:+(3.14159)]];
Douglas Gregor0fbda682010-09-15 14:51:05 +000024}
Douglas Gregorfa885c12010-09-15 15:09:43 +000025
26@interface B : A
27- (int)method1:(int)x second:(float)y;
28@end
29
30@implementation B
31- (int)method1:(int)x second:(float)y {
32 super method1:x second:y];
33 return super getBlah];
34}
35@end