From: Martin Quinson Date: Fri, 22 Jun 2012 09:50:59 +0000 (+0200) Subject: MSG_config mc-related stuff is not enough to activate model-checking, the --cfg is... X-Git-Tag: v3_8~493 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/276959541aeb592113d450d79cf6eb3a39066dfe MSG_config mc-related stuff is not enough to activate model-checking, the --cfg is mandated (or MC initialization will occure to late). Warn users accordingly --- diff --git a/src/mc/mc_global.c b/src/mc/mc_global.c index 4876944315..b304337ad1 100644 --- a/src/mc/mc_global.c +++ b/src/mc/mc_global.c @@ -21,7 +21,11 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_global, mc, /* Configuration support */ e_mc_reduce_t mc_reduce_kind=e_mc_reduce_unset; +extern int _surf_init_status; void _mc_cfg_cb_reduce(const char *name, int pos) { + if (_surf_init_status && !_surf_do_model_check) { + xbt_die("You are specifying a reduction strategy after the initialization (through MSG_config?), but model-checking was not activated at config time (through --cfg=model-check:1). This won't work, sorry."); + } char *val= xbt_cfg_get_string(_surf_cfg_set, name); if (!strcasecmp(val,"none")) { mc_reduce_kind = e_mc_reduce_none; @@ -34,10 +38,16 @@ void _mc_cfg_cb_reduce(const char *name, int pos) { } void _mc_cfg_cb_checkpoint(const char *name, int pos) { + if (_surf_init_status && !_surf_do_model_check) { + xbt_die("You are specifying a checkpointing value after the initialization (through MSG_config?), but model-checking was not activated at config time (through --cfg=model-check:1). This won't work, sorry."); + } _surf_mc_checkpoint = xbt_cfg_get_int(_surf_cfg_set, name); xbt_cfg_set_int(_surf_cfg_set,"model-check",1); } void _mc_cfg_cb_property(const char *name, int pos) { + if (_surf_init_status && !_surf_do_model_check) { + xbt_die("You are specifying a property after the initialization (through MSG_config?), but model-checking was not activated at config time (through --cfg=model-check:1). This won't work, sorry."); + } _surf_mc_property_file= xbt_cfg_get_string(_surf_cfg_set, name); xbt_cfg_set_int(_surf_cfg_set,"model-check",1); } diff --git a/src/surf/surf_config.c b/src/surf/surf_config.c index b9e903bd36..0cff30ec83 100644 --- a/src/surf/surf_config.c +++ b/src/surf/surf_config.c @@ -337,8 +337,6 @@ void surf_config_init(int *argc, char **argv) /* Create the configuration support */ if (_surf_init_status == 0) { /* Only create stuff if not already inited */ - _surf_init_status = 1; - sprintf(description, "The model to use for the CPU. Possible values: "); p = description; @@ -643,6 +641,8 @@ void surf_config_init(int *argc, char **argv) surf_config_cmd_line(argc, argv); + + _surf_init_status = 1; } else { XBT_WARN("Call to surf_config_init() after initialization ignored"); }