Commit Graph

43 Commits

Author SHA1 Message Date
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
7799aa4987 [meta] Do not specify rev in dependency version 2024-08-21 15:36:54 +08:00
9e0601837a core: Add compile-time feature to disable escape analysis 2024-08-14 09:29:48 +08:00
fd36f78005 core: refactor PrimitiveDefinitionId into enum PrimDef 2024-06-12 15:01:01 +08:00
82cc693b11 meta: Update dependencies 2024-06-03 16:40:02 +08:00
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
8492503af2 core: Update cargo dependencies 2024-02-23 15:41:04 +08:00
16655959f2 meta: Update cargo dependencies 2023-12-12 15:41:59 +08:00
e1487ed335 cargo: Update dependencies 2023-10-20 18:11:45 +08:00
73500c9081 core: Remove lazy_static from dependencies 2023-10-16 15:55:10 +08:00
eb63f2ad48 meta: Update to Rust Edition 2021 2023-09-15 10:25:50 +08:00
d37287a33d Cargo: Update dependencies 2023-09-04 10:43:57 +08:00
aead36f0fd update dependencies 2023-03-08 15:19:09 +08:00
f66ca02b2d update Rust dependencies 2022-08-05 16:58:57 +08:00
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
3f327113b2 update dependencies, use upstream inkwell 2022-04-27 15:41:46 +08:00
85f21060e4 update to LLVM 14 2022-04-18 18:47:20 +08:00
1288624218 lock insta version (#179) 2022-01-31 15:18:49 +08:00
4a65d82db5 introduce IRRT, implement power
based on code by Yijia
M-Labs/nac3#160
2022-01-09 00:57:50 +08:00
5aa6749241 remove num-traits 2021-12-26 00:32:08 +08:00
80d3ab1b0f remove bigints 2021-12-26 00:23:54 +08:00
d2a5cd6d57 update to LLVM 13 2021-12-25 22:49:47 +08:00
9e3f75255e update inkwell. Closes #67 2021-12-25 22:17:06 +08:00
3f73896477 remove a small amount of LLVM bloat
Also avoids libffi.dll dependency on Windows.
2021-12-08 17:41:34 +08:00
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
bf7e2c295a integrate nac3parser 2021-11-03 17:11:00 +08:00
624dfe8cd1 upgrade to LLVM 12 2021-11-02 14:00:20 +08:00
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
084efe92af nac3core: use string interning 2021-09-22 18:04:06 +08:00
93270d7227 use forked version of rustpython
to implement Clone for AST nodes
2021-08-25 15:28:32 +08:00
f8a697e3d4 switch to LLVM 11 2021-08-19 11:14:35 +08:00
3dcd846302 added rayon dependency 2021-08-05 14:56:09 +08:00
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
d4d12a9d1d added crossbeam dependency 2021-08-03 12:38:55 +08:00
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
0296844d5f cleanup 2021-07-21 13:28:05 +08:00
d4b85d0bac expression type inference (WIP) 2021-07-19 13:35:01 +08:00
62736bd4bf cleanup: we don't actually need arena 2021-07-16 13:58:02 +08:00
d94f25583b added tests 2021-07-15 16:00:23 +08:00
e554737b68 tmp 2021-07-14 08:12:47 +08:00
ed04cef431 added symbol resolver... 2021-06-28 14:48:04 +08:00
7c9919256c begin refactoring 2021-06-28 10:49:41 +08:00
947a528656 libnac3 -> nac3core 2020-12-18 10:18:21 +08:00