diff options
-rw-r--r-- | src/vhdl/simulate/annotations.adb | 7 | ||||
-rw-r--r-- | src/vhdl/simulate/execution.adb | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/vhdl/simulate/annotations.adb b/src/vhdl/simulate/annotations.adb index c4c6fded1..100802527 100644 --- a/src/vhdl/simulate/annotations.adb +++ b/src/vhdl/simulate/annotations.adb @@ -158,7 +158,7 @@ package body Annotations is function Get_File_Signature_Length (Def : Iir) return Natural is begin case Get_Kind (Def) is - when Iir_Kinds_Scalar_Type_Definition => + when Iir_Kinds_Scalar_Type_And_Subtype_Definition => return 1; when Iir_Kind_Array_Type_Definition | Iir_Kind_Array_Subtype_Definition => @@ -192,7 +192,7 @@ package body Annotations is Scalar_Map : constant array (Iir_Value_Scalars) of Character := "beEIF"; begin case Get_Kind (Def) is - when Iir_Kinds_Scalar_Type_Definition => + when Iir_Kinds_Scalar_Type_And_Subtype_Definition => Res (Off) := Scalar_Map (Get_Info (Get_Base_Type (Def)).Scalar_Mode); Off := Off + 1; @@ -409,7 +409,8 @@ package body Annotations is begin if Get_Text_File_Flag (Def) or else - Get_Kind (Type_Name) in Iir_Kinds_Scalar_Type_Definition + (Get_Kind (Type_Name) + in Iir_Kinds_Scalar_Type_And_Subtype_Definition) then Res := null; else diff --git a/src/vhdl/simulate/execution.adb b/src/vhdl/simulate/execution.adb index 44bd4f9f5..013d06928 100644 --- a/src/vhdl/simulate/execution.adb +++ b/src/vhdl/simulate/execution.adb @@ -3568,7 +3568,7 @@ package body Execution is Val := Create_Value_For_Type (Out_Block, Get_Type (Formal), Init_Value_Default); elsif Get_Kind (Get_Type (Formal)) in - Iir_Kinds_Scalar_Type_Definition + Iir_Kinds_Scalar_Type_And_Subtype_Definition then -- These are passed by value. Must be reset. Val := Create_Value_For_Type |