Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Iris
RefinedC
Commits
5c50af1e
Commit
5c50af1e
authored
May 25, 2021
by
Michael Sammler
Browse files
update talk demo 3
parent
940e97dc
Pipeline
#47797
passed with stage
in 29 minutes and 36 seconds
Changes
2
Pipelines
7
Hide whitespace changes
Inline
Side-by-side
examples/proofs/talk_demo3/generated_code.v
View file @
5c50af1e
...
...
@@ -41,40 +41,47 @@ Section code.
Definition
loc_36
:
location_info
:
=
LocationInfo
file_0
34
2
34
24
.
Definition
loc_37
:
location_info
:
=
LocationInfo
file_0
35
2
37
3
.
Definition
loc_38
:
location_info
:
=
LocationInfo
file_0
35
30
37
3
.
Definition
loc_40
:
location_info
:
=
LocationInfo
file_0
35
5
35
28
.
Definition
loc_41
:
location_info
:
=
LocationInfo
file_0
35
5
35
10
.
Definition
loc_42
:
location_info
:
=
LocationInfo
file_0
35
5
35
10
.
Definition
loc_43
:
location_info
:
=
LocationInfo
file_0
35
14
35
28
.
Definition
loc_44
:
location_info
:
=
LocationInfo
file_0
34
2
34
8
.
Definition
loc_45
:
location_info
:
=
LocationInfo
file_0
34
2
34
8
.
Definition
loc_46
:
location_info
:
=
LocationInfo
file_0
34
9
34
15
.
Definition
loc_47
:
location_info
:
=
LocationInfo
file_0
34
10
34
15
.
Definition
loc_48
:
location_info
:
=
LocationInfo
file_0
34
17
34
22
.
Definition
loc_49
:
location_info
:
=
LocationInfo
file_0
34
17
34
22
.
Definition
loc_50
:
location_info
:
=
LocationInfo
file_0
33
18
33
29
.
Definition
loc_51
:
location_info
:
=
LocationInfo
file_0
33
18
33
23
.
Definition
loc_52
:
location_info
:
=
LocationInfo
file_0
33
18
33
23
.
Definition
loc_53
:
location_info
:
=
LocationInfo
file_0
33
32
33
46
.
Definition
loc_54
:
location_info
:
=
LocationInfo
file_0
33
2
33
12
.
Definition
loc_55
:
location_info
:
=
LocationInfo
file_0
33
2
33
7
.
Definition
loc_56
:
location_info
:
=
LocationInfo
file_0
33
2
33
7
.
Definition
loc_57
:
location_info
:
=
LocationInfo
file_0
33
15
33
16
.
Definition
loc_58
:
location_info
:
=
LocationInfo
file_0
32
29
32
60
.
Definition
loc_59
:
location_info
:
=
LocationInfo
file_0
32
29
32
34
.
Definition
loc_60
:
location_info
:
=
LocationInfo
file_0
32
29
32
34
.
Definition
loc_61
:
location_info
:
=
LocationInfo
file_0
32
35
32
59
.
Definition
loc_64
:
location_info
:
=
LocationInfo
file_0
31
18
31
29
.
Definition
loc_65
:
location_info
:
=
LocationInfo
file_0
31
18
31
23
.
Definition
loc_66
:
location_info
:
=
LocationInfo
file_0
31
18
31
23
.
Definition
loc_67
:
location_info
:
=
LocationInfo
file_0
31
32
31
46
.
Definition
loc_68
:
location_info
:
=
LocationInfo
file_0
31
2
31
12
.
Definition
loc_69
:
location_info
:
=
LocationInfo
file_0
31
2
31
7
.
Definition
loc_70
:
location_info
:
=
LocationInfo
file_0
31
2
31
7
.
Definition
loc_71
:
location_info
:
=
LocationInfo
file_0
31
15
31
16
.
Definition
loc_72
:
location_info
:
=
LocationInfo
file_0
30
29
30
60
.
Definition
loc_73
:
location_info
:
=
LocationInfo
file_0
30
29
30
34
.
Definition
loc_74
:
location_info
:
=
LocationInfo
file_0
30
29
30
34
.
Definition
loc_75
:
location_info
:
=
LocationInfo
file_0
30
35
30
59
.
Definition
loc_39
:
location_info
:
=
LocationInfo
file_0
36
4
36
28
.
Definition
loc_40
:
location_info
:
=
LocationInfo
file_0
36
11
36
26
.
Definition
loc_41
:
location_info
:
=
LocationInfo
file_0
36
11
36
21
.
Definition
loc_42
:
location_info
:
=
LocationInfo
file_0
36
11
36
21
.
Definition
loc_43
:
location_info
:
=
LocationInfo
file_0
36
11
36
16
.
Definition
loc_44
:
location_info
:
=
LocationInfo
file_0
36
11
36
16
.
Definition
loc_45
:
location_info
:
=
LocationInfo
file_0
36
25
36
26
.
Definition
loc_47
:
location_info
:
=
LocationInfo
file_0
35
5
35
28
.
Definition
loc_48
:
location_info
:
=
LocationInfo
file_0
35
5
35
10
.
Definition
loc_49
:
location_info
:
=
LocationInfo
file_0
35
5
35
10
.
Definition
loc_50
:
location_info
:
=
LocationInfo
file_0
35
14
35
28
.
Definition
loc_51
:
location_info
:
=
LocationInfo
file_0
34
2
34
8
.
Definition
loc_52
:
location_info
:
=
LocationInfo
file_0
34
2
34
8
.
Definition
loc_53
:
location_info
:
=
LocationInfo
file_0
34
9
34
15
.
Definition
loc_54
:
location_info
:
=
LocationInfo
file_0
34
10
34
15
.
Definition
loc_55
:
location_info
:
=
LocationInfo
file_0
34
17
34
22
.
Definition
loc_56
:
location_info
:
=
LocationInfo
file_0
34
17
34
22
.
Definition
loc_57
:
location_info
:
=
LocationInfo
file_0
33
18
33
29
.
Definition
loc_58
:
location_info
:
=
LocationInfo
file_0
33
18
33
23
.
Definition
loc_59
:
location_info
:
=
LocationInfo
file_0
33
18
33
23
.
Definition
loc_60
:
location_info
:
=
LocationInfo
file_0
33
32
33
46
.
Definition
loc_61
:
location_info
:
=
LocationInfo
file_0
33
2
33
12
.
Definition
loc_62
:
location_info
:
=
LocationInfo
file_0
33
2
33
7
.
Definition
loc_63
:
location_info
:
=
LocationInfo
file_0
33
2
33
7
.
Definition
loc_64
:
location_info
:
=
LocationInfo
file_0
33
15
33
16
.
Definition
loc_65
:
location_info
:
=
LocationInfo
file_0
32
29
32
60
.
Definition
loc_66
:
location_info
:
=
LocationInfo
file_0
32
29
32
34
.
Definition
loc_67
:
location_info
:
=
LocationInfo
file_0
32
29
32
34
.
Definition
loc_68
:
location_info
:
=
LocationInfo
file_0
32
35
32
59
.
Definition
loc_71
:
location_info
:
=
LocationInfo
file_0
31
18
31
29
.
Definition
loc_72
:
location_info
:
=
LocationInfo
file_0
31
18
31
23
.
Definition
loc_73
:
location_info
:
=
LocationInfo
file_0
31
18
31
23
.
Definition
loc_74
:
location_info
:
=
LocationInfo
file_0
31
32
31
46
.
Definition
loc_75
:
location_info
:
=
LocationInfo
file_0
31
2
31
12
.
Definition
loc_76
:
location_info
:
=
LocationInfo
file_0
31
2
31
7
.
Definition
loc_77
:
location_info
:
=
LocationInfo
file_0
31
2
31
7
.
Definition
loc_78
:
location_info
:
=
LocationInfo
file_0
31
15
31
16
.
Definition
loc_79
:
location_info
:
=
LocationInfo
file_0
30
29
30
60
.
Definition
loc_80
:
location_info
:
=
LocationInfo
file_0
30
29
30
34
.
Definition
loc_81
:
location_info
:
=
LocationInfo
file_0
30
29
30
34
.
Definition
loc_82
:
location_info
:
=
LocationInfo
file_0
30
35
30
59
.
(* Definition of struct [list_node]. *)
Program
Definition
struct_list_node
:
=
{|
...
...
@@ -133,32 +140,35 @@ Section code.
f_code
:
=
(
<[
"#0"
:
=
"node1"
<-{
void
*
}
LocInfoE
loc_7
2
(
UnOp
(
CastOp
$
PtrOp
)
(
PtrOp
)
(
LocInfoE
loc_7
2
(
Call
(
LocInfoE
loc_
74
(
global_alloc
))
[@{
expr
}
LocInfoE
loc_
75
(
i2v
(
layout_of
struct_list_node
).(
ly_size
)
size_t
)
])))
;
LocInfoE
loc_7
9
(
UnOp
(
CastOp
$
PtrOp
)
(
PtrOp
)
(
LocInfoE
loc_7
9
(
Call
(
LocInfoE
loc_
81
(
global_alloc
))
[@{
expr
}
LocInfoE
loc_
82
(
i2v
(
layout_of
struct_list_node
).(
ly_size
)
size_t
)
])))
;
locinfo
:
loc_31
;
LocInfoE
loc_
68
((
LocInfoE
loc_6
9
(!{
void
*}
(
LocInfoE
loc_7
0
(
"node1"
))))
at
{
struct_list_node
}
"val"
)
<-{
it_layout
i32
}
LocInfoE
loc_7
1
(
i2v
1
i32
)
;
LocInfoE
loc_
75
((
LocInfoE
loc_
7
6
(!{
void
*}
(
LocInfoE
loc_7
7
(
"node1"
))))
at
{
struct_list_node
}
"val"
)
<-{
it_layout
i32
}
LocInfoE
loc_7
8
(
i2v
1
i32
)
;
locinfo
:
loc_32
;
LocInfoE
loc_
64
((
LocInfoE
loc_
65
(!{
void
*}
(
LocInfoE
loc_
66
(
"node1"
))))
at
{
struct_list_node
}
"next"
)
<-{
void
*
}
LocInfoE
loc_
6
7
(
NULL
)
;
LocInfoE
loc_
71
((
LocInfoE
loc_
72
(!{
void
*}
(
LocInfoE
loc_
73
(
"node1"
))))
at
{
struct_list_node
}
"next"
)
<-{
void
*
}
LocInfoE
loc_7
4
(
NULL
)
;
"node2"
<-{
void
*
}
LocInfoE
loc_5
8
(
UnOp
(
CastOp
$
PtrOp
)
(
PtrOp
)
(
LocInfoE
loc_5
8
(
Call
(
LocInfoE
loc_6
0
(
global_alloc
))
[@{
expr
}
LocInfoE
loc_6
1
(
i2v
(
layout_of
struct_list_node
).(
ly_size
)
size_t
)
])))
;
LocInfoE
loc_
6
5
(
UnOp
(
CastOp
$
PtrOp
)
(
PtrOp
)
(
LocInfoE
loc_
6
5
(
Call
(
LocInfoE
loc_6
7
(
global_alloc
))
[@{
expr
}
LocInfoE
loc_6
8
(
i2v
(
layout_of
struct_list_node
).(
ly_size
)
size_t
)
])))
;
locinfo
:
loc_34
;
LocInfoE
loc_
54
((
LocInfoE
loc_
55
(!{
void
*}
(
LocInfoE
loc_
5
6
(
"node2"
))))
at
{
struct_list_node
}
"val"
)
<-{
it_layout
i32
}
LocInfoE
loc_
57
(
i2v
2
i32
)
;
LocInfoE
loc_
61
((
LocInfoE
loc_
62
(!{
void
*}
(
LocInfoE
loc_6
3
(
"node2"
))))
at
{
struct_list_node
}
"val"
)
<-{
it_layout
i32
}
LocInfoE
loc_
64
(
i2v
2
i32
)
;
locinfo
:
loc_35
;
LocInfoE
loc_5
0
((
LocInfoE
loc_5
1
(!{
void
*}
(
LocInfoE
loc_5
2
(
"node2"
))))
at
{
struct_list_node
}
"next"
)
<-{
void
*
}
LocInfoE
loc_
53
(
NULL
)
;
LocInfoE
loc_5
7
((
LocInfoE
loc_5
8
(!{
void
*}
(
LocInfoE
loc_5
9
(
"node2"
))))
at
{
struct_list_node
}
"next"
)
<-{
void
*
}
LocInfoE
loc_
60
(
NULL
)
;
locinfo
:
loc_36
;
expr
:
(
LocInfoE
loc_36
(
Call
(
LocInfoE
loc_
4
5
(
global_append
))
[@{
expr
}
LocInfoE
loc_
46
(&(
LocInfoE
loc_4
7
(
"node1"
)))
;
LocInfoE
loc_
48
(
use
{
void
*}
(
LocInfoE
loc_
49
(
"node2"
)))
]))
;
locinfo
:
loc_4
0
;
if
:
LocInfoE
loc_4
0
(
UnOp
(
CastOp
$
IntOp
bool_it
)
(
IntOp
i32
)
(
LocInfoE
loc_4
0
((
LocInfoE
loc_4
1
(
use
{
void
*}
(
LocInfoE
loc_4
2
(
"node1"
))))
!={
PtrOp
,
PtrOp
}
(
LocInfoE
loc_
43
(
NULL
)))))
expr
:
(
LocInfoE
loc_36
(
Call
(
LocInfoE
loc_5
2
(
global_append
))
[@{
expr
}
LocInfoE
loc_
53
(&(
LocInfoE
loc_
5
4
(
"node1"
)))
;
LocInfoE
loc_
55
(
use
{
void
*}
(
LocInfoE
loc_
56
(
"node2"
)))
]))
;
locinfo
:
loc_4
7
;
if
:
LocInfoE
loc_4
7
(
UnOp
(
CastOp
$
IntOp
bool_it
)
(
IntOp
i32
)
(
LocInfoE
loc_4
7
((
LocInfoE
loc_4
8
(
use
{
void
*}
(
LocInfoE
loc_4
9
(
"node1"
))))
!={
PtrOp
,
PtrOp
}
(
LocInfoE
loc_
50
(
NULL
)))))
then
Goto
"#1"
locinfo
:
loc_39
;
Goto
"#1"
else
Goto
"#2"
]>
$
<[
"#1"
:
=
locinfo
:
loc_39
;
assert
:
(
LocInfoE
loc_40
(
UnOp
(
CastOp
$
IntOp
bool_it
)
(
IntOp
i32
)
(
LocInfoE
loc_40
((
LocInfoE
loc_41
(
use
{
it_layout
i32
}
(
LocInfoE
loc_42
((
LocInfoE
loc_43
(!{
void
*}
(
LocInfoE
loc_44
(
"node1"
))))
at
{
struct_list_node
}
"val"
))))
={
IntOp
i32
,
IntOp
i32
}
(
LocInfoE
loc_45
(
i2v
1
i32
))))))
;
Return
(
VOID
)
]>
$
<[
"#2"
:
=
...
...
examples/talk_demo3.c
View file @
5c50af1e
...
...
@@ -33,9 +33,6 @@ void test() {
node2
->
val
=
2
;
node2
->
next
=
NULL
;
append
(
&
node1
,
node2
);
if
(
node1
!=
NULL
)
{
/*
assert(node1->val == 1);
*/
assert
(
node1
->
val
==
1
);
}
/* assert(node1->next->val == 2); */
/* free(sizeof(struct list_node), node1->next); */
/* free(sizeof(struct list_node), node1); */
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment