• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// RUN: %clang_cc1 %s -fsyntax-only -verify
2
3@interface Test {
4   int x;
5}
6
7-(void) setX: (int) d;
8@end
9
10extern struct foo x;
11
12@implementation Test
13
14-(void) setX: (int) n {
15   x = n;
16}
17
18@end
19
20@interface Ivar
21- (float*)method;
22@end
23
24@interface A {
25  A *Ivar;
26}
27- (int*)method;
28@end
29
30@implementation A
31- (int*)method {
32  int *ip = [Ivar method]; // expected-warning{{warning: incompatible pointer types initializing 'int *' with an expression of type 'float *'}}
33                           // Note that there is no warning in Objective-C++
34  return 0;
35}
36@end
37
38@interface TwoIvars {
39  int a;
40  int b;
41}
42@end
43
44@implementation TwoIvars
45+ (int)classMethod {
46  return a + b; // expected-error{{instance variable 'a' accessed in class method}} \
47  // expected-error{{instance variable 'b' accessed in class method}}
48}
49@end
50