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

Unrecognized cval generating SMT using version 0.15 #188

Closed
rmn30 opened this issue Nov 24, 2022 · 6 comments
Closed

Unrecognized cval generating SMT using version 0.15 #188

rmn30 opened this issue Nov 24, 2022 · 6 comments

Comments

@rmn30
Copy link
Contributor

rmn30 commented Nov 24, 2022

I'm receiving an error when trying to generate SMT:

Error:
Unrecognised cval (zz42786/2, zz42784/2)

This worked in previous versions. I don't have a minimized test case yet.

@rmn30
Copy link
Contributor Author

rmn30 commented Nov 24, 2022

Looks like smt_cval is missing a case for V_tuple?

@rmn30
Copy link
Contributor Author

rmn30 commented Nov 24, 2022

Test case:

$property
function prop () -> bool = {
    let (x, y) = (true, false);
    x
}

sail -smt test.sail

Error:
Unrecognised cval (true, false)

@Alasdair
Copy link
Collaborator

It'll be this commit I think:

6c2c285

Solution should be to split the C.struct_value flag into that and a separate C.tuple_value flag, which would be the old behavior before that commit.

Another fix could be to apply our tuple->named struct rewrite before, so tuples are represented as SMTLIB datatypes.

@rmn30
Copy link
Contributor Author

rmn30 commented Nov 25, 2022

Thanks. I've implemented this locally and it appears to work but now I don't think there are any uses of C.tuple_value=true?

@rmn30
Copy link
Contributor Author

rmn30 commented Nov 25, 2022

@Alasdair
Copy link
Collaborator

isla will use C.tuple_value=true, but it lives in a separate repository

avsm pushed a commit to ocaml/opam-repository that referenced this issue Aug 30, 2023
…_manifest, sail_lem_backend, sail_latex_backend, sail_doc_backend, sail_coq_backend, sail_c_backend, sail and libsail (0.16)

CHANGES:

##### New documentation backend

A new documentation backend for integrating with Asciidoctor has been
added.

##### Automatic formatting (EXPERIMENTAL)

The `sail -fmt` option can be used to automatically format Sail
source. This currently misses some features and can produce ugly
output in some known cases, so is not ready for serious usage yet.

##### Fixes

Various bugfixes including:

* Issue 203: rems-project/sail#203
* Issue 202: rems-project/sail#202
* Issue 188: rems-project/sail#188
* Issue 187: rems-project/sail#187
* Issue 277: rems-project/sail#277

Various mapping issues such as:

* Issue 244: rems-project/sail#244

As well as other minor issues

The `val cast` syntax and support for implict casts is now entirely
removed, as mentioned in the previous release changes. The flags are
still allowed (to avoid breaking Makefiles) but no longer do anything.

The pattern completeness checker has been improved and is now context
sensitive in some cases.
nberth pushed a commit to nberth/opam-repository that referenced this issue Jun 18, 2024
…_manifest, sail_lem_backend, sail_latex_backend, sail_doc_backend, sail_coq_backend, sail_c_backend, sail and libsail (0.16)

CHANGES:

##### New documentation backend

A new documentation backend for integrating with Asciidoctor has been
added.

##### Automatic formatting (EXPERIMENTAL)

The `sail -fmt` option can be used to automatically format Sail
source. This currently misses some features and can produce ugly
output in some known cases, so is not ready for serious usage yet.

##### Fixes

Various bugfixes including:

* Issue 203: rems-project/sail#203
* Issue 202: rems-project/sail#202
* Issue 188: rems-project/sail#188
* Issue 187: rems-project/sail#187
* Issue 277: rems-project/sail#277

Various mapping issues such as:

* Issue 244: rems-project/sail#244

As well as other minor issues

The `val cast` syntax and support for implict casts is now entirely
removed, as mentioned in the previous release changes. The flags are
still allowed (to avoid breaking Makefiles) but no longer do anything.

The pattern completeness checker has been improved and is now context
sensitive in some cases.
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

No branches or pull requests

2 participants