8 #define DYNAMIC_LINK_M1
11 extern EXTERNAL
void* libm1cSymPublic
;
12 extern EXTERNAL
void* libm1cFnPublic(void);
13 extern EXTERNAL
void* libm2cSymPublic
;
14 extern EXTERNAL
void* libm2cFnPublic(void);
16 extern PUBLIC
void* libm3cSymPublic
;
17 extern PUBLIC
void* libm3cFnPublic(void);
19 PRIVATE
void* libm4cSymPrivate
= 0;
20 PUBLIC
void* libm4cSymPublic
= 0;
22 PRIVATE
void* libm4cFnPrivate(void) {
23 return &libm4cSymPrivate
;
26 PUBLIC
void* libm4cFnPublic(void) {
27 return &libm4cSymPublic
;
30 PRIVATE
void libm4confirmC(void) {
31 assert (&libm4smlFnPrivate
== libm4smlSymPrivate
);
32 assert (&libm4smlFnPublic
== libm4smlSymPublic
);
33 assert (&libm4cFnPrivate
== libm4cSymPrivate
);
34 assert (&libm4cFnPublic
== libm4cSymPublic
);
36 assert (libm4smlFnPrivate() == &libm4smlSymPrivate
);
37 assert (libm4smlFnPublic() == &libm4smlSymPublic
);
40 assert (&libm1smlFnPublic
== libm1smlSymPublic
);
41 assert (&libm1cFnPublic
== libm1cSymPublic
);
42 assert (libm1smlFnPublic() == &libm1smlSymPublic
);
43 assert (libm1cFnPublic() == &libm1cSymPublic
);
46 assert (&libm2smlFnPublic
== libm2smlSymPublic
);
47 assert (&libm2cFnPublic
== libm2cSymPublic
);
48 assert (libm2smlFnPublic() == &libm2smlSymPublic
);
49 assert (libm2cFnPublic() == &libm2cSymPublic
);
52 assert (&libm3smlFnPublic
== libm3smlSymPublic
);
53 assert (&libm3cFnPublic
== libm3cSymPublic
);
54 assert (libm3smlFnPublic() == &libm3smlSymPublic
);
55 assert (libm3cFnPublic() == &libm3cSymPublic
);