VHDL Issue Number: 0045 Classification: Language Definition Problem Language Version: VHDL-87 Summary: Overloading for enumeration literals not completely defined. Related Issues: Relevant LRM Sections: 10.3, 3.1.1 Key Words and Phrases: Enumeration literal, overloading, parameter and result type profile Current Status: ISAC-Approved 1076-1993 Disposition: Closed (All Issues Completely Addressed) Disposition Rationale: LRM is clear now, as defined in Section 3.1.1. Superseded By: N/A ----------------------- Date Submitted: 1989/02/10 Author of Submission: Doug Dunlop Author's Affiliation: Intermetrics, Inc. Author's Post Address: 4733 Bethesda Ave #415 Bethesda, MD 20814 Author's Phone Number: (301) 657-3775 Author's Fax Number: Author's Net Address: dunlop@inmet.inmet.com ----------------------- Date Analyzed: 1990/10/01 Author of Analysis: Doug Dunlop Revision Number: $Revision: 1.6 $ Date Last Revised: $Date: 1995/05/13 21:53:48 $ Description of Problem ---------------------- The parameter and result type profile of an enumeration literal is not defined. Enumeration literals must have parameter and result type profiles in order to apply the rules for hiding, etc., from LRM 10.3. Proposed Resolution ------------------- As in Ada, we assume that an enumeration literal declaration is equivalent to the declaration of a parameterless function, the designator being an enumeration literal, and the result type being an enumeration type. VASG-ISAC Analysis & Rationale ------------------------------ It appears the intent of the language is to allow overloading of enumeration literals as well as subprograms. For the overloading and visibility rules to work correctly, the parameter and result type profile of an enumeration literal must be defined. As suggested above, it appears to make most sense to follow the lead of Ada here. VASG-ISAC Recommendation for IEEE Std 1076-1987 ----------------------------------------------- For the purpose of the overloading and visibility rules of the language, an enumeration literal declaration is equivalent to the declaration of a parameterless function, the designator being an enumeration literal, and the result type being an enumeration type. VASG-ISAC Recommendation for Future Revisions --------------------------------------------- Reflect this decision in the reference manual.