aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/iirs.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/iirs.ads')
-rw-r--r--src/vhdl/iirs.ads85
1 files changed, 44 insertions, 41 deletions
diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads
index af9c7478b..9310185c5 100644
--- a/src/vhdl/iirs.ads
+++ b/src/vhdl/iirs.ads
@@ -161,7 +161,7 @@ package Iirs is
--
-- Get the kind of the iir.
-- See below for the (public) list of kinds.
- -- function Get_Kind (An_Iir: Iir) return Iir_Kind;
+ -- function Get_Kind (N : Iir) return Iir_Kind;
-- Get the location of the node: ie the current position in the source
-- file when the node was created. This is a little bit fuzzy.
@@ -314,7 +314,7 @@ package Iirs is
--
-- Base of the bit_string (corresponds to letters 'b', 'o', 'd' or 'x' in
-- the base specifier).
- -- Get/Set_Bit_String_Base (Odigit1)
+ -- Get/Set_Bit_String_Base (Flag12,Flag13,Flag14)
--
-- Get/Set_Expr_Staticness (State1)
--
@@ -328,10 +328,10 @@ package Iirs is
-- True if the integer specifying the length is present.
-- Get/Set_Has_Length (Flag3)
- -- Iir_Kind_Integer_Literal (Int)
+ -- Iir_Kind_Integer_Literal (Short)
--
-- Get/Set the value of the integer.
- -- Get/Set_Value (Int64)
+ -- Get/Set_Value (Field4,Field5)
--
-- Get/Set_Literal_Origin (Field2)
--
@@ -339,10 +339,10 @@ package Iirs is
--
-- Get/Set_Expr_Staticness (State1)
- -- Iir_Kind_Floating_Point_Literal (Fp)
+ -- Iir_Kind_Floating_Point_Literal (Short)
--
-- The value of the literal.
- -- Get/Set_Fp_Value (Fp64)
+ -- Get/Set_Fp_Value (Field4,Field5)
--
-- Get/Set_Literal_Origin (Field2)
--
@@ -357,8 +357,8 @@ package Iirs is
--
-- Get/Set_Expr_Staticness (State1)
- -- Iir_Kind_Physical_Int_Literal (Int)
- -- Iir_Kind_Physical_Fp_Literal (Fp)
+ -- Iir_Kind_Physical_Int_Literal (Short)
+ -- Iir_Kind_Physical_Fp_Literal (Short)
--
-- Get/Set_Literal_Origin (Field2)
--
@@ -375,11 +375,11 @@ package Iirs is
--
-- Only for Iir_Kind_Physical_Int_Literal:
-- The multiplicand.
- -- Get/Set_Value (Int64)
+ -- Get/Set_Value (Field4,Field5)
--
-- Only for Iir_Kind_Physical_Fp_Literal:
-- The multiplicand.
- -- Get/Set_Fp_Value (Fp64)
+ -- Get/Set_Fp_Value (Field4,Field5)
-- Iir_Kind_Simple_Aggregate (Short)
-- This node can only be generated by evaluation: it is an unidimentional
@@ -1215,7 +1215,7 @@ package Iirs is
-- present for uniformity (and speed).
-- Get/Set_Type (Field1)
--
- -- Get/Set_Mode (Odigit1)
+ -- Get/Set_Mode (Flag12,Flag13,Flag14)
--
-- Only for Iir_Kind_Interface_Signal_Declaration:
-- Get/Set_Has_Disconnect_Flag (Flag1)
@@ -1244,7 +1244,7 @@ package Iirs is
-- Get/Set_Has_Class (Flag11)
--
-- Only for Iir_Kind_Interface_Signal_Declaration:
- -- Get/Set_Open_Flag (Flag12)
+ -- Get/Set_Open_Flag (Flag15)
--
-- Get/Set_Expr_Staticness (State1)
--
@@ -1708,7 +1708,7 @@ package Iirs is
-- Get/Set_File_Open_Kind (Field7)
--
-- This is used only in vhdl 87.
- -- Get/Set_Mode (Odigit1)
+ -- Get/Set_Mode (Flag12,Flag13,Flag14)
--
-- Get/Set_Has_Identifier_List (Flag3)
--
@@ -2072,8 +2072,11 @@ package Iirs is
-- Iir_Kind_Physical_Type_Definition (Short)
--
- -- Get/Set_Unit_Chain (Field1)
- -- Get/Set_Primary_Unit (Alias Field1)
+ -- The range_constraint from the type declaration.
+ -- Get/Set_Range_Constraint (Field1)
+ --
+ -- Get/Set_Unit_Chain (Field2)
+ -- Get/Set_Primary_Unit (Alias Field2)
--
-- Get/Set_Type_Declarator (Field3)
--
@@ -2087,6 +2090,8 @@ package Iirs is
--
-- Get/Set_Type_Staticness (State1)
--
+ -- Get/Set_Is_Ref (Flag7)
+ --
-- Get/Set_End_Has_Reserved_Id (Flag8)
--
-- Get/Set_End_Has_Identifier (Flag9)
@@ -2111,12 +2116,10 @@ package Iirs is
--
-- Get/Set_Identifier (Field3)
--
- -- The value of the unit, computed from the primary unit. This is always
- -- a physical integer literal.
- -- Get/Set_Physical_Unit_Value (Field5)
- --
- -- The Physical_Literal is the expression that appear in the sources, so
- -- this is Null_Iir for a primary unit.
+ -- The Physical_Literal is the expression that defines the value of a
+ -- unit. It is evaluated during analysis and thus expressed as a multiple
+ -- of the primary unit. That's true even for the primary unit whose value
+ -- is thus 1.
-- Get/Set_Physical_Literal (Field4)
--
-- Get/Set_Expr_Staticness (State1)
@@ -2138,6 +2141,9 @@ package Iirs is
-- Iir_Kind_Integer_Type_Definition (Short)
-- Iir_Kind_Floating_Type_Definition (Short)
--
+ -- The range_constraint from the type declaration.
+ -- Get/Set_Range_Constraint (Field1)
+ --
-- The type declarator that has created this type.
-- Get/Set_Type_Declarator (Field3)
--
@@ -2151,6 +2157,8 @@ package Iirs is
-- Get/Set_Signal_Type_Flag (Flag2)
--
-- Get/Set_Has_Signal_Flag (Flag3)
+ --
+ -- Get/Set_Is_Ref (Flag7)
-- Iir_Kind_Array_Type_Definition (Medium)
--
@@ -5566,23 +5574,23 @@ package Iirs is
-- General methods.
-- Get the kind of the iir.
- function Get_Kind (An_Iir: Iir) return Iir_Kind;
+ function Get_Kind (N : Iir) return Iir_Kind;
pragma Inline (Get_Kind);
-- Create a new IIR of kind NEW_KIND, and copy fields from SRC to this
-- iir. Src fields are cleaned.
--function Clone_Iir (Src: Iir; New_Kind : Iir_Kind) return Iir;
- procedure Set_Location (Target: Iir; Location: Location_Type)
+ procedure Set_Location (Target : Iir; Location : Location_Type)
renames Nodes.Set_Location;
- function Get_Location (Target: Iir) return Location_Type
+ function Get_Location (Target : Iir) return Location_Type
renames Nodes.Get_Location;
- procedure Location_Copy (Target: Iir; Src: Iir);
+ procedure Location_Copy (Target : Iir; Src : Iir);
- function Create_Iir (Kind: Iir_Kind) return Iir;
+ function Create_Iir (Kind : Iir_Kind) return Iir;
function Create_Iir_Error return Iir;
- procedure Free_Iir (Target: Iir) renames Nodes.Free_Node;
+ procedure Free_Iir (Target : Iir) renames Nodes.Free_Node;
-- Disp statistics about node usage.
procedure Disp_Stats;
@@ -5718,7 +5726,7 @@ package Iirs is
-- literals.
-- Value of an integer/physical literal.
- -- Field: Int64
+ -- Field: Field4,Field5 (grp)
function Get_Value (Lit : Iir) return Iir_Int64;
procedure Set_Value (Lit : Iir; Val : Iir_Int64);
@@ -5727,17 +5735,12 @@ package Iirs is
function Get_Enum_Pos (Lit : Iir) return Iir_Int32;
procedure Set_Enum_Pos (Lit : Iir; Val : Iir_Int32);
- -- Field: Field4 Ref
+ -- Field: Field4
function Get_Physical_Literal (Unit : Iir) return Iir;
procedure Set_Physical_Literal (Unit : Iir; Lit : Iir);
- -- Value of a physical unit declaration.
- -- Field: Field5
- function Get_Physical_Unit_Value (Unit : Iir) return Iir;
- procedure Set_Physical_Unit_Value (Unit : Iir; Lit : Iir);
-
-- Value of a floating point literal.
- -- Field: Fp64
+ -- Field: Field4,Field5 (grp)
function Get_Fp_Value (Lit : Iir) return Iir_Fp64;
procedure Set_Fp_Value (Lit : Iir; Val : Iir_Fp64);
@@ -5757,7 +5760,7 @@ package Iirs is
procedure Set_String_Length (Lit : Iir; Len : Int32);
-- Base of a bit string. Base_None for a string literal.
- -- Field: Odigit1 (pos)
+ -- Field: Flag12,Flag13,Flag14 (grp)
function Get_Bit_String_Base (Lit : Iir) return Number_Base_Type;
procedure Set_Bit_String_Base (Lit : Iir; Base : Number_Base_Type);
@@ -5866,7 +5869,7 @@ package Iirs is
-- This flag is set for a very short time during the check that no in
-- port is unconnected.
- -- Field: Flag12
+ -- Field: Flag15
function Get_Open_Flag (Target : Iir) return Boolean;
procedure Set_Open_Flag (Target : Iir; Flag : Boolean);
@@ -6033,7 +6036,7 @@ package Iirs is
-- Discrete range of an iterator. During analysis, a subtype indiciation
-- is created from this range.
- -- Field: Field6 Ref
+ -- Field: Field6
function Get_Discrete_Range (Target : Iir) return Iir;
procedure Set_Discrete_Range (Target : Iir; Rng : Iir);
@@ -6061,7 +6064,7 @@ package Iirs is
procedure Set_Nature (Target : Iir; Nature : Iir);
-- Mode of interfaces or file (v87).
- -- Field: Odigit1 (pos)
+ -- Field: Flag12,Flag13,Flag14 (grp)
function Get_Mode (Target : Iir) return Iir_Mode;
procedure Set_Mode (Target : Iir; Mode : Iir_Mode);
@@ -6264,13 +6267,13 @@ package Iirs is
-- Chain of physical type units.
-- The first unit is the primary unit. If you really need the primary
-- unit (and not the chain), you'd better to use Get_Primary_Unit.
- -- Field: Field1 Chain
+ -- Field: Field2 Chain
function Get_Unit_Chain (Target : Iir) return Iir;
procedure Set_Unit_Chain (Target : Iir; Chain : Iir);
-- Alias of Get_Unit_Chain.
-- Return the primary unit of a physical type.
- -- Field: Field1 Ref
+ -- Field: Field2 Ref
function Get_Primary_Unit (Target : Iir) return Iir;
procedure Set_Primary_Unit (Target : Iir; Unit : Iir);