aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/simul/simul-vhdl_simul.adb5
-rw-r--r--src/vhdl/vhdl-canon.adb1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/simul/simul-vhdl_simul.adb b/src/simul/simul-vhdl_simul.adb
index 6e3d62e88..1ec6500d2 100644
--- a/src/simul/simul-vhdl_simul.adb
+++ b/src/simul/simul-vhdl_simul.adb
@@ -944,6 +944,11 @@ package body Simul.Vhdl_Simul is
Aft : Node;
Rej : Node;
begin
+ -- Nothing to assign.
+ if Get_Kind (Waveform) = Iir_Kind_Unaffected_Waveform then
+ return;
+ end if;
+
Rej := Get_Reject_Time_Expression (Stmt);
if Rej /= Null_Node then
raise Internal_Error;
diff --git a/src/vhdl/vhdl-canon.adb b/src/vhdl/vhdl-canon.adb
index 95f531cf8..8e4bfd588 100644
--- a/src/vhdl/vhdl-canon.adb
+++ b/src/vhdl/vhdl-canon.adb
@@ -362,6 +362,7 @@ package body Vhdl.Canon is
begin
We := Chain;
while We /= Null_Iir loop
+ exit when Get_Kind (We) = Iir_Kind_Unaffected_Waveform;
Canon_Extract_Sensitivity_Expression (Get_We_Value (We), List);
Canon_Extract_Sensitivity_If_Not_Null (Get_Time (We), List);
We := Get_Chain (We);