Global variables are not marked as initialized
ID0001818: This issue was created automatically from Mantis Issue 1818. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0001818 | Frama-C | Plug-in > E-ACSL | public | 2014-06-25 | 2014-09-15 |
Reporter | arvidj | Assigned To | signoles | 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 :
Frama-C Git: b71d80ef E-ACSL Git: 19aea9a2202efc99fe3e268551e559358aa95751
Example:
int a = 0, b; int main(void) { int *p = &a, q = &b; /@assert \initialized(&b) ; / /@assert \initialized(q) ; / /@assert \initialized(p) ; */ }
Both a and b should be marked as initialized in the generated __e_acsl_memory_init, but this is not the case:
void __e_acsl_memory_init(void) { __store_block((void *)(& a),sizeof(int)); __store_block((void *)(& b),sizeof(int)); return; }