#include "src/mc/mc_exit.h"
#include "src/mc/mc_liveness.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_ModelChecker, mc, "ModelChecker");
-}
-
::simgrid::mc::ModelChecker* mc_model_checker = nullptr;
using simgrid::mc::remote;
#include "src/mc/mc_mmu.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_page_snapshot, mc,
"Logging specific to mc_page_snapshot");
}
#endif /* SIMGRID_TEST */
-
-}
using simgrid::mc::remote;
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_process, mc,
"MC process information");
-}
-
// ***** Helper stuff
namespace simgrid {
#include "src/mc/ChunkedData.hpp"
#include "src/mc/RegionSnapshot.hpp"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_RegionSnaphot, mc,
"Logging specific to region snapshots");
-}
-
namespace simgrid {
namespace mc {
using simgrid::mc::remote;
#endif
-extern "C" {
-
XBT_LOG_NEW_CATEGORY(mc, "All MC categories");
-}
-
int MC_random(int min, int max)
{
xbt_assert(mc_mode != MC_MODE_SERVER);
using simgrid::mc::remote;
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_checkpoint, mc,
"Logging specific to mc_checkpoint");
-}
-
namespace simgrid {
namespace mc {
#include "src/mc/mc_private.h" // MC_deadlock_check()
#include "src/mc/mc_smx.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_client, mc, "MC client logic");
+extern "C" {
+
mc_client_t mc_client;
void MC_client_init(void)
* communicate with the MC (declared in modelchecker.h).
*/
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_client_api, mc,
"Public API for the model-checked application");
-}
-
// MC_random() is in mc_base.cpp
void MC_assert(int prop)
using simgrid::mc::remote;
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_comm_determinism, mc,
"Logging specific to MC communication determinism detection");
+extern "C" {
+
/********** Global variables **********/
xbt_dynar_t initial_communications_pattern;
using simgrid::mc::remote;
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_comm_pattern, mc,
"Logging specific to MC communication patterns");
+extern "C" {
+
mc_comm_pattern_t MC_comm_pattern_dup(mc_comm_pattern_t comm)
{
mc_comm_pattern_t res = xbt_new0(s_mc_comm_pattern_t, 1);
using simgrid::mc::remote;
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_compare, xbt,
"Logging specific to mc_compare in mc");
-}
-
namespace simgrid {
namespace mc {
#include "src/mc/mc_record.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_config, mc,
"Configuration of MC");
-}
-
#if HAVE_MC
namespace simgrid {
namespace mc {
using simgrid::mc::remote;
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_diff, xbt,
"Logging specific to mc_diff in mc");
+extern "C" {
+
/*********************************** Heap comparison ***********************************/
/***************************************************************************************/
#include "src/mc/mc_protocol.h"
#include "src/mc/mc_client.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc,
"Logging specific to MC (global)");
-}
-
e_mc_mode_t mc_mode;
namespace simgrid {
#include "src/mc/mc_protocol.h"
#include "src/mc/mc_client.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_ignore, mc,
"Logging specific to MC ignore mechanism");
+extern "C" {
+
// ***** Model-checked
void MC_ignore_heap(void *address, size_t size)
#include "src/mc/mc_safety.h"
#include "src/mc/mc_exit.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_liveness, mc,
"Logging specific to algorithms for liveness properties verification");
-}
-
/********* Global variables *********/
xbt_dynar_t acceptance_pairs;
#include "mc/mc.h"
#include "src/mc/mc_private.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_memory, mc,
"Logging specific to MC (memory)");
+extern "C" {
+
/* Initialize the model-checker memory subsystem */
/* It creates the two heap regions: std_heap and mc_heap */
void MC_memory_init()
#include "src/mc/mc_protocol.h"
#include "src/mc/mc_client.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_protocol, mc, "Generic MC protocol logic");
+extern "C" {
+
int MC_protocol_send(int socket, const void* message, std::size_t size)
{
XBT_DEBUG("Protocol [%s] send %s",
#include "src/mc/mc_liveness.h"
#endif
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_record, mc,
" Logging specific to MC record/replay facility");
+extern "C" {
+
char* MC_record_path = nullptr;
void MC_record_replay(mc_record_item_t start, std::size_t len)
using simgrid::mc::remote;
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_request, mc,
"Logging specific to MC (request)");
-}
-
static char *pointer_to_string(void *pointer);
static char *buff_size_to_string(size_t size);
#include "src/xbt/mmalloc/mmprivate.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_safety, mc,
"Logging specific to MC safety verification ");
-}
-
namespace simgrid {
namespace mc {
using simgrid::mc::remote;
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_state, mc,
"Logging specific to MC (state)");
+extern "C" {
+
/**
* \brief Creates a state data structure used by the exploration algorithm
*/
#include "src/mc/Process.hpp"
#include "src/mc/mc_smx.h"
-extern "C" {
-
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_visited, mc,
"Logging specific to state equaity detection mechanisms");
-}
-
namespace simgrid {
namespace mc {