]> git.saurik.com Git - apple/objc4.git/blob - test/weak.h
objc4-787.1.tar.gz
[apple/objc4.git] / test / weak.h
1 /*
2 To test -weak-l or -weak-framework:
3 * -DWEAK_IMPORT=
4 * -DWEAK_FRAMEWORK=1
5 * -UEMPTY when building the weak-not-missing library
6 * -DEMPTY= when building the weak-missing library
7
8 To test attribute((weak_import)):
9 * -DWEAK_IMPORT=__attribute__((weak_import))
10 * -UWEAK_FRAMEWORK
11 * -UEMPTY when building the weak-not-missing library
12 * -DEMPTY= when building the weak-missing library
13
14 */
15
16 #include "test.h"
17 #include <objc/runtime.h>
18
19 extern int state;
20
21 WEAK_IMPORT OBJC_ROOT_CLASS
22 @interface MissingRoot {
23 id isa;
24 }
25 +(void) initialize;
26 +(Class) class;
27 +(id) alloc;
28 -(id) init;
29 -(void) dealloc;
30 +(int) method;
31 @end
32
33 @interface MissingRoot (RR)
34 -(id) retain;
35 -(void) release;
36 @end
37
38 WEAK_IMPORT
39 @interface MissingSuper : MissingRoot {
40 @public
41 int ivar;
42 }
43 @end
44
45 OBJC_ROOT_CLASS
46 @interface NotMissingRoot {
47 id isa;
48 }
49 +(void) initialize;
50 +(Class) class;
51 +(id) alloc;
52 -(id) init;
53 -(void) dealloc;
54 +(int) method;
55 @end
56
57 @interface NotMissingRoot (RR)
58 -(id) retain;
59 -(void) release;
60 @end
61
62 @interface NotMissingSuper : NotMissingRoot {
63 @public
64 int unused[100];
65 int ivar;
66 }
67 @end