Name clashes between parrots PASM language and imccs PIR syntax did
prohibit the mix of both flavors. Additionally imcc used "ret" to end
subroutine parsing, which didn't allow multiple return statements in
one sub.

Therefore these changes were necessary:

Tossed:

- push var ... use .arg or .return or save
- pop var ... .param, .result,  restore
- ret (native)

Changed:

	.sub
	 ...
	ret

is now
	.sub
	...
	.end

Other resolved name clashes:

- if var, label
- unless var, label
- new var, .Type
- defined var, var
- clone var, var

Languages involved:
- perl6 (P6C/IMCC)
- cola
these are adapted accordingly

Further the commit contains one leftover piece from #18474 and the
proposed fix WRT the type clash on default action.

leo

Reply via email to