From b7dd7c2dcd8e3e9b10407799f2978872a80f1860 Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Fri, 24 May 2019 16:22:34 +0200 Subject: [PATCH] Add proper error message for btor recursion_guard Signed-off-by: Clifford Wolf --- backends/btor/btor.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backends/btor/btor.cc b/backends/btor/btor.cc index 91f238fa5..511a11942 100644 --- a/backends/btor/btor.cc +++ b/backends/btor/btor.cc @@ -129,7 +129,13 @@ struct BtorWorker void export_cell(Cell *cell) { - log_assert(cell_recursion_guard.count(cell) == 0); + if (cell_recursion_guard.count(cell)) { + string cell_list; + for (auto c : cell_recursion_guard) + cell_list += stringf("\n %s", log_id(c)); + log_error("Found topological loop while processing cell %s. Active cells:%s\n", log_id(cell), cell_list.c_str()); + } + cell_recursion_guard.insert(cell); btorf_push(log_id(cell)); -- 2.30.2