# merged: tcc multi-return syntax (comma-separated rets); tcc single-return stays single via unified ret syntax; tcc del removes all ret.N slots from arbitrary-arity multi-ret
NAME=dlang multi-return loaded from sdb (legacy ret/ret2 keys)
FILE=bins/elf/ls
CMDS=<<EOF
tccj~{dlang.rets}
tccj~{dlang.signature}
tccj~{amd64.rets}
?e --
tcc r0,r1,r2 wasm3ret(a0)
tccj~{wasm3ret.rets}
tccj~{wasm3ret.signature}
tcc-wasm3ret
tcc~wasm3ret
?e --
tcc rax foo(rdi, rsi)
tccj~{foo.rets}
tccj~{foo.signature}
tcc-foo
tcc~foo
?e --
tcc r0,r1,r2,r3,r4 manyret(a0)
tccj~{manyret.rets}
tcc-manyret
tcc~manyret
EOF
EXPECT=<<EOF
["rax","rdx"]
rax:rdx dlang (rdi, rsi, rdx, rcx, r8d, r9d, stack);
["rax"]
--
["r0","r1","r2"]
r0:r1:r2 wasm3ret (a0);
--
["rax"]
rax foo (rdi, rsi);
--
["r0","r1","r2","r3","r4"]
EOF
RUN
