One more new IR:
-------------BEGINNING OF IR----------------
VHDL Issue Number: 2054
Language_Version VHDL-2002
Classification Language Definition Problem
Summary Individ. assoc. rules for array formal are not valid
Relevant_LRM_Sections 3.2.1.1 Index constraints and discrete ranges
Related_Issues
Key_Words_and_Phrases individual association, unconstrained array formal
Authors_Name James Unterburger
Authors_Phone_Number 503.685.0860
Authors_Fax_Number 503.685.0921
Authors_Email_Address jamesu@model.com
Authors_Affiliation Model Technology
Authors_Address1 8005 SW Boeckman Road
Authors_Address2 Wilsonville, OR 97070
Authors_Address3
Current Status: Submitted
Superseded By:
------------------------
Date Submitted: 6 January 2005
Date Analyzed:
Author of Analysis:
Revision Number: 0
Date Last Revised:
Description of Problem
----------------------
The rules for determining the index ranges of an interface object (or
member of an interface object) of an unconstrained array type and
whose subelements are associated individually are given in
3.2.1.1:
The directions of the index ranges of the formal [interface
object] are those of the base type of the formal; the high and
low bounds of the index ranges are respectively determined from
the maximum and minimum values of the indices given in the
association elements corresponding to the formal.
It is then further ("followup") stated that:
If the index ranges for an interface object or member of an
interface object are obtained from the corresponding
association element (when associating in whole) or elements
(when associating individually), then they are determined
either by the actual part(s) or by the formal part(s) of the
association element(s), depending upon the mode of the
interface object, as follows:
[For a formal of mode IN, INOUT, or LINKAGE, if the actual part
includes no conversion function or type conversion; likewise
for a formal of mode OUT, BUFFER, INOUT, or LINKAGE, if the
formal part includes no conversion function or type conversion,
then] the index ranges are obtained from the object {or value}
denoted by the actual designator(s).
This "followup" does not make sense for individual associations
because the actual designators do not have a corresponding index
range, they are instead elements of the formal's array type; the
index range(s) are already known as coming "from the maximum and
minimum values of the indices given in the association elements
corresponding to the formal".
Also, the requirement that the result type of a conversion
function or type mark of a type conversion (if present on the
formal and/or actual parts) be a constrained array subtype is not
applicable for individual association elements because they
represent elements of the formal's array type, which is not
necessarily of an array type itself.
Proposed Resolution
-------------------
1) Clarify that the direction of the base type of an array type is
in fact the direction of the index subtype of the array type at
a given index position.
2) Remove the references to individual associations in the
"followup" rules.
3) Clarify what the requirements are for individual associations
that have formal and/or actual parts that include conversion
functions and/or type conversions.
VASG-ISAC Analysis & Rationale
------------------------------
TBD
VASG-ISAC Recommendation for IEEE Std 1076-2002
-----------------------------------------------
TBD
VASG-ISAC Recommendation for Future Revisions
---------------------------------------------
TBD
-------------END OF IR----------------
Received on Thu Jan 6 18:40:15 2005
This archive was generated by hypermail 2.1.8 : Thu Jan 06 2005 - 18:40:16 PST