Skip to content
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

Z3_add_rec_def body is not a macro (confusion regarding the "is_macro" parameter in the C FFI) #5963

Merged
merged 1 commit into from
Apr 11, 2022

Conversation

let-def
Copy link
Contributor

@let-def let-def commented Apr 11, 2022

A test of my own involving recursive functions started to fail at some point after Z3 v4.8.9.
Unfortunately, I was not able to extract a small, reproducible test case:

  • my program is mainly using the C API to query Z3 incrementally
  • I could extract an smtlib script, but the bug did not appear when using Z3 CLI

I was able to narrow down the commit that introduced the bug. I think this is enough to fix it, though I don't understand much of Z3 codebase :).

Given it is in the FFI, that would explain the difference between the library and the CLI. Writing a testcase probably involves replicating the smtlib script with some C code.

@NikolajBjorner
Copy link
Contributor

do you have the commit SHA?

@let-def
Copy link
Contributor Author

let-def commented Apr 11, 2022

Sure, I based my branch on top of it, it's commit 0ba518b avoid perf abyss for macros.

@NikolajBjorner NikolajBjorner merged commit f43d9d0 into Z3Prover:master Apr 11, 2022
@let-def let-def deleted the rec-def-not-macro branch April 11, 2022 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants