2 Overwritten register in call to __z88dk_fastcall function pointer in struct.
9 #ifndef __SDCC_pdk14 // Lack of memory
12 int (*wobble
)(uint8_t *x
) __z88dk_fastcall __reentrant
;
15 struct wibble
*wubble
= &w
;
18 void foo(uint8_t minor
)
22 uint8_t *bar
= xp
+ minor
;
24 for(x
= 0; x
< 4; x
++) {
25 err
= wubble
->wobble(bar
);
33 int f(uint8_t *x
) __z88dk_fastcall __reentrant
42 int (*wobble2
)(uint32_t) __z88dk_fastcall __reentrant
;
45 struct wibble2
*wubble2
= &w2
;
48 void foo2(uint8_t minor
)
52 uint32_t *bar
= xp2
+ minor
;
54 for(x
= 0; x
< 4; x
++) {
55 err
= wubble2
->wobble2(*bar
);
57 wubble2
->wobble2(*bar
);
63 int f2(uint32_t x
) __z88dk_fastcall __reentrant
65 ASSERT(x
== 0x1155aa88);
73 #ifndef __SDCC_pdk14 // Lack of memory
79 wubble2
->wobble2
= &f2
;