access to volatile variable is eliminated from AST
ID0001589: **This issue was created automatically from Mantis Issue 1589. Further discussion may take place here.** --- | **Id** | **Project** | **Category** | **View** | **Due Date** | **Updated** | | --- | --- | --- | --- | --- | --- | | ID0001589 | Frama-C | Kernel | public | 2013-12-26 | 2014-03-13 | | | | | | | | | --- | --- | --- | --- | --- | --- | | **Reporter** | pascal | **Assigned To** | virgile | **Resolution** | fixed | | **Priority** | normal | **Severity** | minor | **Reproducibility** | always | | **Platform** | - | **OS** | - | **OS Version** | - | | **Product Version** | Frama-C GIT, precise the release id | **Target Version** | - | **Fixed in Version** | Frama-C Neon-20140301 | ### Description : ~ $ cat n.c volatile int x; int main(){ x; x; x; } ~ $ ~/ppc/bin/toplevel.opt -print n.c [kernel] preprocessing with "gcc -C -E -I. n.c" /* Generated by Frama-C */ int volatile x; int main(void) { int __retres; __retres = 0; return __retres; } This transformation does not respect the semantics of the program because x is volatile.
issue