From 4b755deea0a7577868341937afcca3caa177e61e Mon Sep 17 00:00:00 2001 From: Cary R Date: Mon, 12 Nov 2007 18:05:52 -0800 Subject: [PATCH] Fix the debugger to finish correctly. A previous patch I submitted to try and keep the $finish time events missed the case of an infinite loop that did not advance the micro time step which then prevents the debugger from generating a finish (you can interrupt an infinite loop, but you could not finish out of it). This patch adds a check for a finish after each debugger call to fix this problem. --- vvp/schedule.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vvp/schedule.cc b/vvp/schedule.cc index a844727ed..955bae80e 100644 --- a/vvp/schedule.cc +++ b/vvp/schedule.cc @@ -623,6 +623,8 @@ void schedule_simulate(void) if (schedule_stopped_flag) { schedule_stopped_flag = false; stop_handler(0); + // You can finish from the debugger without a time change. + if (!schedule_runnable) break; continue; }