1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
CORE dfcc-only
main.c
--dfcc main --apply-loop-contracts _ --no-standard-checks
^EXIT=0$
^SIGNAL=0$
^\[main.loop_assigns.\d+\] line 8 Check assigns clause inclusion for loop .*: SUCCESS$
^\[main.loop_invariant_base.\d+\] line 8 Check invariant before entry for loop .*: SUCCESS$
^\[main.loop_invariant_step.\d+\] line 8 Check invariant after step for loop .*: SUCCESS$
^\[main.loop_step_unwinding.\d+\] line 8 Check step was unwound for loop .*: SUCCESS$
^\[main.loop_decreases.\d+\] line 8 Check variant decreases after step for loop .*: SUCCESS$
^\[main.loop_assigns.\d+\] line 17 Check assigns clause inclusion for loop .*: SUCCESS$
^\[main.loop_invariant_base.\d+\] line 17 Check invariant before entry for loop .*: SUCCESS$
^\[main.loop_invariant_step.\d+\] line 17 Check invariant after step for loop .*: SUCCESS$
^\[main.loop_step_unwinding.\d+\] line 17 Check step was unwound for loop .*: SUCCESS$
^\[main.loop_decreases.\d+\] line 17 Check variant decreases after step for loop .*: SUCCESS$
^\[main\.assigns\.\d+\].*line 23 Check that s is assignable: SUCCESS$
^\[main\.assigns\.\d+\].*line 24 Check that a is assignable: SUCCESS$
^\[main\.assigns\.\d+\].*line 27 Check that s is assignable: SUCCESS$
^\[main\.assertion.\d+\] .* assertion s == n: SUCCESS$
^VERIFICATION SUCCESSFUL$
--
This test checks that nested loops, `for` loops,
and loop-local declarations of the index variable are correctly handled.
|