Is there any syntactic sugar in IMCC for making a tail call? Right now, AFAICT, the trick is to do:
.pcc_begin .arg Foo .arg bar .pcc_call sub, P1 # Or whatever the syntax is to get # the current continuation .pcc_end But, looking at the PASM generated by pcc_4.imc (which is where I picked this up from) that doesn't seem to actually have any benefit because the resulting code still does a 'savetop' and an 'updatecc', both of which are utterly unnecessary for a tail call. As Dan's pointed out on IRC, having IMCC detect tail calls and automatically optimize them is a no no too, but it'd be very handy if there were some sugar to allow me to specify that it's a tail call (or a continuation invokation). How plausible is: foo(...), nosave or foo(...) nosave AFAICT the grammar should be able accommodate such changes to the syntax. Thoughts?