source: CIVL/examples/mem/readset/pointer.cvl@ 2943294

1.23 2.0 main test-branch
Last change on this file since 2943294 was 4501911, checked in by Ziqing Luo <ziqing@…>, 7 years ago

add new examples to CIVL

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

  • Property mode set to 100644
File size: 400 bytes
Line 
1#include<mem.cvh>
2int main() {
3 int x,y,z;
4 int * p, * q;
5
6 x = 0, y = 0, z = 0;
7 p = &x; q = &y;
8 $read_set_push();
9 int a = *p + *q;
10
11 $mem m = $read_set_pop();
12 $mem oracle = ($mem)&x;
13
14 oracle = $mem_union(oracle, ($mem)&y);
15 oracle = $mem_union(oracle, ($mem)&p);
16 oracle = $mem_union(oracle, ($mem)&q);
17 oracle = $mem_union(oracle, ($mem)&a);
18 $assert($mem_equals(m, oracle));
19}
Note: See TracBrowser for help on using the repository browser.