Language Change Specification for All Interface Lists Can Be Ordered Proposal

LCS Number: LCS-2016-086
Version: 3
Date: 16-Feb-2017
Status: Voting
Author: Kevin Jennings
Email: Main.KevinJennings examples: Main.JimLewis
Source Doc: OrderingAllInterfaceLists
HistoryDoc: History
Summary: Allow an interface object to be used in the same interface where it is defined

Style Notes

Changes are shown in red font. Deletions are crossed out. Editing notes in green font.

Details of Language Change

LRM 6.5.6.1 Interface Lists

Edit 086.1 Page 78 near middle Delete
A name that denotes an interface object declared in a port interface list or a parameter interface list shall not appear in any interface declaration within the interface list containing the denoted interface object except to declare this object.

Edit 086.2 Page 78 next paragraph
A name that denotes an interface declaration in a generic an interface list may appear in an a subsequent interface declaration within the same interface list. containing the denoted interface declaration.

Edit 086.3 Page 78 next paragraph
NOTE-The restriction rule mentioned in the previous paragraph makes the following two interface lists legal illegal:

Edit 086.4 Add

entity E is
    generic (G1: INTEGER; G2: INTEGER := G1; G3, G4, G5, G6: INTEGER);
    port (P1: STRING(G3 to G4); P2: STRING(P1'RANGE); P3: P1'SUBTYPE);
    procedure X (Y1, Y2: INTEGER; Y3: INTEGER range Y1 to Y2; Y4: Y1'SUBTYPE); 
end E;

---+++++ Edit 086.5 Delete

entity E is
    port (P1: STRING; P2: STRING(P1'RANGE)); -- Illegal
    procedure X (Y1, Y2: INTEGER; Y3: INTEGER range Y1 to Y2); -- Illegal
end E;

However, the following interface lists are legal:
entity E is
    generic (G1: INTEGER; G2: INTEGER := G1; G3, G4, G5, G6: INTEGER);
    port (P1, P2: STRING (G3 to G4));
    procedure X (Y3: INTEGER range G5 to G6);
end E;


Comments

Topic revision: r24 - 2017-07-22 - 18:13:48 - JimLewis
 
Copyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback