Skip to content

Commit 3dbe9e2

Browse files
committed
Configure some packages as trusted for goose
1 parent 821c3cf commit 3dbe9e2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+1371
-205
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
SRC_DIRS := 'src' 'external' 'new' 'new_trusted_code'
1+
SRC_DIRS := 'src' 'external' 'new'
22
ALL_VFILES := $(shell find $(SRC_DIRS) -not -path "external/coqutil/etc/coq-scripts/*" -name "*.v")
33
VFILES := $(shell find 'src' -name "*.v")
44
QUICK_CHECK_FILES := $(shell find 'src/program_proof/examples' -name "*.v")

_CoqProject

-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,4 @@
2929
-Q external/record-update/src RecordUpdate
3030
-Q external/coq-tactical/src Tactical
3131
-Q external/iris-named-props/src iris_named_props
32-
-Q new_trusted_code New.code
33-
-Q new_code_axioms New.code
34-
-Q new_partial_axioms New.code_axioms
3532
-Q new New

new/code/bytes.v

+12-1
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,22 @@ Axiom asciiSpace'init : val.
1616

1717
Definition pkg_name' : go_string := "bytes".
1818

19-
Definition vars' : list (go_string * go_type) := [("ErrTooLarge"%go, error); ("errNegativeRead"%go, error); ("errUnreadByte"%go, error); ("asciiSpace"%go, arrayT 256 uint8T)].
19+
Definition vars' : list (go_string * go_type) := [].
2020

2121
Definition functions' : list (go_string * val) := [].
2222

2323
Definition msets' : list (go_string * (list (go_string * val))) := [].
2424

