-
Notifications
You must be signed in to change notification settings - Fork 26
Update to CBMC 5.9 #150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update to CBMC 5.9 #150
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor comments + 2 linting errors
class twols_parse_optionst: | ||
public parse_options_baset, | ||
public language_uit | ||
public messaget |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Preferably add a messaget log
member than deriving from messaget
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to follow CBMC's example (cbmc_parse_optionst
used to inherit from language_uit
and now inherits from messaget
). Moving from inheritance to a member would require a lot of changes throughout the whole module, so I'd rather keep it as is for now to keep the changes minimal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok!
4936f5f
to
3599325
Compare
3599325
to
aa7acfc
Compare
Please update the submodule pointer and merge. |
Fix adjust_float_expressions include Fix bv_refinementt creation Add missing is_bottom and is_top methods Replace ID_malloc with ID_allocate Assign symbol_expr to function_application_exprt Replace deprecated forall_symbols FIx pointer_type creation Fix construction of address_of_exprt Convert ns.lookup argument to symbol_exprt Correctly construct pointer types Convert union_find from inheritance to attribute Fix langapi include Get rid of unused and deprecated time measuring Do not mention CBMC_VERSION in help - The header file cbmc/version.h has been removed and the version is now provided in the build process making it not possible to reference it in 2LS. Simplify GOTO program reading - CBMC 5.9 introduced a convenient API to parse the source program into a goto_modelt, make use of the API, simplify 2LS program reading. Also enable --show-symbol-table option Fix JSON trace outputting Remove deprecated java_bytecode include Fix write_goto_binary call Fix make_goto call Update symbol table manipulation Replace deprecated goto_functions_template Link unwindset Make malloc-related modifications more robust Revert "Disable constant propagation by default"
Signed-off-by: František Nečas <[email protected]>
Temporary commit, CBMC 5.9 introduced internal changes to built-in functions (such as malloc and free) breaking one of the assertions. Fixing this will likely be complicated and may be prone to changes in other versions. Signed-off-by: František Nečas <[email protected]>
Signed-off-by: František Nečas <[email protected]>
aa7acfc
to
6941059
Compare
Related: peterschrammel/cbmc#23
Changes:
Also memsafety tests which are correct are broken (one of the assertions failed). We tried to investigate the problem with @viktormalik and it seems to be related to changes in CBMC free implementation. Fixing this may be difficult so we agreed that it may be a good idea to leave it for a stable version (once the rebase is finished).