diff --git a/scp.c b/scp.c index a9ea6509..c59ea4be 100644 --- a/scp.c +++ b/scp.c @@ -3679,10 +3679,10 @@ if (flag) { fprintf (st, "\n\t\tAsynchronous Clock support"); #endif fprintf (st, "\n\tHost Platform:"); -#if defined (__clang_version__) - fprintf (st, "\n\t\tCompiler: clang %s", __clang_version__); -#elif defined (__GNUC__) && defined (__VERSION__) +#if defined (__GNUC__) && defined (__VERSION__) fprintf (st, "\n\t\tCompiler: GCC %s", __VERSION__); +#elif defined (__clang_version__) + fprintf (st, "\n\t\tCompiler: clang %s", __clang_version__); #elif defined (_MSC_FULL_VER) && defined (_MSC_BUILD) fprintf (st, "\n\t\tCompiler: Microsoft Visual C++ %d.%02d.%05d.%02d", _MSC_FULL_VER/10000000, (_MSC_FULL_VER/100000)%100, _MSC_FULL_VER%100000, _MSC_BUILD); #elif defined (__DECC_VER) @@ -5255,12 +5255,12 @@ else if ((flag == RU_STEP) || ((flag == RU_NEXT) && !sim_vm_is_subroutine_call)) { /* step */ static t_bool not_implemented_message = FALSE; - flag = RU_STEP; - if (!not_implemented_message) { + if ((!not_implemented_message) && (flag == RU_NEXT)) { printf ("This simulator does not have subroutine call detection.\nPerforming a STEP instead\n"); if (sim_log) fprintf (sim_log, "This simulator does not have subroutine call detection.\nPerforming a STEP instead\n"); not_implemented_message = TRUE; + flag = RU_STEP; } if (*cptr != 0) { /* argument? */ cptr = get_glyph (cptr, gbuf, 0); /* get next glyph */ diff --git a/sim_timer.c b/sim_timer.c index d79929a0..de940e70 100644 --- a/sim_timer.c +++ b/sim_timer.c @@ -847,7 +847,7 @@ if ((!sim_idle_enab) || /* idling disabled */ When a simulator is in an instruction path (or under other conditions which would indicate idling), the countdown of sim_interval will not be happening at a pace which is consistent with the rate it happens - when not in the ‘idle capable’ state. The consequence of this is that + when not in the 'idle capable' state. The consequence of this is that the clock calibration may produce calibrated results which vary much more than they do when not in the idle able state. Sim_idle also uses the calibrated tick size to approximate an adjustment to sim_interval @@ -858,12 +858,12 @@ if ((!sim_idle_enab) || /* idling disabled */ To negate this effect, we set a flag (sim_idle_idled) here and the sim_rtcn_calb routine checks this flag before performing an actual calibration and skips calibration if the flag was set and then clears - the flag. Thus recalibration only happens if things didn’t idle. + the flag. Thus recalibration only happens if things didn't idle. we also check check sim_idle_enab above so that all simulators can avoid directly checking sim_idle_enab before calling sim_idle so that all of the bookkeeping on sim_idle_idled is done here in sim_timer where it - means something, while not idling when it isn’t enabled. + means something, while not idling when it isn't enabled. */ //sim_idle_idled = TRUE; /* record idle attempt */ sim_debug (DBG_TRC, &sim_timer_dev, "sim_idle(tmr=%d, sin_cyc=%d)\n", tmr, sin_cyc);