Commit graph

90 commits

Author SHA1 Message Date
Agus Zubiaga
4e5fdfbf52
Handle root type when loading from str 2024-06-08 19:46:41 -03:00
Agus Zubiaga
2da7ea394b
Add --main flag to specify app/package to resolve deps from 2024-06-07 17:09:44 -03:00
Brendan Hansknecht
6dc5bfb1b7
Use roc_target over target_lexicon
Tailors a target class for our needs.
Replaces tons of uses across the entire compiler.
This is a base for later adding new targets like thumb.
2024-03-31 10:50:26 -07:00
Anton-4
0486da933f
use println for clippy
Signed-off-by: Anton-4 <17049058+Anton-4@users.noreply.github.com>
2024-03-09 16:26:52 +01:00
Hristo Georgiev
ee819cb7d1
Add newline after "Failed with error" msg 2024-03-09 12:54:08 +00:00
Anton-4
ce606916a3
emit-ir and style improvement 2024-03-06 17:15:34 +01:00
Anton-4
f620508a37
misc improvements 2024-03-04 17:10:59 +01:00
Brendan Hansknecht
abc4fd18cc
add --fuzz option to roc 2024-01-25 15:42:18 -08:00
Brendan Hansknecht
607d2d6adc
stop overwritting manually set file extensions 2024-01-06 09:10:23 -08:00
Brendan Hansknecht
dbcb6ca5da
clippy 2023-12-04 13:53:56 -08:00
Brendan Hansknecht
fc09c3b002
remove debugir 2023-12-04 13:50:53 -08:00
Brendan Hansknecht
da301df37b
separate emitting debug info from emitting llvm-ir 2023-12-04 13:13:30 -08:00
Brendan Hansknecht
496cd6710a
fix debug info and add it all to the llvm backend 2023-12-04 12:55:33 -08:00
Brendan Hansknecht
23c2b15115
also add static lib support with fallback to object file 2023-11-06 21:04:50 -08:00
Brendan Hansknecht
1085be396e
add fallback to legacy host if preprocessed host is missing from prebuilt platform 2023-11-06 21:04:50 -08:00
Richard Feldman
7b83dd6ef9
Fix some UTF-16 on Windows 2023-10-19 22:49:55 -04:00
Richard Feldman
eebec8a378
Add --output to build, default to app filename 2023-10-19 20:42:28 -04:00
Richard Feldman
eb135637ef
Compute total_problems rather than asking for it 2023-10-14 21:49:06 -04:00
Folkert
7fb4b60b21
move around hostexposedalias logic 2023-08-09 15:09:03 +02:00
Ayaz Hafiz
b5db3f68e1
Add experimental flag for roc_erase 2023-07-12 14:46:37 -05:00
Ayaz Hafiz
9702f30a61
Support erased functions in debug mode 2023-07-12 14:46:37 -05:00
Ayaz Hafiz
44c4797d9a
Parameterize program solving on a FunctionKind
This new flag determines whether we should introduce a new kind to
represent lambda sets, or whether lambdas should be erased. The latter
is not yet implemented.
2023-07-12 13:53:50 -05:00
Folkert
ef39bad7c6
auto clippy fixes 2023-07-10 18:27:08 +02:00
Folkert
8738c95d6f
give 0 as a value to our enum attributes 2023-06-27 00:07:33 +02:00
Ayaz Hafiz
41597cbab7
Do not make LayoutInterner mutable 2023-06-17 18:13:03 -05:00
Ayaz Hafiz
e2482c8b1d
Unused var 2023-06-06 15:48:01 -05:00
Ayaz Hafiz
6702efaf29
Differentiate generating final IR and dumping it to an object in cgen
So that we can see how much time it takes to build LLVM IR vs run it
through LLVM. For the dev backends this is immaterial
2023-06-03 17:54:09 -05:00
David Smith
1aa45240fd
Update --prebuilt-platform usage in comments and error messages. 2023-05-15 12:53:58 -04:00
Folkert
37eec2b7c2
allow configure of whether roc_alloc is generated 2023-05-02 22:31:49 +02:00
Folkert
66be08d073
allow configure of whether roc_alloc is generated 2023-05-01 18:41:47 +02:00
Brendan Hansknecht
44a1b5d41f
fix warning when linking 2023-04-26 08:24:35 -07:00
Brendan Hansknecht
dd8914a75c
corret CodeGenBackend::Wasm to only be dev wasm backend 2023-04-26 07:29:32 -07:00
Folkert
99a3c08911
bake roc_alloc and friends into the dynamic library for glue 2023-03-29 19:43:59 +02:00
Brendan Hansknecht
8d5f443fcd
Merge remote-tracking branch 'origin/main' into pluggable-glue 2023-03-21 11:07:47 -07:00
Anton-4
8da9af94f2
use latest basic-cli, better error messages 2023-03-20 20:06:36 +01:00
Folkert
fdf1489df6
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-03-14 01:01:26 +01:00
Brendan Hansknecht
d5e191d083
split up bitcode building to reduce dependency chains 2023-03-10 09:39:43 -08:00
Folkert
938f7172dd
restore creation of the libapp.o file 2023-03-08 19:43:34 +01:00
Brendan Hansknecht
5573ab2275
Merge branch 'glue-getters-rtfeldman' into pluggable-glue 2023-03-05 17:11:25 -08:00
Brendan Hansknecht
17ece67999
get roc glue working directly with .roc plugin files 2023-03-05 12:33:46 -08:00
Folkert
d224992bc1
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-03-05 17:24:05 +01:00
Brendan Hansknecht
7a944113a0
move build_file and related functions to roc_build
This is needed of glue to be able to call build_file.
Also does some other changes to avoid circular dependencies.
2023-03-04 10:00:43 -08:00
Folkert
454f3c603e
give the new exposed symbols to the surgical linker 2023-02-25 19:35:46 +01:00
Folkert
6c15284a8f
more wip; now we just need to generate the exposed procs at the right time 2023-02-08 22:56:38 +01:00
Folkert
bb44063419
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-01-18 20:06:26 +01:00
Anton-4
a97c53d7ca
1.65 changes and clippy fixes 2023-01-17 18:09:16 +01:00
Brendan Hansknecht
b79c855f15
enable using both cargo-fuzz and afl.rs for fuzzing 2023-01-04 11:45:47 -08:00
Folkert
1c1112ec35
Merge remote-tracking branch 'origin/main' into glue-getters-rtfeldman 2023-01-04 20:45:01 +01:00
Ayaz Hafiz
759f8d86af
Fix lifetime errors due to interner
In the llvm backend, there are the lifetimes `'a` (lifetime of the
global arena) and `'ctx` (lifetime of constructed LLVM values). `'a`
lives longer than `'ctx`, but the compiler didn't enforce this until
the layout interner was introduced, for some reason. We have to make
sure that containers of lifetime `'a` have no `'ctx` references.
2022-12-29 11:38:34 -06:00
Ayaz Hafiz
7ab7fdfa7b
Push interned layouts as mut throughout the backend, and intern box layouts 2022-12-28 18:51:26 -06:00