aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/simulate/simul-simulation.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/vhdl/simulate/simul-simulation.adb')
-rw-r--r--src/vhdl/simulate/simul-simulation.adb4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vhdl/simulate/simul-simulation.adb b/src/vhdl/simulate/simul-simulation.adb
index 5b7035c3f..a674fa784 100644
--- a/src/vhdl/simulate/simul-simulation.adb
+++ b/src/vhdl/simulate/simul-simulation.adb
@@ -18,6 +18,7 @@
with Types; use Types;
with Simul.Execution; use Simul.Execution;
+with Simul.Debugger; use Simul.Debugger;
with Areapools; use Areapools;
with Grt.Signals;
with Grt.Processes;
@@ -524,6 +525,9 @@ package body Simul.Simulation is
Expr := Get_Timeout_Clause (Stmt);
if Expr /= Null_Iir then
Res := Execute_Expression (Instance, Expr);
+ if Res.I64 < 0 then
+ Error_Msg_Exec ("negative timeout clause", Stmt);
+ end if;
Grt.Processes.Ghdl_Process_Wait_Set_Timeout
(Std_Time (Res.I64), null, 0);
end if;