aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/simulate/annotations.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/simulate/annotations.adb')
-rw-r--r--src/vhdl/simulate/annotations.adb19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/vhdl/simulate/annotations.adb b/src/vhdl/simulate/annotations.adb
index 484b9911d..ac5be1962 100644
--- a/src/vhdl/simulate/annotations.adb
+++ b/src/vhdl/simulate/annotations.adb
@@ -108,7 +108,8 @@ package body Annotations is
| Kind_Process
| Kind_Frame
| Kind_Scalar_Type
- | Kind_File_Type =>
+ | Kind_File_Type
+ | Kind_Extra =>
raise Internal_Error;
end case;
Set_Info (Obj, Info);
@@ -1257,10 +1258,13 @@ package body Annotations is
-- Disp annotations for an iir node.
procedure Disp_Vhdl_Info (Node: Iir) is
use Ada.Text_IO;
- Indent: Count;
- Info: Sim_Info_Acc;
+ Info : constant Sim_Info_Acc := Get_Info (Node);
+ Indent : Count;
begin
- Info := Get_Info (Node);
+ if Info = null then
+ return;
+ end if;
+
Indent := Col;
case Info.Kind is
when Kind_Block =>
@@ -1281,7 +1285,8 @@ package body Annotations is
Put_Line ("-- slot:" & Object_Slot_Type'Image (Info.Slot)
& ", scope:" & Image (Info.Obj_Scope));
when Kind_Scalar_Type
- | Kind_File_Type =>
+ | Kind_File_Type
+ | Kind_Extra =>
null;
end case;
end Disp_Vhdl_Info;
@@ -1313,7 +1318,9 @@ package body Annotations is
| Kind_Terminal | Kind_Quantity | Kind_Environment
| Kind_PSL =>
Put_Line ("slot:" & Object_Slot_Type'Image (Info.Slot)
- & ", scope:" & Image (Info.Obj_Scope));
+ & ", scope:" & Image (Info.Obj_Scope));
+ when Kind_Extra =>
+ Put_Line ("extra:" & Extra_Slot_Type'Image (Info.Extra_Slot));
when Kind_Scalar_Type =>
Put_Line ("scalar type: "
& Iir_Value_Kind'Image (Info.Scalar_Mode));