Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics in the check of library version vs. header version
[simgrid.git] / src / surf / surf_interface.cpp
index e6fdd84..8fdc1db 100644 (file)
@@ -339,6 +339,23 @@ static XBT_INLINE void surf_storage_free(void *r)
   delete static_cast<Storage*>(r);
 }
 
+void sg_version_check(int lib_version_major,int lib_version_minor,int lib_version_patch) {
+    if ((lib_version_major != SIMGRID_VERSION_MAJOR) || (lib_version_minor != SIMGRID_VERSION_MINOR)) {
+      fprintf(stderr,
+                 "FATAL ERROR: Your program was compiled with SimGrid version %d.%d.%d, "
+                 "and then linked against SimGrid %d.%d.%d. Please fix this.\n",
+              SIMGRID_VERSION_MAJOR,SIMGRID_VERSION_MINOR,SIMGRID_VERSION_PATCH,
+                         lib_version_major,lib_version_minor,lib_version_patch);
+      abort();
+    }
+    if (lib_version_patch != SIMGRID_VERSION_PATCH) {
+        fprintf(stderr,
+                 "Warning: Your program was compiled with SimGrid version %d.%d.%d, "
+                 "and then linked against SimGrid %d.%d.%d. Proceeding anyway.\n",
+                SIMGRID_VERSION_MAJOR,SIMGRID_VERSION_MINOR,SIMGRID_VERSION_PATCH,
+                         lib_version_major,lib_version_minor,lib_version_patch);
+    }
+}
 
 void sg_version(int *ver_major,int *ver_minor,int *ver_patch) {
   *ver_major = SIMGRID_VERSION_MAJOR;
@@ -728,11 +745,6 @@ void Action::initialize(Model *model, double cost, bool failed,
   m_lastUpdate = 0;
   m_suspended = false;
   m_hat = NOTSET;
-}
-
-Action::Action(Model *model, double cost, bool failed)
-{
-  initialize(model, cost, failed);
   p_category = NULL;
   p_stateHookup.prev = 0;
   p_stateHookup.next = 0;
@@ -744,18 +756,14 @@ Action::Action(Model *model, double cost, bool failed)
   p_stateSet->push_back(*this);
 }
 
+Action::Action(Model *model, double cost, bool failed)
+{
+  initialize(model, cost, failed);
+}
+
 Action::Action(Model *model, double cost, bool failed, lmm_variable_t var)
 {
   initialize(model, cost, failed, var);
-  p_category = NULL;
-  p_stateHookup.prev = 0;
-  p_stateHookup.next = 0;
-  if (failed)
-    p_stateSet = getModel()->getFailedActionSet();
-  else
-    p_stateSet = getModel()->getRunningActionSet();
-
-  p_stateSet->push_back(*this);
 }
 
 Action::~Action() {