Commit graph

442 commits

Author SHA1 Message Date
Richard Feldman
fb5f30e5ed
Rename Arm to Aarch32, fix some of its code gen
As far as I can tell, Aarch32 only supports 32-bit
registers, so its pointers should be 4 bytes and
its F64 alignment should be 4 bytes as well
(because it's emulated in software).
2022-05-24 12:08:08 -04:00
Richard Feldman
4eec34becf
Update to use new square brace formatting 2022-05-22 23:15:54 -04:00
Richard Feldman
4f43210218
Use target_info for discriminant alignment 2022-05-20 23:36:55 -04:00
Ayaz Hafiz
0f4be93e44
Add JSON builtin, pass along solved specializations per module 2022-05-19 18:21:40 -04:00
Ayaz Hafiz
312cdd0b70
Correct imports of Encode and abilities across modules 2022-05-19 18:21:40 -04:00
Folkert
8c4b574e48
remove type def for maxFloat; could only be used by expr2, and it isn't so this is safe 2022-05-09 22:56:09 +02:00
Richard Feldman
df7df4ccf8
Merge branch 'trunk' into mfonism/rename-num-float-type-to-frac 2022-05-08 20:54:33 -04:00
Mfon Eti-mfon
9068c2414e
Rename float functions and vars 2022-05-08 18:42:12 +01:00
Richard Feldman
36f64d8496
Merge remote-tracking branch 'origin/trunk' into hostgen 2022-05-07 18:49:25 -04:00
Richard Feldman
b9dbfa8c33
Always use 16B alignment for 128-bit ints 2022-05-07 10:52:31 -04:00
Richard Feldman
4763e828b7
Don't use mem::align_of in code generation!
See the comments added in this commit for the reason.
2022-05-07 10:28:19 -04:00
Folkert
07383e96f0
Merge remote-tracking branch 'origin/trunk' into i/2792 2022-05-06 20:17:53 +02:00
Folkert
64b633bea6
make round return an integer 2022-05-06 20:17:40 +02:00
Folkert
5755475b3a
add ListIsUnique lowlevel operation 2022-05-06 13:56:35 +02:00
Ayaz Hafiz
fa8108e3a8 SJLJ roc_panic on AArch64
```
$ uname -m
arm64

$ cargo test -p test_gen gen_num::abs_min_int_overflow
    Finished test [unoptimized + debuginfo] target(s) in 0.09s
     Running src/tests.rs (target/debug/deps/test_gen-b2041868d2cf26f3)

running 1 test
test gen_num::abs_min_int_overflow - should panic ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 933 filtered out; finished in 0.14s
```
2022-04-27 22:43:34 -04:00
Richard Feldman
85e7969c2d
Replace references to "global tag" with "tag" 2022-04-25 17:04:34 -04:00
Ayaz Hafiz
b6383f81ee
Numbers are opaques 2022-04-25 10:59:42 -04:00
Richard Feldman
082fde976a
Merge branch 'trunk' into sqrt-unchecked 2022-04-20 08:19:34 -04:00
Richard Feldman
93677001ba
Merge pull request #2888 from rtfeldman/divTrunc
rename divFloor to divTrunc
2022-04-19 21:57:49 -04:00
Kevin Gillette
d236c28743
Merge branch 'trunk' into sqrt-unchecked 2022-04-18 19:12:22 -06:00
Kevin Gillette
9ed4ca9739
remove Num.mod and Num.modUnchecked 2022-04-18 13:54:40 -06:00
Kevin Gillette
6a3fd3a607
rename divFloor to divTrunc 2022-04-18 02:33:31 -06:00
Kevin Gillette
1908ff41c3
rem, sqrt, log are unchecked but have checked variants
mod exists but is not implemented due to lack of hardware support
(emulation, possibly in terms of rem, is needed).
2022-04-17 14:40:39 -06:00
Folkert
e112f6ad2c
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-16 21:01:51 +02:00
Folkert
2b07b8c78d
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-13 21:45:40 +02:00
Kevin Gillette
2c4a83788c
Rename internal NUM_DIV_INT references to NUM_DIV_FLOOR.
This balances with NUM_DIV_CEIL
(which is another form of integer division).
2022-04-13 02:48:57 -06:00
Richard Feldman
d81228df80
cargo fmt 2022-04-11 13:17:46 -04:00
Nikita Mounier
8206f345c7 Merge remote-tracking branch 'origin/trunk' into div-no-result 2022-04-11 11:45:06 +00:00
Nikita Mounier
4ecf2a8c24 Modify division behaviour to panic when dividing by 0, and add divChecked, divFloorChecked and divCeilingChecked` for safe alternatives which return a Result, mimicking the previous behaviour. 2022-04-11 11:23:33 +00:00
Folkert
1d0f9e9192
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-04-08 15:47:11 +02:00
Richard Feldman
cd00a98636
Add toF32/64 and checked versions 2022-04-07 16:13:57 -04:00
Brendan Hansknecht
577282ced3 have zig allocate all refcounts 2022-04-01 14:06:28 -07:00
Folkert
d607d6db05
rename standard_library -> roc 2022-03-23 21:19:15 +01:00
Folkert
aaf042bba5
Merge branch 'add-stdlib-roc-files' into builtins-in-roc 2022-03-23 17:36:13 +01:00
Folkert
ca16099e83
add standard library .roc files 2022-03-23 17:13:16 +01:00
Folkert
4e1197165b
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc-delayed-alias 2022-03-18 21:25:52 +01:00
Folkert
e3e9215578
Merge remote-tracking branch 'origin/trunk' into type-checking-storage-subs 2022-03-12 14:10:43 +01:00
Folkert
28ce49c273
use lazy_static 2022-03-12 00:18:06 +01:00
Folkert
5006b2afa3
playing with atomics to get the global stdlib to work 2022-03-11 23:39:55 +01:00
Folkert
11da96b286
make borrow_stdlib threadsafe 2022-03-11 22:49:29 +01:00
Brendan Hansknecht
d681062c63 add Num.toNat 2022-03-11 11:17:42 -08:00
Folkert
3510bad1d5
add scaffolding 2022-03-07 20:55:40 +01:00
Folkert
adf4ad22a5
Merge remote-tracking branch 'origin/trunk' into builtins-in-roc 2022-03-05 20:55:15 +01:00
Folkert
db6b5bfd38
get Num to fully work again 2022-02-28 19:40:18 +01:00
Brendan Hansknecht
2ca1ebdd2d appease the paperclip 2022-02-27 15:50:19 -08:00
Brendan Hansknecht
2e70bb8458 remove list set low level 2022-02-27 15:07:09 -08:00
Folkert
78fe734113
change the return type of List.replace 2022-02-27 22:47:08 +01:00
Folkert
db1669154e
WIP 2022-02-27 21:53:56 +01:00
Brendan Hansknecht
dddf8ff785 switch from pair to record and change name to ListReplaceUnsafe 2022-02-24 20:41:26 -08:00
Brendan Hansknecht
ba2e8cd32b Add base piping for list.Replace 2022-02-24 17:58:56 -08:00