Rafael Sá Menezes
Rafael Sá Menezes
> In what sense is the way the current globals are declared not "proper"? Currently, they are all across the project source. Sometimes they are not even needed. So by...
As discussed at https://github.com/esbmc/esbmc/pull/769. Config might be refactored into the DI pattern.
I started looking at how config can be revamped in order to remove it as a global. My idea so far, is to: 1. Apply the dependency inversion on it...
> Having logging as non-member functions certainly simplifies most constructors and classes that now have to use a messaget object; It might be simpler if we explicitly make a distinction...
> Having the global (modifiable) state collected in or accessible centrally through the config is perhaps not a bad thing If it is explicitly and is the behavior that we...
This patch is creating a new issue: `esbmc: ../src/clang-c-frontend/expr2c.cpp:1094: virtual std::string expr2ct::convert_struct(const exprt&, unsigned int&): Assertion components.size() == src.operands().size()' failed.` ```c #include typedef struct { int b; pthread_mutex_t c }...
On Linux I get: ``` *** Checking base case, k = 1 Starting Bounded Model Checking Not unwinding loop 1 iteration 1 file main.c line 16 function main Symex completed...
> Do we get any noticeable improvements when you tested it? It was better for Windows and worse for Linux.
> How shall we proceed with this PR? I think we should leave it open and add the `won't merge` label.
This PR seems to be affecting termination. So we either: 1. Define why this guard exists and how to implement it correctly; 2. Make it optional for termination.