Skip to content

Pb with annot.c in

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


Id Project Category View Due Date Updated
ID0000440 Frama-C Plug-in > jessie public 2010-04-04 2014-02-12
Reporter gava Assigned To virgile Resolution fixed
Priority normal Severity minor Reproducibility always
Platform - OS - OS Version -
Product Version Frama-C Beryllium-20090902 Target Version - Fixed in Version Frama-C Carbon-20101201-beta1

Description :

If you use

frama-c -jessie annot.c where annot.c (from /test/cil.) ==

int fact(int n) { int r = 1 ; while ( n > 0 ) { //@ assert n > 0 ; before: r = n-- ; //@ assert r == \at(rn,before) ; } return r ; }

Computation of VCs... File "why/annot.why", line 410, characters 74-82: Unbound label 'before'

(which is true when looking the file)

Additional Information :

The bug does not show up if the first assert is removed. So it seems the first assert "enclosed" the statement "before: r *= n-- ;"

Which means that the problem might come from the Frama-C parser itself, which might have built a wrong AST.

Virgile, any thoughts ?

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