Too much type promotion for terms
ID0000744: This issue was created automatically from Mantis Issue 744. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0000744 | Frama-C | Kernel > ACSL implementation | public | 2011-03-04 | 2014-03-25 |
Reporter | signoles | Assigned To | virgile | Resolution | fixed |
Priority | normal | Severity | major | Reproducibility | have not tried |
Platform | - | OS | - | OS Version | - |
Product Version | - | Target Version | - | Fixed in Version | Frama-C Nitrogen-20111001 |
Description :
on the above example, C typing rules should apply. Thus no logic term should be logic integer. Unfortunately, in the current implementation, all of them are integer.
void main(void) { int x = 0, y = 0; long z = 0L; /*@ assert x == y; / // x and y are promoted to integer; should be promoted to int instead /@ assert x == z; */ // x and z are promoted to integer. x should be promoted to long instead }