Skip to content

Generate out-of-scope variable when using quantified variable in a \old

ID0001762: This issue was created automatically from Mantis Issue 1762. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0001762 Frama-C Plug-in > E-ACSL public 2014-04-25 2018-11-30
Reporter signoles Assigned To fmaurica Resolution fixed
Priority normal Severity minor Reproducibility always
Platform - OS - OS Version -
Product Version - Target Version Frama-C 18-Argon Fixed in Version Frama-C 18-Argon

Description :

===== a.i ===== /*@ ensures \forall integer i; 0 <= i < 10 ==> \old(t[i]) == 0; */ void f(int *t) { }

int main(void) { int t[10]; int i; for(i = 0; i < 10; i++) t[i] = 0; f(t); return 0; }

$ frama-c a.i -e-acsl -then-on e-acsl -print -ocode res.i $ ./gcc.sh res.i compiling res.i res.i: In function ‘__e_acsl_f’: res.i:84:53: error: ‘__e_acsl_i’ undeclared (first use in this function) res.i:84:53: note: each undeclared identifier is reported only once for each fun

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information