diff options
Diffstat (limited to 'src/vhdl/std_package.ads')
-rw-r--r-- | src/vhdl/std_package.ads | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/vhdl/std_package.ads b/src/vhdl/std_package.ads index 166c3c7..9ee4ca4 100644 --- a/src/vhdl/std_package.ads +++ b/src/vhdl/std_package.ads @@ -79,9 +79,8 @@ package Std_Package is Integer_Subtype_Declaration : Iir_Subtype_Declaration; Integer_Subtype_Definition : Iir_Integer_Subtype_Definition; - -- Type used when a subtype indication cannot be semantized. - -- FIXME: To be improved. - Error_Type : Iir_Integer_Type_Definition renames Integer_Type_Definition; + -- Type used when the type of an expression is incorrect. + Error_Type : Iir; -- Predefined real type. Real_Type_Declaration : Iir_Anonymous_Type_Declaration; @@ -161,6 +160,18 @@ package Std_Package is Convertible_Integer_Subtype_Definition : Iir_Integer_Subtype_Definition; Convertible_Integer_Subtype_Declaration : Iir_Subtype_Declaration; + -- Wilcard types. + -- Err, we break privacy for iir numbers, but this allow use of them in + -- case statements. + Wildcard_Any_Type : constant Iir := 7; + Wildcard_Any_Aggregate_Type : constant Iir := 8; + Wildcard_Any_String_Type : constant Iir := 9; + Wildcard_Any_Access_Type : constant Iir := 10; + + -- Subtype for all wildcard types, so that missing choice can be detected + -- at compilation time. + subtype Iir_Wildcard_Types is Iir range 7 .. 10; + -- Create the first well-known nodes. procedure Create_First_Nodes; |