Closed polluks closed 1 year ago
It looks like compiler bug; from the C standard (ANSI/ISO 9899-1990):
6.8.6.4 The return statement ... If a return statement with an expression is executed, the value of the expression is returned to the caller as the value of the function call expression. If the expression has a type different from the return type of the function in which it appears, the value is converted as if by assignment to an object having the return type of the function. ...
I see. By the way my Amiga port seems to be broken, life.fe stops after a few iterations...
Did it work before the automatic endianess detection commit? I'm also tested it with qemu-m68k
and this works well.
I am not an Amiga expert, does it use 32-bit addresses and does it do 32-bit alignment?
I don't know. At least my favorite compiler vbcc failed always. This seems to be a compiler issue because gcc and clang work fine. An Amiga can only use 31-bit addresses and alignment says: no odd addresses.