25+
Axiom _'init : val.
26+
27+
Definition initialize' : val :=
28+
rec: "initialize'" <> :=
29+
globals.package_init pkg_name' vars' functions' msets' (λ: <>,
30+
exception_do (do: (ErrTooLarge'init #());;;
31+
do: (errNegativeRead'init #());;;
32+
do: (errUnreadByte'init #());;;
33+
do: (asciiSpace'init #()))
34+
).
35+
2536
End code.
2637
End bytes.

new/code/context.v

+11-2
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,21 @@ Axiom closedchan'init : val.
1818

1919
Definition pkg_name' : go_string := "context".
2020

21-
Definition vars' : list (go_string * go_type) := [("Canceled"%go, error); ("DeadlineExceeded"%go, error); ("goroutines"%go, atomic.Int32); ("cancelCtxKey"%go, intT); ("closedchan"%go, chanT (structT [
22-
]))].
21+
Definition vars' : list (go_string * go_type) := [].
2322

2423
Definition functions' : list (go_string * val) := [].
2524

2625
Definition msets' : list (go_string * (list (go_string * val))) := [].
2726

27+
Axiom _'init : val.
28+
29+
Definition initialize' : val :=
30+
rec: "initialize'" <> :=
31+
globals.package_init pkg_name' vars' functions' msets' (λ: <>,
32+
exception_do (do: (Canceled'init #());;;
33+
do: (DeadlineExceeded'init #());;;
34+
do: (closedchan'init #()))
35+
).
36+
2837
End code.
2938
End context.

new/code/crypto/rand.v

+9-1
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,19 @@ Axiom altGetRandom'init : val.
1212

1313
Definition pkg_name' : go_string := "crypto/rand".
1414

15-
Definition vars' : list (go_string * go_type) := [("Reader"%go, io.Reader); ("altGetRandom"%go, funcT)].
15+
Definition vars' : list (go_string * go_type) := [].
1616

1717
Definition functions' : list (go_string * val) := [].
1818

1919
Definition msets' : list (go_string * (list (go_string * val))) := [].
2020

21+
Axiom _'init : val.
22+
23+
Definition initialize' : val :=
24+
rec: "initialize'" <> :=
25+
globals.package_init pkg_name' vars' functions' msets' (λ: <>,
26+
exception_do (do: #())
27+
).
28+
2129
End code.
2230
End rand.

new/code/errors.v

+10-1
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,20 @@ Axiom errorType'init : val.
1212

1313
Definition pkg_name' : go_string := "errors".
1414

15-
Definition vars' : list (go_string * go_type) := [("ErrUnsupported"%go, error); ("errorType"%go, reflectlite.Type)].
15+
Definition vars' : list (go_string * go_type) := [].
1616

1717
Definition functions' : list (go_string * val) := [].
1818

1919
Definition msets' : list (go_string * (list (go_string * val))) := [].
2020

21+
Axiom _'init : val.
22+
23+
Definition initialize' : val :=
24+
rec: "initialize'" <> :=
25+
globals.package_init pkg_name' vars' functions' msets' (λ: <>,
26+
exception_do (do: (ErrUnsupported'init #());;;
27+
do: (errorType'init #()))
28+
).
29+
2130
End code.
2231
End errors.

new/code/etcdclient.v

+6
Original file line numberDiff line numberDiff line change
@@ -150,5 +150,11 @@ Definition functions' : list (go_string * val) := [].
150150

151151
Definition msets' : list (go_string * (list (go_string * val))) := [("KeyValue"%go, []); ("KeyValue'ptr"%go, []); ("ResponseHeader"%go, []); ("ResponseHeader'ptr"%go, []); ("PutRequest"%go, []); ("PutRequest'ptr"%go, []); ("PutResponse"%go, []); ("PutResponse'ptr"%go, []); ("opType"%go, []); ("opType'ptr"%go, []); ("Op"%go, []); ("Op'ptr"%go, []); ("OpOption"%go, []); ("OpOption'ptr"%go, []); ("SortTarget"%go, []); ("SortTarget'ptr"%go, []); ("SortOrder"%go, []); ("SortOrder'ptr"%go, []); ("SortOption"%go, []); ("SortOption'ptr"%go, []); ("LeaseID"%go, []); ("LeaseID'ptr"%go, []); ("Cmp"%go, []); ("Cmp'ptr"%go, []); ("Compare"%go, []); ("Compare'ptr"%go, []); ("Compare_CompareResult"%go, []); ("Compare_CompareResult'ptr"%go, []); ("Compare_CompareTarget"%go, []); ("Compare_CompareTarget'ptr"%go, [])].
152152

153+
Definition initialize' : val :=
154+
rec: "initialize'" <> :=
155+
globals.package_init pkg_name' vars' functions' msets' (λ: <>,
156+
exception_do (do: #())
157+
).
158+
153159
End code.
154160
End etcdclient.

new/code/fmt.v

+1-24
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,5 @@
11
(* autogenerated from fmt *)
22
From New.golang Require Import defn.
33

4-
Module fmt.
5-
Section code.
6-
Context `{ffi_syntax}.
4+
Require Export New.trusted_code.fmt.
75

8-
9-
Axiom ppFree'init : val.
10-
11-
Axiom space'init : val.
12-
13-
Axiom ssFree'init : val.
14-
15-
Axiom errComplex'init : val.
16-
17-
Axiom errBool'init : val.
18-
19-
Definition pkg_name' : go_string := "fmt".
20-
21-
Definition vars' : list (go_string * go_type) := [("ppFree"%go, sync.Pool); ("space"%go, sliceT); ("ssFree"%go, sync.Pool); ("errComplex"%go, error); ("errBool"%go, error)].
22-
23-
Definition functions' : list (go_string * val) := [].
24-
25-
Definition msets' : list (go_string * (list (go_string * val))) := [].
26-
27-
End code.
28-
End fmt.

new/code/fmt.v.toml

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
Imports = []
2-
ToTranslate = []
3-
ToAxiomatize = []
1+
trusted = true

new/code/github_com/goose_lang/goose/testdata/examples/append_log.v

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
(* autogenerated from github.com/goose-lang/goose/testdata/examples/append_log *)
22
From New.golang Require Import defn.
3-
From New.code Require Import github_com.goose_lang.primitive.disk.
4-
From New.code Require Import github_com.tchajed.marshal.
5-
From New.code Require Import sync.
3+
Require Import New.code.github_com.goose_lang.primitive.disk.
4+
Require Import New.code.github_com.tchajed.marshal.
5+
Require Import New.code.sync.
66

77
From New Require Import disk_prelude.
88
Module append_log.
@@ -193,5 +193,13 @@ Definition functions' : list (go_string * val) := [("Init"%go, Init); ("Open"%go
193193

194194
Definition msets' : list (go_string * (list (go_string * val))) := [("Log"%go, []); ("Log'ptr"%go, [("Append"%go, Log__Append); ("Get"%go, Log__Get); ("Reset"%go, Log__Reset); ("append"%go, Log__append); ("get"%go, Log__get); ("mkHdr"%go, Log__mkHdr); ("reset"%go, Log__reset); ("writeHdr"%go, Log__writeHdr)])].
195195

196+
Definition initialize' : val :=
197+
rec: "initialize'" <> :=
198+
globals.package_init pkg_name' vars' functions' msets' (λ: <>,
199+
exception_do (do: disk.initialize';;;
200+
do: marshal.initialize';;;
201+
do: sync.initialize')
202+
).
203+
196204
End code.
197205
End append_log.

new/code/github_com/goose_lang/goose/testdata/examples/semantics.v

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
(* autogenerated from github.com/goose-lang/goose/testdata/examples/semantics *)
22
From New.golang Require Import defn.
3-
From New.code Require Import github_com.goose_lang.primitive.
4-
From New.code Require Import github_com.goose_lang.primitive.disk.
5-
From New.code Require Import sync.
3+
Require Import New.code.github_com.goose_lang.primitive.
4+
Require Import New.code.github_com.goose_lang.primitive.disk.
5+
Require Import New.code.sync.
66

77
From New Require Import disk_prelude.
88
Module semantics.
@@ -2872,5 +2872,13 @@ Definition msets' : list (go_string * (list (go_string * val))) := [("unit"%go,
28722872
method_call #pkg_name' #"Log" #"unlock" (![Log] "$recvAddr")
28732873
)%V)])].
28742874

2875+
Definition initialize' : val :=
2876+
rec: "initialize'" <> :=
2877+
globals.package_init pkg_name' vars' functions' msets' (λ: <>,
2878+
exception_do (do: disk.initialize';;;
2879+
do: sync.initialize';;;
2880+
do: primitive.initialize')
2881+
).
2882+
28752883
End code.
28762884
End semantics.

0 commit comments

Comments
 (0)