Closed avsa242 closed 1 year ago
This seems only to be an issue with the P1 bytecode backend (-1bc). I'll look into it, I suspect it's related to the tangled attempt to derive types in the memory access code.
I fixed it so it compiles now; I'm not sure if the generated code is correct though, that still needs more investigation.
This only expands (or hopefully makes a bit clearer) the original contrived example I attached, but attached is an updated archive that tests the fix. It does indeed seem to work, at least in this case. I suppose top.spin could be made more dynamic - maybe a loop that fills x
number of grandchildren with some known values, and then reads them back to compare them, but this at least tests the basic functionality.
Thanks! Sounds like this bug is resolved then.
Stumped with this one...can't tell if I'm just not seeing something dumb I'm doing or if this is a genuine bug...
top.spin
fails to build with:I went way back to FlexSpins of mid-2021 vintage and they had the same issue, so it's nothing that was changed recently... If you remove either the call
r := sibling[ptr].main(4)
from child.spin or the declaration ofchild[2]: "grandchild"
(and the call to its method), the build succeeds, but both can't be present. Any ideas?