id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
1174	Disallow .local declarations in long-style call statement	kjs		"the current implementation for PIR allows one to declare .locals in a
.begin_call/.end_call sequence, after the .call directive, like so:

.begin_call
.arg 1
.arg 2
.call $P0
.local int a, b, c
.result a
.result b
.result c
.end_call

(this is short for (a, b, c) = $P0(1, 2) )

IMHO, the whole sequence of directives from .begin_call to .end_call should
be considered 1 statement; having .local declarations intermixed with
.result directives is a bit strange, because the .local directive itself is
not part of the sequence of directives to make the call.

Furthermore, the locals stay in scope after the .end_call directive.

I propose to disallow this language 'feature', and force the programmer to
write the above example as follows:

.local int a, b, c
.begin_call
.arg 1
.arg 2
.call $P0
.result a
.result b
.result c
.end_call

comments welcome.

kjs"	RFC	closed	normal		none		medium	wontfix					
