Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
s/MC_IS_ENABLED/MC_is_active()/ to remove an unfriendly pitfall of the codebase
[simgrid.git] / include / simgrid / modelchecker.h
index 3d846c2..65d437a 100644 (file)
 
 #ifdef HAVE_MC
 
-extern int _surf_do_model_check;
-#define MC_IS_ENABLED _surf_do_model_check
+extern int _surf_do_model_check; /* please don't use directly: we inline MC_is_active, but that's what you should use */
+
+static int MC_is_active(void) {
+  return _surf_do_model_check;
+}
 
 XBT_PUBLIC(void) MC_assert(int);
 XBT_PUBLIC(int) MC_random(int min, int max);
@@ -23,9 +26,12 @@ XBT_PUBLIC(void) MC_automaton_new_propositional_symbol(const char* id, void* fct
 
 #else
 
-#define MC_IS_ENABLED 0
 #define MC_assert(a) xbt_assert(a)
 
+static int MC_is_active(void) {
+  return 0;
+}
+
 #endif