expression "term!=term" is considered always a predicate, rather than (in some contexts) a term
ID0002197: **This issue was created automatically from Mantis Issue 2197. Further discussion may take place here.** --- | **Id** | **Project** | **Category** | **View** | **Due Date** | **Updated** | | --- | --- | --- | --- | --- | --- | | ID0002197 | Frama-C | Kernel > ACSL implementation | public | 2015-12-07 | 2015-12-07 | | | | | | | | | --- | --- | --- | --- | --- | --- | | **Reporter** | Jochen | **Assigned To** | virgile | **Resolution** | open | | **Priority** | normal | **Severity** | feature | **Reproducibility** | always | | **Platform** | Sodium-20150201 | **OS** | - | **OS Version** | xubuntu14.04 | | **Product Version** | - | **Target Version** | - | **Fixed in Version** | - | ### Description : Running "frama-c 485.c -no-unicode" on the attached program results in an error message 485.c:2:[kernel] user error: comparison of incompatible types: integer and boolean in annotation. However, according to the manual "acsl-implementation-Sodium-20150201.pdf", p.16-17, fig.2.1, 2.2, the ACSL grammar allows for a derivation pred ------> term rel-op term ------> 2 > ( term ) ------> 2 > ( term bin-op term ) ------> 2 > ( id != id ) ------> 2 > (x != x) The remark on consecutive comparison operators (p.18) shouldn't apply due to the additional parantheses around "x!=x". ### Additional Information : (The file was boiled down from a file generated by a first version of "acslsmith", an adaption of "csmith".) ## Attachments - [485.c](/uploads/b362c071921e344811aef78b676cdf05/485.c)
issue