aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-annotations.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/vhdl-annotations.adb')
-rw-r--r--src/vhdl/vhdl-annotations.adb13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/vhdl/vhdl-annotations.adb b/src/vhdl/vhdl-annotations.adb
index 077c66e99..f45827edb 100644
--- a/src/vhdl/vhdl-annotations.adb
+++ b/src/vhdl/vhdl-annotations.adb
@@ -942,7 +942,7 @@ package body Vhdl.Annotations is
Block_Info.Nbr_Instances := Block_Info.Nbr_Instances + 1;
if It /= Null_Iir then
- Annotate_Declaration (Info, It);
+ Create_Object_Info (Info, It);
end if;
Annotate_Declaration_List (Info, Get_Declaration_Chain (Bod));
Annotate_Concurrent_Statements_List
@@ -963,12 +963,15 @@ package body Vhdl.Annotations is
end Annotate_If_Generate_Statement;
procedure Annotate_For_Generate_Statement
- (Block_Info : Sim_Info_Acc; Stmt : Iir) is
+ (Block_Info : Sim_Info_Acc; Stmt : Iir)
+ is
+ Param : constant Iir := Get_Parameter_Specification (Stmt);
begin
+ -- Elaborate the subtype in the current block.
+ Annotate_Declaration_Type (Block_Info, Param);
+
Annotate_Generate_Statement_Body
- (Block_Info,
- Get_Generate_Statement_Body (Stmt),
- Get_Parameter_Specification (Stmt));
+ (Block_Info, Get_Generate_Statement_Body (Stmt), Param);
end Annotate_For_Generate_Statement;
procedure Annotate_Case_Generate_Statement