Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix xbt_assert with side effects.
[simgrid.git] / teshsuite / simdag / flatifier / flatifier.cpp
index bcbe27b..844e307 100644 (file)
@@ -35,14 +35,9 @@ static bool parse_cmdline(int* timings, char** platformFile, int argc, char** ar
 
 static void create_environment(xbt_os_timer_t parse_time, const char *platformFile)
 {
-  try {
-    xbt_os_cputimer_start(parse_time);
-    SD_create_environment(platformFile);
-    xbt_os_cputimer_stop(parse_time);
-  }
-  catch (std::exception& e) {
-    xbt_die("Error while loading %s: %s", platformFile, e.what());
-  }
+  xbt_os_cputimer_start(parse_time);
+  SD_create_environment(platformFile);
+  xbt_os_cputimer_stop(parse_time);
 }
 
 static void dump_hosts()
@@ -66,14 +61,14 @@ static void dump_hosts()
     if (not keys.empty()) {
       std::printf(">\n");
       std::sort(keys.begin(), keys.end());
-      for (std::string key : keys)
+      for (const std::string& key : keys)
         std::printf("    <prop id=\"%s\" value=\"%s\"/>\n", key.c_str(), props->at(key).c_str());
       std::printf("  </host>\n");
     } else {
       std::printf("/>\n");
     }
   }
-  std::free(hosts);
+  xbt_free(hosts);
 }
 
 static void dump_links()
@@ -96,7 +91,7 @@ static void dump_links()
     }
   }
 
-  std::free(links);
+  xbt_free(links);
 }
 
 static void dump_routers()
@@ -178,7 +173,7 @@ static void dump_routes()
       }
     }
   }
-  std::free(hosts);
+  xbt_free(hosts);
 }
 
 static void dump_platform()
@@ -215,8 +210,8 @@ int main(int argc, char** argv)
 
   SD_init(&argc, argv);
 
-  xbt_assert(parse_cmdline(&timings, &platformFile, argc, argv) && platformFile,
-             "Invalid command line arguments: expected [--timings] platformFile");
+  if (not parse_cmdline(&timings, &platformFile, argc, argv) || not platformFile)
+    xbt_die("Invalid command line arguments: expected [--timings] platformFile");
 
   XBT_DEBUG("%d,%s", timings, platformFile);