|
ESBMC
Efficient SMT-based Context-Bounded Model Checker
|
#include <goto-programs/exception_globals.h>#include <util/symtab/context.h>#include <util/symtab/symbol.h>#include <util/lang/c_types.h>#include <util/irep/std_types.h>#include <util/expr/expr_util.h>Functions | |
| void | create_exception_state_symbols (contextt &context) |
Idempotently register the exception-state globals in context, zero-initialised (thrown=false, typeid=0, value=NULL, uncaught_count=0). | |
| void create_exception_state_symbols | ( | contextt & | context | ) |
Idempotently register the exception-state globals in context, zero-initialised (thrown=false, typeid=0, value=NULL, uncaught_count=0).
If a symbol already exists — e.g. the operational-model std::uncaught_exceptions() pulled in __ESBMC_exc_uncaught_count as an extern declaration during library linking — its storage flags are upgraded in place (static, thread-local, zero-initialised) rather than left as a bare declaration. Safe to call once per run before lowering.