VHDL Issue Number: 2078 Language_Version VHDL-2002 Classification Language Modeling Enhancement or Deficiency Summary Allow attribute declaration/specification in package body Relevant_LRM_Sections 2.6 Package bodies 2.5 Package declarations Related_Issues Key_Words_and_Phrases Foreign subprograms Attribute definition/specification in package body Authors_Name Ernst Christen Authors_Phone_Number 503-547-6096 Authors_Fax_Number Authors_Email_Address Ernst.Christen@synopsys.com Authors_Affiliation Synopsys, Inc. Authors_Address1 2025 NW Cornelius Pass Rd. Authors_Address2 Hillsboro, OR 97124 Authors_Address3 Current Status: VASG-Approved Superseded By: ------------------------ Date Submitted: 21 November 2005 Date Analyzed: 02 December 2005 Author of Analysis: Chuck Swart Revision Number: 3 Date Last Revised: 04 May 2006 Description of Problem ---------------------- The definition of package_body_declarative_item does not include the productions attribute_declaration and attribute_specification for no apparent reason. This makes it impossible to declare a (public) subprogram in a package whose definition depends on a private foreign subprogram. The only way around this restriction is to make the foreign subprogram public, i.e. to include its declaration and the corresponding attribute specification in the package. This workaround unnecessarily exposes a part of the implementation of the original function, which is undesirable. Proposed Resolution ------------------- Allow attribute declarations and attribute specifications to occur as package body declarative items. VASG-ISAC Analysis & Rationale ------------------------------ The ISAC cannot think of any reason for not allowing attribute declarations and attribute specifications in package bodies. This is probably an oversight. Perhaps the early language authors thought that attribute declarations and specifications weren't needed or useful in package bodies. The problem that the author states is legitimate. Also, as a general principle, declarative parts should be as uniform as is reasonable. VASG-ISAC Recommendation for IEEE Std 1076-2002 ----------------------------------------------- Under the assumption that this situation was an oversight, interpret the LRM as if the proposed resolution were in effect. VASG-ISAC Recommendation for Future Revisions --------------------------------------------- Adopt the proposed resolution. -------------END OF IR----------------