"use --cfg=model-check/reduction:none");
const smx_process_t issuer = MC_smx_simcall_get_issuer(req);
xbt_fifo_foreach(mc_stack, item, prev_state, mc_state_t) {
- if (simgrid::mc::request_depend(req, MC_state_get_internal_request(prev_state))) {
+ if (simgrid::mc::reduction_mode != simgrid::mc::ReductionMode::none
+ && simgrid::mc::request_depend(req, MC_state_get_internal_request(prev_state))) {
if (XBT_LOG_ISENABLED(mc_safety, xbt_log_priority_debug)) {
XBT_DEBUG("Dependent Transitions:");
smx_simcall_t prev_req = MC_state_get_executed_request(prev_state, &value);
int MC_modelcheck_comm_determinism(void)
{
XBT_INFO("Check communication determinism");
- simgrid::mc::reduction_mode = simgrid::mc::ReductionMode::none;
mc_model_checker->wait_for_requests();
if (mc_mode == MC_MODE_CLIENT)
int modelcheck_liveness(void)
{
- if (simgrid::mc::reduction_mode == simgrid::mc::ReductionMode::unset)
- simgrid::mc::reduction_mode = simgrid::mc::ReductionMode::none;
XBT_INFO("Check the liveness property %s", _sg_mc_property_file);
MC_automaton_load(_sg_mc_property_file);
mc_model_checker->wait_for_requests();
// Those are MC_state_get_internal_request(state)
bool request_depend(smx_simcall_t r1, smx_simcall_t r2)
{
- if (simgrid::mc::reduction_mode == simgrid::mc::ReductionMode::none)
- return true;
-
if (r1->issuer == r2->issuer)
return false;