Skip to content

JBMC: run replace-Java-nondet on function-by-function basis #1737

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

Conversation

smowton
Copy link
Contributor

@smowton smowton commented Jan 15, 2018

A trivial switch from a whole-program to a per-function pass. Depends on #1730; only review the latest commit.

This converts functions from conventional to via-global-variable return style
on a function-by-function basis. It results in some complication, as the globals
are now seen by the language's final pass, meaning it must ignore them for initialisation
purposes, and we must cope with functions not having their "true" type while other functions
are still being loaded.

One test in cbmc-java failed because it was written in C, which we don't adapt to support
incremental loading yet, so it is moved to the cbmc test directory, where it can still achieve
its goal of checking whether uncaught_exceptions_analysist can tolerate CPROVER_assert and
similar builtins, since cbmc also runs the remove_exceptions pass.
Copy link
Member

@peterschrammel peterschrammel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM modulo dependencies

@smowton
Copy link
Contributor Author

smowton commented Jan 24, 2018

Subsumed by #1740

@smowton smowton closed this Jan 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants