Commit | Line | Data |
---|---|---|
7f918cf1 CE |
1 | #include <assert.h> |
2 | ||
3 | #define PART_OF_M5 | |
4 | #include "m5.h" | |
5 | #include "m4.h" | |
6 | #define DYNAMIC_LINK_M3 | |
7 | #include "m3.h" | |
8 | ||
9 | extern EXTERNAL void* libm3cSymPublic; | |
10 | extern EXTERNAL void* libm3cFnPublic(void); | |
11 | extern EXTERNAL void* libm4cSymPublic; | |
12 | extern EXTERNAL void* libm4cFnPublic(void); | |
13 | ||
14 | PRIVATE void* libm5cSymPrivate = 0; | |
15 | PUBLIC void* libm5cSymPublic = 0; | |
16 | ||
17 | PRIVATE void* libm5cFnPrivate(void) { | |
18 | return &libm5cSymPrivate; | |
19 | } | |
20 | ||
21 | PUBLIC void* libm5cFnPublic(void) { | |
22 | return &libm5cSymPublic; | |
23 | } | |
24 | ||
25 | PRIVATE void libm5confirmC(void) { | |
26 | assert (&libm5smlFnPrivate == libm5smlSymPrivate); | |
27 | assert (&libm5smlFnPublic == libm5smlSymPublic); | |
28 | assert (&libm5cFnPrivate == libm5cSymPrivate); | |
29 | assert (&libm5cFnPublic == libm5cSymPublic); | |
30 | ||
31 | assert (libm5smlFnPrivate() == &libm5smlSymPrivate); | |
32 | assert (libm5smlFnPublic() == &libm5smlSymPublic); | |
33 | ||
34 | /* Check libm3 */ | |
35 | assert (&libm3smlFnPublic == libm3smlSymPublic); | |
36 | assert (&libm3cFnPublic == libm3cSymPublic); | |
37 | assert (libm3smlFnPublic() == &libm3smlSymPublic); | |
38 | assert (libm3cFnPublic() == &libm3cSymPublic); | |
39 | ||
40 | /* Check libm4 */ | |
41 | assert (&libm4smlFnPublic == libm4smlSymPublic); | |
42 | assert (&libm4cFnPublic == libm4cSymPublic); | |
43 | assert (libm4smlFnPublic() == &libm4smlSymPublic); | |
44 | assert (libm4cFnPublic() == &libm4cSymPublic); | |
45 | } |