# New Ticket Created by Klaas-Jan Stol # Please include the string: [perl #58070] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=58070 >
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