Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Restore warning for unit-less values.
[simgrid.git] / src / surf / xml / surfxml_sax_cb.cpp
index 333c2e7..ef5aa09 100644 (file)
@@ -53,7 +53,7 @@ void surf_parse_error(const std::string& msg)
 
 void surf_parse_assert_netpoint(const std::string& hostname, const std::string& pre, const std::string& post)
 {
-  if (sg_netpoint_by_name_or_null(hostname.c_str()) != nullptr) // found
+  if (simgrid::s4u::Engine::get_instance()->netpoint_by_name_or_null(hostname) != nullptr) // found
     return;
 
   std::string msg = pre + hostname + post + " Existing netpoints: \n";
@@ -88,7 +88,6 @@ double surf_parse_get_double(const std::string& s)
     return std::stod(s);
   } catch (std::invalid_argument& ia) {
     surf_parse_error(s + " is not a double");
-    return -1;
   }
 }
 
@@ -98,7 +97,6 @@ int surf_parse_get_int(const std::string& s)
     return std::stoi(s);
   } catch (std::invalid_argument& ia) {
     surf_parse_error(s + " is not a double");
-    return -1;
   }
 }
 
@@ -127,7 +125,6 @@ std::vector<int>* explodesRadical(const std::string& radicals)
         break;
       default:
         surf_parse_error(std::string("Malformed radical: ") + group);
-        break;
     }
     for (int i = start; i <= end; i++)
       exploded->push_back(i);
@@ -174,7 +171,7 @@ unit_scale::unit_scale(std::initializer_list<std::tuple<const std::string, doubl
   }
 }
 
-/* Note: field `unit' for the last element of parameter `units' should be nullptr. */
+/* Note: no warning is issued for unit-less values when `name' is empty. */
 double surf_parse_get_value_with_unit(const char* string, const unit_scale& units, const char* entity_kind,
                                       const std::string& name, const char* error_msg, const char* default_unit)
 {
@@ -186,10 +183,9 @@ double surf_parse_get_value_with_unit(const char* string, const unit_scale& unit
   if (ptr == string)
     surf_parse_error(std::string("cannot parse number:") + string);
   if (ptr[0] == '\0') {
-    if (res == 0)
-      return res; // Ok, 0 can be unit-less
-
-    XBT_WARN("Deprecated unit-less value '%s' for %s %s. %s", string, entity_kind, name.c_str(), error_msg);
+    // Ok, 0 can be unit-less
+    if (res != 0 && not name.empty())
+      XBT_WARN("Deprecated unit-less value '%s' for %s %s. %s", string, entity_kind, name.c_str(), error_msg);
     ptr = (char*)default_unit;
   }
   auto u = units.find(ptr);
@@ -499,7 +495,6 @@ void ETag_surfxml_cluster(){
     break;
   default:
     surf_parse_error(std::string("Invalid cluster topology for cluster ") + cluster.id);
-    break;
   }
   cluster.topo_parameters = A_surfxml_cluster_topo___parameters;
   cluster.router_id = A_surfxml_cluster_router___id;
@@ -520,7 +515,6 @@ void ETag_surfxml_cluster(){
     break;
   default:
     surf_parse_error(std::string("Invalid cluster sharing policy for cluster ") + cluster.id);
-    break;
   }
   switch (AX_surfxml_cluster_bb___sharing___policy) {
   case A_surfxml_cluster_bb___sharing___policy_FATPIPE:
@@ -531,7 +525,6 @@ void ETag_surfxml_cluster(){
     break;
   default:
     surf_parse_error(std::string("Invalid bb sharing policy in cluster ") + cluster.id);
-    break;
   }
 
   sg_platf_new_cluster(&cluster);
@@ -621,7 +614,6 @@ void ETag_surfxml_link(){
     break;
   default:
     surf_parse_error(std::string("Invalid sharing policy in link ") + link.id);
-    break;
   }
 
   sg_platf_new_link(&link);
@@ -643,7 +635,6 @@ void STag_surfxml_link___ctn()
     break;
   default:
     surf_parse_error(std::string("Invalid direction for link ") + A_surfxml_link___ctn_id);
-    break;
   }
 
   const char* dirname = "";
@@ -836,7 +827,6 @@ void STag_surfxml_trace___connect()
     break;
   default:
     surf_parse_error("Invalid trace kind");
-    break;
   }
   sg_platf_trace_connect(&trace_connect);
 }
@@ -950,7 +940,6 @@ void ETag_surfxml_actor()
     break;
   default:
     surf_parse_error("Invalid on failure behavior");
-    break;
   }
 
   sg_platf_new_actor(&actor);