A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
On some systems, sqrt(int) is not defined properly. On others its just implemented...
[simgrid.git]
/
src
/
surf
/
xml
/
surfxml_sax_cb.cpp
diff --git
a/src/surf/xml/surfxml_sax_cb.cpp
b/src/surf/xml/surfxml_sax_cb.cpp
index 26046c6b5e558ea7bbe7091ba892778381bfff7c..811474ea1b4e2d2196d239164d53904277ef3c4c 100644
(file)
--- a/
src/surf/xml/surfxml_sax_cb.cpp
+++ b/
src/surf/xml/surfxml_sax_cb.cpp
@@
-86,7
+86,7
@@
double surf_parse_get_double(const std::string& s)
{
try {
return std::stod(s);
- } catch (
std::invalid_argument& ia
) {
+ } catch (
const std::invalid_argument&
) {
surf_parse_error(s + " is not a double");
}
}
@@
-95,7
+95,7
@@
int surf_parse_get_int(const std::string& s)
{
try {
return std::stoi(s);
- } catch (
std::invalid_argument& ia
) {
+ } catch (
const std::invalid_argument&
) {
surf_parse_error(s + " is not a double");
}
}
@@
-171,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)
{
@@
-183,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);