source: CIVL/examples/mem/mem_tests/mem_union_widening_array.cvl

main
Last change on this file was 5257f98, checked in by Alex Wilton <awilton@…>, 2 months ago

Added out of bounds checking to mem_havoc. Fixed mem tests.

git-svn-id: svn://vsl.cis.udel.edu/civl/trunk@6013 fb995dde-84ed-4084-dfe6-e5aef3e2452c

  • Property mode set to 100644
File size: 571 bytes
Line 
1#include<mem.cvh>
2
3int a[10];
4
5int main() {
6 $mem m = &a[0];
7
8 m = $mem_union_widening(m, &a[1]);
9 // only if the two indices connect, the default widening operator will
10 // combine them precisely:
11 $assert($mem_contains(m, &a[0 .. 1]));
12 $assert(!$mem_contains(m, &a[2]));
13
14 // otherwise, the default widening operator will result in the whole
15 // array:
16 m = $mem_union_widening(m, &a[3]);
17 $assert($mem_contains(m, &a));
18
19 m = &a[0 .. 2];
20 m = $mem_union_widening(m, &a[1]);
21 $assert($mem_contains(m, &a[0 .. 2]));
22 $assert(!$mem_contains(m, &a));
23}
Note: See TracBrowser for help on using the repository browser.