VHDL Issue Number: 0183 Classification: Language Definition Problem Language Version: VHDL-87 Summary: VPI Issue 7 -- Modes of file objects Related Issues: TBD Relevant LRM Sections: TBD Key Words and Phrases: TBD Current Status: Submitted 1076-1993 Disposition: Closed (All Issues Completely Addressed) Disposition Rationale: Section 4.3.1.4 was revised. Superseded By: N/A ----------------------- Date Submitted: 1991/03/15 Author of Submission: J. R. Armstrong Author's Affiliation: Virginia Polytechnic Institute and State University Author's Post Address: Bradley Department of Electrical Engineering Virginia Polytechnic Institute and State University Blacksburg, VA 24061 Author's Phone Number: (703) 231-4723 Author's Fax Number: Author's Net Address: JRA@VTVM1.CC.VT.EDU ----------------------- Date Analyzed: TBD Author of Analysis: TBD Revision Number: $Revision: 1.9 $ Date Last Revised: $Date: 1995/08/04 01:45:13 $ Description of Problem ---------------------- The LRM is vague as to the allowable modes for file objects. On page 4-10, under the discussion of mode inout for interface objects, it states "For a file object, opera- tion ENDFILE is allowed", while on page 4-8 it states "The only modes allowed in an external file association are modes in and out." There is no other mention of mode inout for files or the (perhaps) implied notion of an internal file. Test File: ch04/s03/s3/11100101.vhd Since the mode of the interface object s1 is inout, the op- eration ENDFILE is allowed. Thus, the test should be an "expect success" test. However, it is impossible to call the procedure proc1 because there is no way of declaring a file object of mode inout (the only modes allowed in an external file association are modes in and out) which can used as an actual for a procedure call statement to call the procedure. This contradiction should be resolved by the VASG committee. -- ##4330BA11248FF4330B31**************************************************** -- --+ File: [SUITE.CH04.S03.S3]11100101.vhd -- --+ Copyright: (c) 1989 by Virginia Tech. All rights reserved. -- --+ LRM_Version: IEEE Std. 1076-1987 -- --+ Subsets: All -- --+ Description: -- --+ Test_point - (040330_111001) "For a file object that is an interface -- object of mode inout, operation ENDFILE is allowed." -- --+ Test_objective (1) - Test whether ENDFILE is allowed for a file object -- that is an interface object of mode inout. -- --+ References: 040330_110301 -- --+ Instructions: None -- --+ Keywords: file, ENDFILE. -- --+ Test_Results: Expect_Success. Output_Checked. -- --+ Test_Type: Locally Static Semantic -- --+ History: Created SRS/VT 9-24-90 -- --+ Comments: -- --**************************************************************************** package P1 is type A1 is file of NATURAL ; procedure proc1 (variable s1 : inout A1; s2 : out NATURAL); end P1; package body P1 is procedure proc1 (variable s1 : inout A1; s2 : out NATURAL) is variable v1 : BOOLEAN; begin v1 := ENDFILE (s1); -- no_failure_here end; end P1; Proposed Resolution ------------------- TBD VASG-ISAC Analysis & Rationale ------------------------------ TBD VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- TBD VASG-ISAC Recommendation for Future Revisions --------------------------------------------- TBD