From 35b4a2c553557b7b012edabf1bab805c74bd7892 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Fri, 15 Mar 2013 10:29:25 +0100 Subject: [PATCH] Fixed gcc warnings and added error handling to shell escape --- kernel/register.cc | 4 +++- passes/scc/scc.cc | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/register.cc b/kernel/register.cc index 5c9b40cd1..ebb834c8f 100644 --- a/kernel/register.cc +++ b/kernel/register.cc @@ -142,7 +142,9 @@ void Pass::call(RTLIL::Design *design, std::string command) while (p >= s && (*p == '\r' || *p == '\n')) *(p--) = 0; log_header("Shell command: %s\n", s); - system(s); + int retCode = system(s); + if (retCode != 0) + log_cmd_error("Shell command returned error code %d.\n", retCode); return; } for (char *p = strtok_r(s, " \t\r\n", &saveptr); p; p = strtok_r(NULL, " \t\r\n", &saveptr)) { diff --git a/passes/scc/scc.cc b/passes/scc/scc.cc index e665fd09e..0dde3cbe8 100644 --- a/passes/scc/scc.cc +++ b/passes/scc/scc.cc @@ -73,6 +73,7 @@ struct SccWorker } if (cellLabels[cell].first == cellLabels[cell].second) + { if (cellStack.back() == cell) { cellStack.pop_back(); @@ -93,6 +94,7 @@ struct SccWorker sccList.push_back(scc); log("\n"); } + } } SccWorker(RTLIL::Design *design, RTLIL::Module *module, bool allCellTypes, int maxDepth) : design(design), module(module), sigmap(module) -- 2.30.2