3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

DRAT debugging updates

This commit is contained in:
Nikolaj Bjorner 2020-11-22 15:38:57 -08:00
parent 6d0b89a989
commit 797f50e699
6 changed files with 19 additions and 6 deletions

View file

@ -64,9 +64,9 @@ bool is_debug_enabled(const char * tag);
#define XASSERT(COND, EXTRA_CODE) DEBUG_CODE(if (assertions_enabled() && !(COND)) { notify_assertion_violation(__FILE__, __LINE__, #COND); { EXTRA_CODE } INVOKE_DEBUGGER(); })
#ifdef Z3DEBUG
# define UNREACHABLE() DEBUG_CODE(notify_assertion_violation(__FILE__, __LINE__, "UNREACHABLE CODE WAS REACHED."); INVOKE_DEBUGGER();)
# define UNREACHABLE() DEBUG_CODE(notify_assertion_violation(__FILE__, __LINE__, "UNEXPECTED CODE WAS REACHED."); INVOKE_DEBUGGER();)
#else
# define UNREACHABLE() { notify_assertion_violation(__FILE__, __LINE__, "UNREACHABLE CODE WAS REACHED."); exit(ERR_UNREACHABLE); } ((void) 0)
# define UNREACHABLE() { notify_assertion_violation(__FILE__, __LINE__, "UNEXPECTED CODE WAS REACHED."); exit(ERR_UNREACHABLE); } ((void) 0)
#endif
#ifdef Z3DEBUG

View file

@ -194,6 +194,8 @@ void sexpr::display(std::ostream & out) const {
sexpr_composite const * n = todo.back().first;
unsigned & idx = todo.back().second;
unsigned num = n->get_num_children();
if (num == 0)
out << "(";
while (idx < num) {
sexpr const * child = n->get_child(idx);
if (idx == 0)