VHDL Issue Number: 0008 Classification: Language Definition Problem Language Version: VHDL-87 Summary: Are deferred constants still deferred after their full declaration? Related Issues: 0020, 0059 Relevant LRM Sections: 2.6, 4.3.1.1 Key Words and Phrases: Deferred constants, full declaration of deferred constants Current Status: Superseded 1076-1993 Disposition: Superseded (ISAC Issues Outstanding Disposition Rationale: N/A Superseded By: 1004 ----------------------- Date Submitted: 1989/02/23 Author of Submission: Paul Menchini Author's Affiliation: CAD Language Systems, Inc. Author's Post Address: P.O. Box 13036 Research Triangle Park, NC 27709-3036 Author's Phone Number: (919) 361-1913 Author's Fax Number: Author's Net Address: mench@clsi.com ----------------------- Date Analyzed: TBD Author of Analysis: TBD Revision Number: $Revision: 1.10 $ Date Last Revised: $Date: 1995/07/26 18:16:17 $ Description of Problem ---------------------- The LRM is unclear on the semantics deferred constants after their full declaration in a package body. To illustrate, consider the following example: package P is constant C: Integer; end P; package body P is constant C: Integer := 0; -- "C" is clearly a globally static primary here, but -- is "C" a locally static primary here? end P; Except for the fact that the declaration of C in the package body is the full declaration of the deferred constant in the package interface, the name "C" in the package body meets all the requirements of a locally static primary. Note that if the deferred constant declaration of C in the package interface was not present, then a reference to C in the package body (after the declaration of C) would clearly be a locally static expression. Proposed Resolution ------------------- Explicitly state in Section 4.3.1.1 that the name of a full declaration of a constant is to be treated no differently that a "normal" constant declaration in the subsequent text of the design unit containing the full declaration. VASG-ISAC Analysis & Rationale ------------------------------ TBD VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- TBD VASG-ISAC Recommendation for Future Revisions --------------------------------------------- TBD