1#ifndef N
2#error -DN=n missing
3#endif
4
5#import <objc/objc-api.h>
6#include <stdio.h>
7#include <sched.h>
8#include <unistd.h>
9#include <libkern/OSAtomic.h>
10extern int state;
11
12#define CLASS0(n,nn)                                                    \
13    OBJC_ROOT_CLASS                                                     \
14    @interface C_##n##_##nn @end                                        \
15    @implementation C_##n##_##nn                                        \
16    +(void)load { OSAtomicIncrement32(&state); usleep(10); }            \
17    @end
18
19#define CLASS(n,nn) CLASS0(n,nn)
20
21CLASS(a,N)
22CLASS(b,N)
23CLASS(c,N)
24CLASS(d,N)
25CLASS(e,N)
26CLASS(f,N)
27CLASS(g,N)
28CLASS(h,N)
29CLASS(i,N)
30CLASS(j,N)
31CLASS(k,N)
32CLASS(l,N)
33CLASS(m,N)
34CLASS(n,N)
35CLASS(o,N)
36CLASS(p,N)
37CLASS(q,N)
38CLASS(r,N)
39CLASS(s,N)
40CLASS(t,N)
41CLASS(u,N)
42CLASS(v,N)
43CLASS(w,N)
44CLASS(x,N)
45CLASS(y,N)
46CLASS(z,N)
47