Skip to content
Merged
Show file tree
Hide file tree
Changes from 76 commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
ff29fdd
draft support of rvalue with metadata
ssyram Aug 9, 2025
616877b
unop for ptr-metadata
ssyram Aug 9, 2025
7d31e84
error for fetching meta from generics
ssyram Aug 9, 2025
81bb856
unchanged builtin type of slice
Lin23299 Aug 13, 2025
70db499
updated [typ_of_ty] for fat pointer
Lin23299 Aug 13, 2025
35e19f3
Merge branch 'array_handling' into c-better-unsize
Lin23299 Aug 14, 2025
56811ee
rename c_char_t and c_void_t
Lin23299 Aug 14, 2025
fff533c
defined array_to_subslice_to using abs syntax
Lin23299 Aug 14, 2025
ed85c63
Merge branch 'main' of github.com:AeneasVerif/eurydice into c-better-…
Lin23299 Aug 19, 2025
71f392a
added [remove_unused_builtin] in PreCleanup to remove the funcs writt…
Lin23299 Aug 19, 2025
8056259
updated abstract syntan defs
Lin23299 Aug 20, 2025
8583acd
added other builtin funcs for slice<T>, not tested
Lin23299 Aug 20, 2025
e03ab05
Added simple case for PtrMetadata inheritance
ssyram Aug 20, 2025
4ed93f7
removed dst_def, cleanup and special treatment of dst fields
Lin23299 Aug 21, 2025
c6cd0e2
Merge branch 'main' of github.com:AeneasVerif/eurydice into c-better-…
Lin23299 Aug 22, 2025
b9a9190
more cleanup about dst
Lin23299 Aug 22, 2025
03167e8
updated str, using c_star_t instead of prims_string
Lin23299 Aug 22, 2025
480f94a
updated glue.h, test cases passed
Lin23299 Aug 22, 2025
e4b1af2
removed special case for non-dst field, leaving the [slice_of_dst] case
Lin23299 Aug 25, 2025
01429aa
Merge branch 'AeneasVerif:main' into c-better-unsize
Lin23299 Aug 27, 2025
767bbe1
removed the macro def of slice, replaced slice_of_dst into ECast
Lin23299 Aug 27, 2025
13b8de2
updated testcases following changes in krml
Lin23299 Aug 28, 2025
2875732
simplified taking dst field, removed special cases for Slice which se…
Lin23299 Aug 28, 2025
6317f70
removed [dsts] in [env]
Lin23299 Aug 28, 2025
2a5ecef
removed is_dst_ref in expr_of_place for finding field
Lin23299 Aug 29, 2025
ee08698
using the meta from charon to generalize CastUnsize with test case
Lin23299 Aug 29, 2025
6bd114c
Merge branch 'main' of github.com:AeneasVerif/eurydice into c-better-…
Lin23299 Sep 2, 2025
28fd66c
wip: rewriting slice_to_array
Lin23299 Sep 2, 2025
dad9f88
supported [slice_to_array] using memcpy, added test case in [slice_ar…
Lin23299 Sep 3, 2025
0855373
supported slice_to_ref_array reusing the C choose expression and defi…
Lin23299 Sep 3, 2025
07567ea
fixed memcpy length for slice_to_array
Lin23299 Sep 4, 2025
331a405
cleanup & updated output for charon
Lin23299 Sep 4, 2025
287aebc
Merge branch 'main' of github.com:AeneasVerif/eurydice into c-better-…
Lin23299 Sep 18, 2025
8dcdc6d
Merge remote-tracking branch 'upstream/main' into c-better-unsize
ssyram Oct 2, 2025
aeeb403
Merge branch 'main' of https://github.com/AeneasVerif/eurydice into c…
Lin23299 Oct 8, 2025
54b3558
Merge branch 'AeneasVerif:main' into c-better-unsize
Lin23299 Oct 9, 2025
ce512e4
minors
Lin23299 Oct 9, 2025
639dedd
removed commented-out code in glue.h
Lin23299 Oct 9, 2025
807c3c4
removed add_extra_type_to_slice_index
Lin23299 Oct 9, 2025
21b08bd
correct vtable
ssyram Oct 9, 2025
23c81e8
fixing vtables
ssyram Oct 9, 2025
2a7726e
cleanup
ssyram Oct 9, 2025
becfd61
Merge branch 'main' of https://github.com/AeneasVerif/eurydice into c…
Lin23299 Oct 27, 2025
c209ff9
Refresh
protz Oct 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .charon_version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.123
0.1.132
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ out/*/a.out
*.llbc
eurydice
/.vscode
.charon_version
10 changes: 3 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -119,15 +119,11 @@ FORMAT_FILE=include/eurydice_glue.h

.PHONY: format-check
format-check:
@if ! dune build @fmt >/dev/null 2>&1; then \echo "\033[0;31m⚠️⚠️⚠️ SUGGESTED: $(MAKE) format-apply\033[0;m"; fi
@F=$$(mktemp); clang-format $(FORMAT_FILE) > $$F; \
if ! diff -q $(FORMAT_FILE) $$F >/dev/null; then \echo "\033[0;31m⚠️⚠️⚠️ SUGGESTED: $(MAKE) format-apply\033[0;m"; fi; \
rm -rf $$F
FORMAT_FILE=$(FORMAT_FILE) ./scripts/format.sh check

.PHONY: format-check
.PHONY: format-apply
format-apply:
dune fmt >/dev/null || true
clang-format -i $(FORMAT_FILE)
FORMAT_FILE=$(FORMAT_FILE) ./scripts/format.sh apply

.PHONY: clean-llbc
clean-llbc:
Expand Down
5 changes: 1 addition & 4 deletions bin/main.ml
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@ Supported options:|}
[ "Eurydice" ], "slice_len";
[ "Eurydice" ], "slice_copy";
[ "Eurydice" ], "array_eq";
[ "Eurydice" ], "slice_to_array2";
]);

(* Some logic for more precisely tracking readonly functions, so as to remove
Expand Down Expand Up @@ -258,7 +257,6 @@ Supported options:|}
Eurydice.Logging.log "Phase2.25" "%a" pfiles files;
let files = Eurydice.Cleanup2.remove_array_repeats#visit_files false files in
Eurydice.Logging.log "Phase2.26" "%a" pfiles files;
let files = Eurydice.Cleanup2.rewrite_slice_to_array#visit_files () files in
let ((map, _, _) as map3), files = Krml.DataTypes.everything files in
Eurydice.Cleanup2.fixup_monomorphization_map map;
let files = Eurydice.Cleanup2.remove_discriminant_reads map3 files in
Expand Down Expand Up @@ -313,7 +311,7 @@ Supported options:|}
Eurydice.Cleanup3.(also_skip_prefix_for_external_types scope_env)#visit_files () files;
let files = Eurydice.Cleanup3.decay_cg_externals#visit_files (scope_env, false) files in
let files = Eurydice.Cleanup3.add_extra_type_to_slice_index#visit_files () files in
let files = Eurydice.Cleanup3.remove_builtin_decls files in
let files = Eurydice.Cleanup3.remove_builtin_decls files in
Eurydice.Logging.log "Phase3.1" "%a" pfiles files;
let c_name_map = Krml.GlobalNames.mapping (fst scope_env) in

Expand Down Expand Up @@ -392,7 +390,6 @@ Supported options:|}
(* print_endline (CStar.show_program p ); *)
(* print_endline "" *)
(* ) files; *)

let headers = CStarToC11.mk_headers c_name_map files in
let deps = CStarToC11.drop_empty_headers deps headers in
let internal_headers =
Expand Down
8 changes: 1 addition & 7 deletions cremepat/ParseTree.ml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,7 @@ type pre_expr =
(* Binding most loosely *)
| Let of string * expr * expr
| Sequence of expr list
| App of {
head: expr;
cgs: expr list;
methods: expr list;
ts: typ list;
args: expr list;
}
| App of { head : expr; cgs : expr list; methods : expr list; ts : typ list; args : expr list }
| Addr of expr
| Index of expr * expr
(* Atomic -- we terminate matches and loops using braces, we are not barbarians. *)
Expand Down
18 changes: 9 additions & 9 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 22 additions & 1 deletion flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,27 @@
};
inherit charon karamel;
};
checks.default = packages.default.tests;
checks = {
default = packages.default.tests;
format = pkgs.runCommand "format-check"
{
src = ./.;
nativeBuildInputs = [
pkgs.bash
pkgs.gnumake
pkgs.clang-tools_18 # For clang-format
pkgs.ocamlPackages.ocaml
pkgs.ocamlPackages.ocamlformat_0_27_0
pkgs.ocamlPackages.dune_3
];
} ''
cp -r $src src
chmod u+w src
cd src
bash ./scripts/format.sh check
touch $out
'';
};
devShells.ci = pkgs.mkShell { packages = [ pkgs.jq ]; };
devShells.default = (pkgs.mkShell.override { stdenv = pkgs.clangStdenv; }) {
OCAMLRUNPARAM = "b"; # Get backtrace on exception
Expand All @@ -116,6 +136,7 @@
# ocaml-lsp's version must match the ocaml version used. Pinning
# this here to save me a headache.
pkgs.ocamlPackages.ocaml-lsp
pkgs.rustup
];
buildInputs = [ charon.buildInputs ];
nativeBuildInputs = [ charon.nativeBuildInputs fstar pkgs.clang ];
Expand Down
Loading
Loading