]> git.saurik.com Git - apple/objc4.git/blame - test/load-parallel0.m
objc4-818.2.tar.gz
[apple/objc4.git] / test / load-parallel0.m
CommitLineData
13ba007e
A
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 "test.h"
10extern atomic_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 { \
17 atomic_fetch_add_explicit(&state, 1, memory_order_relaxed); \
18 usleep(10); } \
19 @end
20
21#define CLASS(n,nn) CLASS0(n,nn)
22
23CLASS(a,N)
24CLASS(b,N)
25CLASS(c,N)
26CLASS(d,N)
27CLASS(e,N)
28CLASS(f,N)
29CLASS(g,N)
30CLASS(h,N)
31CLASS(i,N)
32CLASS(j,N)
33CLASS(k,N)
34CLASS(l,N)
35CLASS(m,N)
36CLASS(n,N)
37CLASS(o,N)
38CLASS(p,N)
39CLASS(q,N)
40CLASS(r,N)
41CLASS(s,N)
42CLASS(t,N)
43CLASS(u,N)
44CLASS(v,N)
45CLASS(w,N)
46CLASS(x,N)
47CLASS(y,N)
48CLASS(z,N)