Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix non-MC builds when MC-only dependencies are missing
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Fri, 31 Mar 2023 22:21:16 +0000 (00:21 +0200)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Fri, 31 Mar 2023 22:21:16 +0000 (00:21 +0200)
src/mc/api/State.hpp
src/mc/explo/DFSExplorer.cpp
src/mc/explo/DFSExplorer.hpp
src/mc/explo/Exploration.cpp
src/mc/remote/AppSide.cpp
src/mc/remote/CheckerSide.cpp
src/mc/transition/TransitionComm.cpp

index 36e7138..ad39ec5 100644 (file)
@@ -9,9 +9,12 @@
 #include "src/mc/api/ActorState.hpp"
 #include "src/mc/api/RemoteApp.hpp"
 #include "src/mc/api/strategy/Strategy.hpp"
-#include "src/mc/sosp/Snapshot.hpp"
 #include "src/mc/transition/Transition.hpp"
 
+#if SIMGRID_HAVE_MC
+#include "src/mc/sosp/Snapshot.hpp"
+#endif
+
 namespace simgrid::mc {
 
 /* A node in the exploration graph (kind-of) */
index a51cbd7..d2a9b1f 100644 (file)
@@ -4,13 +4,16 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "src/mc/explo/DFSExplorer.hpp"
-#include "src/mc/VisitedState.hpp"
 #include "src/mc/mc_config.hpp"
 #include "src/mc/mc_exit.hpp"
 #include "src/mc/mc_private.hpp"
 #include "src/mc/mc_record.hpp"
 #include "src/mc/transition/Transition.hpp"
 
+#if SIMGRID_HAVE_MC
+#include "src/mc/VisitedState.hpp"
+#endif
+
 #include "src/xbt/mmalloc/mmprivate.h"
 #include "xbt/log.h"
 #include "xbt/string.hpp"
@@ -136,6 +139,7 @@ void DFSExplorer::run()
       continue;
     }
 
+#if SIMGRID_HAVE_MC
     // Backtrack if we are revisiting a state we saw previously while applying state-equality reduction
     if (visited_state_ != nullptr) {
       XBT_DEBUG("State already visited (equal to state %ld), exploration stopped on this path.",
@@ -145,6 +149,7 @@ void DFSExplorer::run()
       this->backtrack();
       continue;
     }
+#endif
 
     // Search for the next transition
     // next_transition returns a pair<aid_t, double> in case we want to consider multiple state (eg. during backtrack)
@@ -261,10 +266,13 @@ void DFSExplorer::run()
 
       dot_output("\"%ld\" -> \"%ld\" [%s];\n", state->get_num(), stack_.back()->get_num(),
                  state->get_transition()->dot_string().c_str());
-    } else
+#if SIMGRID_HAVE_MC
+    } else {
       dot_output("\"%ld\" -> \"%ld\" [%s];\n", state->get_num(),
                  visited_state_->original_num_ == -1 ? visited_state_->num_ : visited_state_->original_num_,
                  state->get_transition()->dot_string().c_str());
+#endif
+    }
   }
   log_state();
 }
index c709edd..1b0f50e 100644 (file)
@@ -6,9 +6,13 @@
 #ifndef SIMGRID_MC_SAFETY_CHECKER_HPP
 #define SIMGRID_MC_SAFETY_CHECKER_HPP
 
-#include "src/mc/VisitedState.hpp"
+#include "src/mc/api/State.hpp"
 #include "src/mc/explo/Exploration.hpp"
 
+#if SIMGRID_HAVE_MC
+#include "src/mc/VisitedState.hpp"
+#endif
+
 #include <list>
 #include <memory>
 #include <string>
@@ -100,12 +104,15 @@ private:
 
   /** Stack representing the position in the exploration graph */
   stack_t stack_;
+#if SIMGRID_HAVE_MC
   VisitedStates visited_states_;
   std::unique_ptr<VisitedState> visited_state_;
+#else
+  void* visited_state_ = nullptr; /* The code uses it to detect whether we are doing stateful MC */
+#endif
 
   /** Opened states are states that still contains todo actors.
    *  When backtracking, we pick a state from it*/
-
   std::priority_queue<std::shared_ptr<State>, std::vector<std::shared_ptr<State>>, OpenedStatesCompare> opened_states_;
 
   /** Change current stack_ value to correspond to the one we would have
index 6b8366e..6efe841 100644 (file)
@@ -7,7 +7,10 @@
 #include "src/mc/mc_config.hpp"
 #include "src/mc/mc_exit.hpp"
 #include "src/mc/mc_private.hpp"
+
+#if SIMGRID_HAVE_MC
 #include "src/mc/sosp/RemoteProcessMemory.hpp"
+#endif
 
 #include <sys/wait.h>
 
index 9efa308..34bb539 100644 (file)
@@ -11,7 +11,9 @@
 #include "src/kernel/actor/SimcallObserver.hpp"
 #include "src/mc/mc_base.hpp"
 #include "src/mc/mc_config.hpp"
+#if SIMGRID_HAVE_MC
 #include "src/mc/sosp/RemoteProcessMemory.hpp"
+#endif
 #if HAVE_SMPI
 #include "src/smpi/include/private.hpp"
 #endif
index 3937d28..fb10475 100644 (file)
@@ -5,9 +5,13 @@
 
 #include "src/mc/remote/CheckerSide.hpp"
 #include "src/mc/explo/Exploration.hpp"
+#include "xbt/config.hpp"
+#include "xbt/system_error.hpp"
+
+#if SIMGRID_HAVE_MC
 #include "src/mc/explo/LivenessChecker.hpp"
 #include "src/mc/sosp/RemoteProcessMemory.hpp"
-#include "xbt/system_error.hpp"
+#endif
 
 #ifdef __linux__
 #include <sys/prctl.h>
index 8ae9d20..b374f19 100644 (file)
@@ -10,6 +10,7 @@
 #include "xbt/asserts.h"
 #include "xbt/string.hpp"
 
+#include <inttypes.h>
 #include <sstream>
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_trans_comm, mc_transition,