Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | #include <assert.h> |
2 | ||
3 | #define PART_OF_M3 | |
4 | #include "m3.h" | |
5 | #include "m2.h" | |
6 | #define DYNAMIC_LINK_M1 | |
7 | #include "m1.h" | |
8 | ||
9 | extern EXTERNAL void* libm1cSymPublic; | |
10 | extern EXTERNAL void* libm1cFnPublic(void); | |
11 | extern EXTERNAL void* libm2cSymPublic; | |
12 | extern EXTERNAL void* libm2cFnPublic(void); | |
13 | ||
14 | PRIVATE void* libm3cSymPrivate = 0; | |
15 | PUBLIC void* libm3cSymPublic = 0; | |
16 | ||
17 | PRIVATE void* libm3cFnPrivate(void) { | |
18 | return &libm3cSymPrivate; | |
19 | } | |
20 | ||
21 | PUBLIC void* libm3cFnPublic(void) { | |
22 | return &libm3cSymPublic; | |
23 | } | |
24 | ||
25 | PRIVATE void libm3confirmC(void) { | |
26 | assert (&libm3smlFnPrivate == libm3smlSymPrivate); | |
27 | assert (&libm3smlFnPublic == libm3smlSymPublic); | |
28 | assert (&libm3cFnPrivate == libm3cSymPrivate); | |
29 | assert (&libm3cFnPublic == libm3cSymPublic); | |
30 | ||
31 | assert (libm3smlFnPrivate() == &libm3smlSymPrivate); | |
32 | assert (libm3smlFnPublic() == &libm3smlSymPublic); | |
33 | ||
34 | /* Check libm1 */ | |
35 | assert (&libm1smlFnPublic == libm1smlSymPublic); | |
36 | assert (&libm1cFnPublic == libm1cSymPublic); | |
37 | assert (libm1smlFnPublic() == &libm1smlSymPublic); | |
38 | assert (libm1cFnPublic() == &libm1cSymPublic); | |
39 | ||
40 | /* Check libm2 */ | |
41 | assert (&libm2smlFnPublic == libm2smlSymPublic); | |
42 | assert (&libm2cFnPublic == libm2cSymPublic); | |
43 | assert (libm2smlFnPublic() == &libm2smlSymPublic); | |
44 | assert (libm2cFnPublic() == &libm2cSymPublic); | |
45 | } |