blob: 1969faab3b81fd0fbcfc72567a630771013b249f [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 Gregor77328d12010-09-15 23:19:31 +000024 (A method2:5+2 second:3.14159])
Douglas Gregor0fbda682010-09-15 14:51:05 +000025}
Douglas Gregorfa885c12010-09-15 15:09:43 +000026
27@interface B : A
28- (int)method1:(int)x second:(float)y;
29@end
30
31@implementation B
32- (int)method1:(int)x second:(float)y {
33 super method1:x second:y];
34 return super getBlah];
35}
36@end