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
}
issue