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.ads75
1 files changed, 24 insertions, 51 deletions
diff --git a/src/vhdl/iirs.ads b/src/vhdl/iirs.ads
index 2ce529ff0..6d3c45ae8 100644
--- a/src/vhdl/iirs.ads
+++ b/src/vhdl/iirs.ads
@@ -268,8 +268,7 @@ package Iirs is
-- Literals --
---------------
- -- Iir_Kind_String_Literal (Short)
- -- Iir_Kind_Bit_String_Literal (Medium)
+ -- Iir_Kind_String_Literal8 (Short)
--
-- Get/Set_Type (Field1)
--
@@ -277,26 +276,15 @@ package Iirs is
-- whose value was computed during analysis and replaces the expression.
-- Get/Set_Literal_Origin (Field2)
--
- -- Get/Set_String_Id (Field3)
+ -- Same as Type, but marked as property of that node.
+ -- Get/Set_Literal_Subtype (Field3)
--
- -- As bit-strings are expanded to '0'/'1' strings, this is the number of
- -- characters.
+ -- Number of literals in the expanded string.
-- Get/Set_String_Length (Field4)
--
- -- Same as Type, but marked as property of that node.
- -- Get/Set_Literal_Subtype (Field5)
- --
- -- For bit string only:
- -- Enumeration literal which correspond to '0' and '1'.
- -- This cannot be defined only in the enumeration type definition, due to
- -- possible aliases.
- -- Only for Iir_Kind_Bit_String_Literal:
- -- Get/Set_Bit_String_0 (Field6)
- -- Only for Iir_Kind_Bit_String_Literal:
- -- Get/Set_Bit_String_1 (Field7)
+ -- Get/Set_String8_Id (Field5)
--
- -- Only for Iir_Kind_Bit_String_Literal:
- -- Get/Set_Bit_String_Base (Field8)
+ -- Get/Set_Bit_String_Base (State2)
--
-- Get/Set_Expr_Staticness (State1)
@@ -358,13 +346,13 @@ package Iirs is
--
-- Get/Set_Literal_Origin (Field2)
--
- -- Get/Set_Expr_Staticness (State1)
+ -- Same as Type, but marked as property of that node.
+ -- Get/Set_Literal_Subtype (Field3)
--
-- List of elements
- -- Get/Set_Simple_Aggregate_List (Field3)
+ -- Get/Set_Simple_Aggregate_List (Field4)
--
- -- Same as Type, but marked as property of that node.
- -- Get/Set_Literal_Subtype (Field5)
+ -- Get/Set_Expr_Staticness (State1)
-- Iir_Kind_Overflow_Literal (Short)
-- This node can only be generated by evaluation to represent an error: out
@@ -2888,10 +2876,10 @@ package Iirs is
--
-- Get/Set_Aggregate_Info (Field2)
--
- -- Get/Set_Association_Choices_Chain (Field4)
- --
-- Same as Type, but marked as property of that node.
- -- Get/Set_Literal_Subtype (Field5)
+ -- Get/Set_Literal_Subtype (Field3)
+ --
+ -- Get/Set_Association_Choices_Chain (Field4)
--
-- Get/Set_Expr_Staticness (State1)
--
@@ -3355,10 +3343,9 @@ package Iirs is
Iir_Kind_Integer_Literal,
Iir_Kind_Floating_Point_Literal,
Iir_Kind_Null_Literal,
- Iir_Kind_String_Literal,
+ Iir_Kind_String_Literal8,
Iir_Kind_Physical_Int_Literal,
Iir_Kind_Physical_Fp_Literal,
- Iir_Kind_Bit_String_Literal,
Iir_Kind_Simple_Aggregate,
Iir_Kind_Overflow_Literal,
@@ -4095,10 +4082,9 @@ package Iirs is
Iir_Kind_Integer_Literal ..
--Iir_Kind_Floating_Point_Literal
--Iir_Kind_Null_Literal
- --Iir_Kind_String_Literal
+ --Iir_Kind_String_Literal8
--Iir_Kind_Physical_Int_Literal
- --Iir_Kind_Physical_Fp_Literal
- Iir_Kind_Bit_String_Literal;
+ Iir_Kind_Physical_Fp_Literal;
subtype Iir_Kinds_Array_Type_Definition is Iir_Kind range
Iir_Kind_Array_Type_Definition ..
@@ -4593,7 +4579,7 @@ package Iirs is
-- Purity depth of an impure subprogram.
Iir_Depth_Impure : constant Iir_Int32 := -1;
- type Base_Type is (Base_2, Base_8, Base_16);
+ type Base_Type is (Base_None, Base_2, Base_8, Base_16);
-- design file
subtype Iir_Design_File is Iir;
@@ -4611,10 +4597,6 @@ package Iirs is
subtype Iir_Floating_Point_Literal is Iir;
- subtype Iir_String_Literal is Iir;
-
- subtype Iir_Bit_String_Literal is Iir;
-
subtype Iir_Null_Literal is Iir;
subtype Iir_Physical_Int_Literal is Iir;
@@ -5042,24 +5024,15 @@ package Iirs is
procedure Set_Fp_Value (Lit : Iir; Val : Iir_Fp64);
-- List of elements of a simple aggregate.
- -- Field: Field3 (uc)
+ -- Field: Field4 (uc)
function Get_Simple_Aggregate_List (Target : Iir) return Iir_List;
procedure Set_Simple_Aggregate_List (Target : Iir; List : Iir_List);
- -- The logarithm of the base (1, 3 or 4) of a bit string.
- -- Field: Field8 (pos)
+ -- Base of a bit string.
+ -- Field: State2 (pos)
function Get_Bit_String_Base (Lit : Iir) return Base_Type;
procedure Set_Bit_String_Base (Lit : Iir; Base : Base_Type);
- -- The enumeration literal which defines the '0' and '1' value.
- -- Field: Field6
- function Get_Bit_String_0 (Lit : Iir) return Iir;
- procedure Set_Bit_String_0 (Lit : Iir; El : Iir);
-
- -- Field: Field7
- function Get_Bit_String_1 (Lit : Iir) return Iir;
- procedure Set_Bit_String_1 (Lit : Iir; El : Iir);
-
-- The origin of a literal can be null_iir for a literal generated by the
-- parser, or a node which was statically evaluated to this literal.
-- Such nodes are created by eval_expr.
@@ -5074,7 +5047,7 @@ package Iirs is
-- Same as Type, but not marked as Ref. This is when a literal has a
-- subtype (such as string or bit_string) created specially for the
-- literal.
- -- Field: Field5
+ -- Field: Field3
function Get_Literal_Subtype (Lit : Iir) return Iir;
procedure Set_Literal_Subtype (Lit : Iir; Atype : Iir);
@@ -6260,9 +6233,9 @@ package Iirs is
procedure Set_End_Location (Target : Iir; Loc : Location_Type);
-- For a string literal: the string identifier.
- -- Field: Field3 (uc)
- function Get_String_Id (Lit : Iir) return String_Id;
- procedure Set_String_Id (Lit : Iir; Id : String_Id);
+ -- Field: Field5 (uc)
+ function Get_String8_Id (Lit : Iir) return String8_Id;
+ procedure Set_String8_Id (Lit : Iir; Id : String8_Id);
-- For a string literal: the string length.
-- Field: Field4 (uc)