Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | #include <assert.h> |
2 | ||
3 | #define PART_OF_M4 | |
4 | #include "m4.h" | |
5 | #define STATIC_LINK_M3 | |
6 | #include "m3.h" | |
7 | #include "m2.h" | |
8 | #define DYNAMIC_LINK_M1 | |
9 | #include "m1.h" | |
10 | ||
11 | extern EXTERNAL void* libm1cSymPublic; | |
12 | extern EXTERNAL void* libm1cFnPublic(void); | |
13 | extern EXTERNAL void* libm2cSymPublic; | |
14 | extern EXTERNAL void* libm2cFnPublic(void); | |
15 | ||
16 | extern PUBLIC void* libm3cSymPublic; | |
17 | extern PUBLIC void* libm3cFnPublic(void); | |
18 | ||
19 | PRIVATE void* libm4cSymPrivate = 0; | |
20 | PUBLIC void* libm4cSymPublic = 0; | |
21 | ||
22 | PRIVATE void* libm4cFnPrivate(void) { | |
23 | return &libm4cSymPrivate; | |
24 | } | |
25 | ||
26 | PUBLIC void* libm4cFnPublic(void) { | |
27 | return &libm4cSymPublic; | |
28 | } | |
29 | ||
30 | PRIVATE void libm4confirmC(void) { | |
31 | assert (&libm4smlFnPrivate == libm4smlSymPrivate); | |
32 | assert (&libm4smlFnPublic == libm4smlSymPublic); | |
33 | assert (&libm4cFnPrivate == libm4cSymPrivate); | |
34 | assert (&libm4cFnPublic == libm4cSymPublic); | |
35 | ||
36 | assert (libm4smlFnPrivate() == &libm4smlSymPrivate); | |
37 | assert (libm4smlFnPublic() == &libm4smlSymPublic); | |
38 | ||
39 | /* Check libm1 */ | |
40 | assert (&libm1smlFnPublic == libm1smlSymPublic); | |
41 | assert (&libm1cFnPublic == libm1cSymPublic); | |
42 | assert (libm1smlFnPublic() == &libm1smlSymPublic); | |
43 | assert (libm1cFnPublic() == &libm1cSymPublic); | |
44 | ||
45 | /* Check libm2 */ | |
46 | assert (&libm2smlFnPublic == libm2smlSymPublic); | |
47 | assert (&libm2cFnPublic == libm2cSymPublic); | |
48 | assert (libm2smlFnPublic() == &libm2smlSymPublic); | |
49 | assert (libm2cFnPublic() == &libm2cSymPublic); | |
50 | ||
51 | /* Check libm3 */ | |
52 | assert (&libm3smlFnPublic == libm3smlSymPublic); | |
53 | assert (&libm3cFnPublic == libm3cSymPublic); | |
54 | assert (libm3smlFnPublic() == &libm3smlSymPublic); | |
55 | assert (libm3cFnPublic() == &libm3cSymPublic); | |
56 | } |