pet_expr_access_set_access: set read/write on non-empty access relation
[pet.git] / tests / struct11.scop
bloba181a93740019c9f37e5e34f053454c105f6c625
1 start: 65
2 end: 127
3 indent: "\t"
4 context: '{  :  }'
5 types:
6 - name: s
7   definition: "struct s {\n    int a;\n    int b;\n}"
8 arrays:
9 - context: '{  :  }'
10   extent: '{ A[i0] : i0 >= 0 }'
11   element_type: int
12   element_size: 4
13 - context: '{  :  }'
14   extent: '{ s[] }'
15   element_type: struct s
16   element_size: 8
17   element_is_record: 1
18 - context: '{  :  }'
19   extent: '{ s_a[s[] -> a[]] }'
20   element_type: int
21   element_size: 4
22 - context: '{  :  }'
23   extent: '{ s_b[s[] -> b[]] }'
24   element_type: int
25   element_size: 4
26 statements:
27 - line: 9
28   domain: '{ S_0[] }'
29   schedule: '{ S_0[] -> [0] }'
30   body:
31     type: expression
32     expr:
33       type: op
34       operation: =
35       arguments:
36       - type: access
37         index: '{ S_0[] -> s_a[s[] -> a[]] }'
38         reference: __pet_ref_0
39         read: 0
40         write: 1
41       - type: int
42         value: 0
43 - line: 10
44   domain: '{ S_1[] }'
45   schedule: '{ S_1[] -> [1] }'
46   body:
47     type: expression
48     expr:
49       type: op
50       operation: =
51       arguments:
52       - type: access
53         index: '{ S_1[] -> s_b[s[] -> b[]] }'
54         reference: __pet_ref_1
55         read: 0
56         write: 1
57       - type: int
58         value: 1
59 - line: 11
60   domain: '{ S_2[] }'
61   schedule: '{ S_2[] -> [2] }'
62   body:
63     type: expression
64     expr:
65       type: op
66       operation: =
67       arguments:
68       - type: access
69         index: '{ [S_2[] -> [i0]] -> A[((i0) : i0 >= 0)] }'
70         reference: __pet_ref_3
71         read: 0
72         write: 1
73         arguments:
74         - type: access
75           index: '{ S_2[] -> s_a[s[] -> a[]] }'
76           reference: __pet_ref_2
77           read: 1
78           write: 0
79       - type: int
80         value: 5