Skip to content

Casts between different fixedbv types broken in goto-cc #2177

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

Closed
polgreen opened this issue May 10, 2018 · 0 comments
Closed

Casts between different fixedbv types broken in goto-cc #2177

polgreen opened this issue May 10, 2018 · 0 comments

Comments

@polgreen
Copy link
Contributor

polgreen commented May 10, 2018

Casts between different sizes of __CPROVER_fixedbv seem to have broken at some point since release 5.7, when the analysis is performed on a binary produced by goto-cc. Here is a minimal example:

int main()
{
	__CPROVER_fixedbv[16][8] BV;
	__CPROVER_fixedbv[32][16] BV2;
	BV2 = 100;
	BV = (__CPROVER_fixedbv[16][8])BV2;

	__CPROVER_assert(0,"");

}

Commands used to compile with goto-cc and analyse

goto-cc test.c -o test.output
cbmc test.ouput

This produces the following error:

CBMC version 5.8 64-bit x86_64 linux
Reading GOTO program from file
Reading: output_develop.binary
failed to find __CPROVER_architecture_fixed_for_float

I'm using goto-cc and cbmc at commit d069719

When I follow the same steps with CBMC release 5.7 (and the version of goto-cc included with 5.7), the analysis runs fine.

When I run the analysis directly on the test.c file with either version of CBMC, it runs fine

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

1 participant