Re: Phix: float32 return value
- Posted by andreasWagner 5 days ago
- 103 views
Hallo,
Right, the improvements list for 1.0.6 is currently at 156 lines long, so my pttree.e is probably a bit mangled vs yours.
The intention was not to change T_swi (which should be the very last call to tt_stringF() in that file) but to "add 8" or
whatever it actually needs, so I'd take a (blind) stab at 5964 next. No biggie. If you really get stuck you'll have to wait
until 1.0.6 ships, but that's at least a few months off yet.
i did this, T_swi is not in pttree.e (from the 1.0.5 release):
pttree.e
begining with line 1271 this:
global constant T_swi = 5956 tt_stringF("swi",T_swi)
global constant T_movss = 5964 tt_stringF("movss",T_movss)
p p worked.
then this in pilasm.e (also from the 1.0.5 release):
pilasm.e
line 4337:
-- elsif ttidx=T_movsd then
elsif ttidx=T_movsd
or ttidx=T_movss then
op = iff(ttidx=T_movsd?0o362:0o363) -- 64-bit move (as per movsb, movsw, movsd)
line 4301: -- s5 &= {0o362,0o017,0o020}
s5 &= {op,0o017,0o020}
line 4311 -- s5 &= {0o362,0o017,0o021}
s5 &= {op,0o017,0o021}
p p now gives this.
D:\testpool\ray_workplace\Phix\pilasm.e:4338
elsif ttidx=T_movsd or ttidx=T_movss then op = iff(ttidx=T_movsd?..
^ duplicate case value [3364, il offset:2791]
I think your local copy of Phix is probably very different from the release version. But thanks for the quick response. It shows that Phix is still alive and being maintained.
Edit:I have found a temporary workaround. I have changed raylib; the return value is now int. That is sufficient for the two examples I have ported for phix and which use the function. Now I can continue until the next problems arise.

