Ballot comment 232 (Mantis item 652) about automatic variable lifetimes is closely related to my Mantis item 409 (ballot comment 10?). Both of these are about subprocesses being able to reference an automatic variable via ref arguments, after the lifetime of the automatic has expired. In Mantis item 652, the subprocesses are join_any/join_none, while in Mantis item 409, the subprocesses are nonblocking assignments and procedural continuous assignments. Since the approach to fixing 652 was to put restrictions on the subprocesses rather than the variables passed by reference, presumably a similar approach is required for 409. A comparable set of restrictions would be to forbid ref argument formals in the same places that automatics are forbidden in 1364-2001 (LHS of nonblocking assignments or procedural continuous assignments, RHS of procedural continuous assignments or force statements, intra-assignment event controls of nonblocking assignments, and as arguments to such system tasks as $monitor and $dumpvars). However, it could be considered that the restriction for ballot issue 235 (Mantis item 666) already resolves Mantis item 409, as a side effect. That restriction ensures that all ref argument formals are automatic variables. If we conclude that they are therefore illegal anywhere automatics are forbidden, then the problem situations are already forbidden. Is this restriction sufficiently clear, or is there a need for a more explicit restriction? One concern I would have with relying on this is that we might end up relaxing the restriction in Mantis 666. If that happened, someone would have to remember that we were relying on this restriction to resolve 409 also. We would then have to go back and put in more explicit restrictions on ref argument formals. Steven Sharp sharp@cadence.comReceived on Wed Apr 13 16:13:25 2005
This archive was generated by hypermail 2.1.8 : Wed Apr 13 2005 - 16:14:21 PDT