improve handling of function summaries with structs
[pet.git] / tests / summary2.scop
bloba51cd426acdee0327f66bcbed0d134e2e81ae8be
1 start: 401
2 end: 446
3 indent: "\t"
4 context: '[n] -> {  : n >= 0 and n <= 2147483647 }'
5 types:
6 - name: s
7   definition: "struct s {\n    int a;\n}"
8 arrays:
9 - context: '[n] -> {  : n >= 0 }'
10   extent: '[n] -> { A[i0] : i0 >= 0 and i0 <= -1 + n }'
11   element_type: struct s
12   element_size: 4
13   element_is_record: 1
14 - context: '[n] -> {  : n >= 0 }'
15   extent: '[n] -> { A_a[A[i0] -> a[]] : i0 >= 0 and i0 <= -1 + n }'
16   element_type: int
17   element_size: 4
18 statements:
19 - line: 27
20   domain: '[n] -> { S_0[] }'
21   schedule: '{ S_0[] -> [0] }'
22   body:
23     type: expression
24     expr:
25       type: call
26       name: set_odd
27       arguments:
28       - type: access
29         index: '[n] -> { S_0[] -> [(n)] }'
30         reference: __pet_ref_0
31         read: 1
32         write: 0
33       - type: access
34         may_write: '[n] -> { S_0[] -> A_a[A[o0] -> a[]] : exists (e0 = floor((-1 +
35           o0)/2): 2e0 = -1 + o0 and o0 >= 1 and o0 <= -1 + n) }'
36         must_write: '[n] -> {  }'
37         index: '[n] -> { S_0[] -> A[] }'
38         depth: 1
39         reference: __pet_ref_1
40         read: 0
41         write: 1