-/* Copyright (c) 2008-2022. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2008-2023. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
void MC_assert(int prop)
{
+ // Cannot used xbt_assert here, or it would be an infinite recursion.
#if SIMGRID_HAVE_MC
- xbt_assert(mc_model_checker == nullptr);
+ if (mc_model_checker != nullptr)
+ xbt_die("This should be called from the client side");
if (not prop) {
if (MC_is_active())
simgrid::mc::AppSide::get()->report_assertion_failure();
xbt_die("MC assertion failed");
}
#else
- xbt_assert(prop, "Safety property violation detected without the model-checker");
+ if (not prop)
+ xbt_die("Safety property violation detected without the model-checker");
#endif
}