From a4583c75a1dd9fbbfdd3e0112ccc152847893d22 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Sat, 9 Mar 2019 16:04:32 +0100 Subject: [PATCH] Fix xbt_assert with side effects. --- src/kernel/resource/profile/trace_mgr.cpp | 4 ++-- teshsuite/simdag/flatifier/flatifier.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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); -- 2.20.1