Re: [sv-bc] Re: task/function actuals for mode "ref"

From: Greg Jaxon <Greg.Jaxon_at_.....>
Date: Wed Jan 16 2008 - 09:48:38 PST
By excluding slice-selection from t/f ref mode arguments is it your
intent to limit the kinds of selects available to those with constant
element indices?   If so, shouldn't dynamic bit selects also be illegal?

In conventional languages, call-by-reference fully evaluates the
an lvalue's selection expression before entering the task/function.
The reference that is passed consists of whatever offset, pointer,
or other access method conventionally refers to a certain fixed location.
In these languages, dynamic selection expressions are the key discriminant
between call-by-reference and call-by-name.

Can you expand on why scalar dynamic indexing is OK, but vector dynamic
indexing isn't in this case?  Or perhaps I've misunderstood the proposal...

Greg Jaxon

Gordon Vreugdenhil wrote:
> Based on some initial feedback, I've entered this as
> Mantis 2235 with the proposal attached and set it as
> a BC issue.
> 
> Gord
> 
> Gordon Vreugdenhil wrote:
>> At the last BC meeting, 2097 was discussed and I observed that
>> there is language related to ref modes that uses similar
>> terminology but for which a "wider" interpretation was expected.
>> I offered to write up a clarification.  I've attached a
>> first cut clarification below; if there is not objection, I
>> can enter a Mantis item with the proposal and we can see how/if
>> this can get into 1800.  At very least I want to make sure that
>> there is "intent agreement" on this.
>>
>> Gord
>>
>> ------------------------------------------------------------------------
>>
>> Section 13.5.2
>>
>> CHANGE:
>>
>>  
>>
>> The semantics of assignments to variables passed by reference is that
>> changes are seen outside the subroutine immediately (before the
>> subroutine returns). Only variables, not nets, can be passed by
>> reference.  Only variables, not nets, can be passed by reference.
>>
>>  
>>
>> TO:
>>
>> The semantics of assignments to variables passed by reference is that
>> changes are seen outside the subroutine immediately (before the
>> subroutine returns). Only variables, not nets, can be passed by
>> reference.  Only variables, not nets, can be passed by reference.
>>
>>  
>>
>> Only the following shall be legal to pass by reference:
>>
>> ·        a variable
>>
>> ·        a member select of a class property or  a member of an
>> unpacked structure
>>
>> ·        a non-slice indexed select of an unpacked array.
>>
>> Nets and selects into nets shall not be passed by reference.
>>
>>  
>>
> 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed Jan 16 09:49:07 2008

This archive was generated by hypermail 2.1.8 : Wed Jan 16 2008 - 09:50:59 PST