David Mak
7f6c9a25ac
[meta] Update Cargo dependencies
2024-10-04 12:52:01 +08:00
David Mak
5e2e77a500
[meta] Bump inkwell to v0.5
2024-09-13 11:11:14 +08:00
Sébastien Bourdeauducq
5a34551905
allow the use of the LLVM shared library
...
Which in turns allows working around the incompatibility of the LLVM static library
with Rust link-args=-rdynamic, which produces binaries that either fail to link (OpenBSD)
or segfault on startup (Linux).
The year is 2024 and compiler toolchains are still a trash fire like this.
2024-09-09 11:17:31 +08:00
David Mak
7799aa4987
[meta] Do not specify rev in dependency version
2024-08-21 15:36:54 +08:00
David Mak
9e0601837a
core: Add compile-time feature to disable escape analysis
2024-08-14 09:29:48 +08:00
lyken
fd36f78005
core: refactor `PrimitiveDefinitionId` into enum `PrimDef`
2024-06-12 15:01:01 +08:00
David Mak
82cc693b11
meta: Update dependencies
2024-06-03 16:40:02 +08:00
David Mak
13f06f3e29
core: Refactor VarMap to IndexMap
...
This is the only Map I can find that preserves insertion order while
also deduplicating elements by key.
2024-03-22 15:51:23 +08:00
David Mak
8492503af2
core: Update cargo dependencies
2024-02-23 15:41:04 +08:00
David Mak
16655959f2
meta: Update cargo dependencies
2023-12-12 15:41:59 +08:00
David Mak
e1487ed335
cargo: Update dependencies
2023-10-20 18:11:45 +08:00
David Mak
73500c9081
core: Remove lazy_static from dependencies
2023-10-16 15:55:10 +08:00
David Mak
eb63f2ad48
meta: Update to Rust Edition 2021
2023-09-15 10:25:50 +08:00
David Mak
d37287a33d
Cargo: Update dependencies
2023-09-04 10:43:57 +08:00
Sebastien Bourdeauducq
aead36f0fd
update dependencies
2023-03-08 15:19:09 +08:00
Sebastien Bourdeauducq
f66ca02b2d
update Rust dependencies
2022-08-05 16:58:57 +08:00
z78078
96b3a3bf5c
work around random segmentation fault ( #275 )
...
Reviewed-on: M-Labs/nac3#302
Co-authored-by: z78078 <cc@m-labs.hk>
Co-committed-by: z78078 <cc@m-labs.hk>
2022-07-04 18:06:36 +08:00
Sebastien Bourdeauducq
3f327113b2
update dependencies, use upstream inkwell
2022-04-27 15:41:46 +08:00
Sebastien Bourdeauducq
85f21060e4
update to LLVM 14
2022-04-18 18:47:20 +08:00
Sebastien Bourdeauducq
1288624218
lock insta version ( #179 )
2022-01-31 15:18:49 +08:00
Sebastien Bourdeauducq
4a65d82db5
introduce IRRT, implement power
...
based on code by Yijia
M-Labs/nac3#160
2022-01-09 00:57:50 +08:00
Sebastien Bourdeauducq
5aa6749241
remove num-traits
2021-12-26 00:32:08 +08:00
Sebastien Bourdeauducq
80d3ab1b0f
remove bigints
2021-12-26 00:23:54 +08:00
Sebastien Bourdeauducq
d2a5cd6d57
update to LLVM 13
2021-12-25 22:49:47 +08:00
Sebastien Bourdeauducq
9e3f75255e
update inkwell. Closes #67
2021-12-25 22:17:06 +08:00
Sebastien Bourdeauducq
3f73896477
remove a small amount of LLVM bloat
...
Also avoids libffi.dll dependency on Windows.
2021-12-08 17:41:34 +08:00
Sebastien Bourdeauducq
25fc9db66d
cargo: specify inkwell LLVM target explicitly
...
Windows LLVM linking otherwise breaks on the non-existing targets.
2021-12-02 22:24:33 +08:00
Sebastien Bourdeauducq
bf7e2c295a
integrate nac3parser
2021-11-03 17:11:00 +08:00
Sebastien Bourdeauducq
624dfe8cd1
upgrade to LLVM 12
2021-11-02 14:00:20 +08:00
ychenfo
f5ce1afe0b
fix tests and switch to insta
...
Use a library called 'insta' to better organize those longer correct test outputs in toplevel tests. 'insta' creates `.snap` files as snapshots of the test output, and will automatically do the diff if the output is different. This makes maintaining test cases with larger outputs a lot easier.
Reviewed-on: M-Labs/nac3#42
Co-authored-by: ychenfo <yc@m-labs.hk>
Co-committed-by: ychenfo <yc@m-labs.hk>
2021-10-03 16:39:12 +08:00
pca006132
084efe92af
nac3core: use string interning
2021-09-22 18:04:06 +08:00
pca006132
93270d7227
use forked version of rustpython
...
to implement Clone for AST nodes
2021-08-25 15:28:32 +08:00
Sebastien Bourdeauducq
f8a697e3d4
switch to LLVM 11
2021-08-19 11:14:35 +08:00
pca006132
3dcd846302
added rayon dependency
2021-08-05 14:56:09 +08:00
pca006132
8452579c67
use parking_lot RwLock
...
The std::sync::RwLock is platform dependent, and is unfair on Linux
(may starve writer)
2021-08-03 14:11:41 +08:00
pca006132
d4d12a9d1d
added crossbeam dependency
2021-08-03 12:38:55 +08:00
pca006132
09c9218852
use custom unification table implementation
...
as the ena implementation did not expose the underlying vector store, we
cannot map over it to get a table without Rc<RefCell<T>> so that we can
send it around...
2021-07-22 11:37:29 +08:00
pca006132
0296844d5f
cleanup
2021-07-21 13:28:05 +08:00
pca006132
d4b85d0bac
expression type inference (WIP)
2021-07-19 13:35:01 +08:00
pca006132
62736bd4bf
cleanup: we don't actually need arena
2021-07-16 13:58:02 +08:00
pca006132
d94f25583b
added tests
2021-07-15 16:00:23 +08:00
pca006132
e554737b68
tmp
2021-07-14 08:12:47 +08:00
pca006132
ed04cef431
added symbol resolver...
2021-06-28 14:48:04 +08:00
pca006132
7c9919256c
begin refactoring
2021-06-28 10:49:41 +08:00
Sebastien Bourdeauducq
947a528656
libnac3 -> nac3core
2020-12-18 10:18:21 +08:00