-------------BEGINNING OF IR---------------- VHDL Issue Number: 2077 Language_Version: VHDL-2002 Classification: LRM Terminology, Grammar and Typographical Errors Summary: Incorrect wording on some language constructs Relevant_LRM_Sections: 3.3, 3.5.1, perhaps others Related_Issues: 2029, 2061 Key_Words_and_Phrases: Authors_Name: Chuck Swart Authors_Phone_Number: 503.685.0846 Authors_Fax_Number: 503.685.0921 Authors_Email_Address: cswart@model.com Authors_Affiliation: Model Technology Authors_Address1: 8005 SW Boeckman Road Authors_Address2: Wilsonville, OR 97070 Authors_Address3: Current Status: VASG-Approved Superseded By: ------------------------ Date Submitted: 15 November 2005 Date Analyzed: 01 March 2006 Author of Analysis: Larry Soule Revision Number: 4 Date Last Revised: 04 May 2006 Description of Problem --------------------- (Submitted from comments by Alex Zamfirescu) In several places the LRM wording is inaccurate. Here are several examples: Section 3.3 "The designated type must not be a file type or a protected type; moreover it must not have a subelement that is a file type or a protected type." This should be: "...it must not have a subelement that is a file type or a protected type." Section 3.5.1 "... moreover, they must not have a subelement that is an access type or a file type." This should be: "... moreover, they must not have a subelement that is an access type or a file type." Also, "... moreover, it must not have a subelement that is an access type or a file type." This should be: "... moreover, it must not have a subelement that is an access type or a file type." Section 4.3.1.1 "Such formal parameters must not be of an access type or a file type; moreover, they must not have a subelement that is an access type. Additionally, in the case of a function subprogram, the return type of the function must not be of an access type or a file type; moreover, it must not have a subelement that is an access type." This should be: "Such formal parameters must not be of an access type or a file type; moreover, they must not have a subelement that is an access type. Additionally, in the case of a function subprogram, the return type of the function must not be of an access type or a file type; moreover, it must not have a subelement that is an access type." Section 4.3.1.2 "It is an error if a signal declaration declares a signal that is of a file type, a protected type, or a composite type having a subelement that is a file type, an access type, or a protected type." This should be "It is an error if a signal declaration declares a signal that is of a file type, a protected type, or a composite type having a subelement that is a file type, an access type, or a protected type." Section 4.4 "It is an error if the type mark denotes an access type, a file type, a protected type, or a composite type with a subelement that is an access type, a file type, or a protected type." This should be "It is an error if the type mark denotes an access type, a file type, a protected type, or a composite type with a subelement that is an access type, a file type, or a protected type." Similar changes are needed to incorporate IR2029 Section 8.2 "Evaluation of an assertion statement consists of evaluation of the Boolean expression..." This should be "Execution of an assertion statement consists of evaluation of the Boolean expression..." Section 8.3 "The evaluation of a report statement consists of the evaluation of the report expression..." This should be "The execution of a report statement consists of the evaluation of the report expression..." Proposed Resolution ------------------- Update the language as above and as outlined in the Analysis below. VASG-ISAC Analysis & Rationale ------------------------------ Searching for "subelement that is a" yields: 4.3.1.1 It is an error if a constant declaration declares a constant that is of a file type, an access type, a protected type, or a composite type that has a subelement that is a file type, an access type, or a protected type. Should be It is an error if a constant declaration declares a constant that is of a file type, an access type, a protected type, or a composite type that has a subelement that is a file type, an access type, or a protected type. 4.3.2 For an interface constant declaration or an interface signal declaration, the subtype indication must define a subtype that is neither a file type, an access type, nor a protected type. Moreover, the subtype indication must not denote a composite type with a subelement that is a file type, an access type, or a protected type. Should be For an interface constant declaration or an interface signal declaration, the subtype indication must define a subtype that is neither a file type, an access type, nor a protected type. Moreover, the subtype indication must not denote a composite type with a subelement that is a file type, an access type, or a protected type. Section 8.4 3 - For a signal assignment whose target is in the form of an aggregate, it is an error if any element of the target is of a protected type; moreover, it is an error if the type of any element of the target has a subelement that is a protected type. Should be ... moreover, it is an error if the type of any element of the target has a subelement that is a protected type. Section 8.5 The same footnote #3 is in section 8.5 as in 8.4 above. I did not find any other occurrences of "evaluation of ... statement" VASG-ISAC Recommendation for IEEE Std 1076-2002 ----------------------------------------------- No change VASG-ISAC Recommendation for Future Revisions --------------------------------------------- Update the language as described by the submitter and in the Analysis section. The next version of the LRM should also update similar instances that might be found. -------------END OF IR----------------