From: Arnaud Giersch Date: Sat, 9 Mar 2019 15:04:32 +0000 (+0100) Subject: Fix xbt_assert with side effects. X-Git-Tag: v3_22~133 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/a4583c75a1dd9fbbfdd3e0112ccc152847893d22 Fix xbt_assert with side effects. --- diff --git a/src/kernel/resource/profile/trace_mgr.cpp b/src/kernel/resource/profile/trace_mgr.cpp index b0b40ca9c4..a796657473 100644 --- a/src/kernel/resource/profile/trace_mgr.cpp +++ b/src/kernel/resource/profile/trace_mgr.cpp @@ -100,8 +100,8 @@ Profile* Profile::from_string(const std::string& name, const std::string& input, if (sscanf(val.c_str(), "LOOPAFTER %lg\n", &periodicity) == 1) continue; - xbt_assert(sscanf(val.c_str(), "%lg %lg\n", &event.date_, &event.value_) == 2, "%s:%d: Syntax error in trace\n%s", - name.c_str(), linecount, input.c_str()); + XBT_ATTRIB_UNUSED int res = sscanf(val.c_str(), "%lg %lg\n", &event.date_, &event.value_); + xbt_assert(res == 2, "%s:%d: Syntax error in trace\n%s", name.c_str(), linecount, input.c_str()); xbt_assert(last_event->date_ <= event.date_, "%s:%d: Invalid trace: Events must be sorted, but time %g > time %g.\n%s", name.c_str(), linecount, diff --git a/teshsuite/simdag/flatifier/flatifier.cpp b/teshsuite/simdag/flatifier/flatifier.cpp index ac3b301c9c..844e307c7a 100644 --- a/teshsuite/simdag/flatifier/flatifier.cpp +++ b/teshsuite/simdag/flatifier/flatifier.cpp @@ -210,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);