1
0
forked from M-Labs/nac3

1622 Commits

Author SHA1 Message Date
e757cee56b [meta] Fixup all wildcard imports 2025-04-30 14:19:46 +08:00
78b460c71f [meta] Update clippy lints 2025-04-30 14:19:46 +08:00
f50b584618 [parser] Remove redundant semicolons 2025-04-30 14:19:42 +08:00
3d6f5ac93a [ast] Do not generate struct patterns for unit variants 2025-04-30 14:13:12 +08:00
30ed2da970 [meta] Update dependencies 2025-04-30 14:13:12 +08:00
416a0cd479 [artiq] Add Gitignore for demos
For a similar reason for Gitignore in standalone demos.
2025-04-29 09:58:40 +08:00
120b5ef4c1 cargo fmt 2025-04-28 09:35:06 +02:00
ad80ada150 update to inkwell release 0.6 2025-04-27 22:04:11 +02:00
652ff62db0 update ARTIQ source used for PGO 2025-04-27 09:27:38 +02:00
a4c30b05ea update ARTIQ source used for PGO 2025-04-27 09:15:02 +02:00
28d6632487 rename nac3 decorator to compile 2025-04-26 22:23:39 +02:00
3179a620a8 update ARTIQ source used for PGO 2025-04-26 22:18:48 +02:00
8031e9143c [artiq] Use import module as in demo_import_mod.py 2025-04-22 14:24:51 +08:00
03be4697c5 [artiq] Add envvar for outputting LLVM bitcode/IR
For debugging purposes.
2025-04-22 14:24:51 +08:00
6328e1e740 [standalone] Split --emit-llvm into --emit-llvm-{bc,ir}
Allows outputting LLVM bitcode/IR separately.
2025-04-22 14:24:51 +08:00
0e61c9f658 [artiq] Add better error messages when key not found in builtins 2025-04-22 14:24:51 +08:00
983017a693 [artiq] Fix builtin mapping keys 2025-04-22 14:24:51 +08:00
5055c02200 [core] toplevel: Fix deadlock
Add back handling for getting top-level definition of the composer when
the composer is currently mutating the same class.
2025-04-22 14:24:51 +08:00
b1106a6f20 simplify min_artiq 2025-04-20 22:09:18 +01:00
74ffff6a8b [artiq] Simplify compilation code 2025-04-21 05:05:18 +08:00
ce52c17781 [artiq] Match Kernel/KernelInvariant annotation by id 2025-04-21 05:05:18 +08:00
22d09939a6 [artiq] Refactor builtins structure 2025-04-21 05:05:18 +08:00
1426ee20ef [artiq] Add test and update min_artiq 2025-04-21 05:05:18 +08:00
bb3e6b64b8 [artiq] symbol_resolver: Fallback to variable resolver if not found 2025-04-21 05:05:18 +08:00
639c31700e [core] expr: Return None if get_attr_index cannot find field with id 2025-04-21 05:05:18 +08:00
3ce649c0b7 [artiq] symbol_resolver: Add support for resolving symbols in modules 2025-04-21 05:05:18 +08:00
6b1cba59e0 Allow KernelInvariant globals in compiled programs 2025-04-21 05:05:18 +08:00
a2360870b7 [core] toplevel: Handle class annotations with single name prefix 2025-04-21 05:05:18 +08:00
f3324de3b9 [core] toplevel: Extract common logic for parsing class type annotations 2025-04-21 05:05:18 +08:00
cb7f667e4d [artiq] debug: Add debug_str for InnerResolver
For debugging purposes.
2025-04-21 05:05:18 +08:00
59c7478950 [artiq] Refactor missing PyO3 APIs to use bind 2025-04-21 05:05:18 +08:00
ee72072c16 [core] toplevel/composer: Fix documentation 2025-04-21 05:05:18 +08:00
c53a774994 nac3artiq: remove gnu from arm target triple 2025-04-17 09:28:07 +08:00
5864c07352 nac3core: keep the old unwind location when without finally 2025-04-11 18:04:14 +08:00
800edf35db flake: update dependencies 2025-04-11 11:10:11 +08:00
65f3747b96 cargo: update dependencies 2025-04-11 11:04:54 +08:00
b0526ba29f nac3ld: do not allocate image space for NOBITS sections 2025-04-09 10:00:06 +08:00
0a481ec880 nac3ld: do not copy NOBITS data to the image 2025-04-09 09:59:30 +08:00
65fa85815a nac3standalone test: pass struct cslice by value when intended to be a string
This does not apply to the `output_int32_list` function.
2025-04-02 13:41:09 +08:00
e4f6fbeeeb expr: remove byref/byval attribute for struct args
Note that structs and lists are pointers in NAC3, where string is a struct.
2025-04-01 15:55:43 +08:00
f5285fbf7f [artiq] Bump PyO3 to 0.24 2025-03-27 11:21:52 +08:00
b82926297b [artiq] Bump PyO3 to 0.23 2025-03-27 11:21:52 +08:00
8142e01aeb [artiq] Remove usage of gil-refs feature
All internal APIs are refactored to use Bound<T>.
2025-03-27 11:21:52 +08:00
e8c967cc29 [artiq] Remove all usages of deprecated APIs
All calls to the PyO3 API are replaced with Bound<T>.
2025-03-27 11:21:30 +08:00
902fd97a0a [artiq] Refactor function signatures of #[pymethods] functions
Suppresses some deprecation warnings generated by macros.
2025-03-27 11:19:10 +08:00
d73a47b096 [artiq] Remove usage of py-clone feature
All usages of PyObject::clone are replaced with Arc, as recommended by
https://pyo3.rs/v0.24.0/migration.html#pyclone-is-now-gated-behind-the-py-clone-feature.
2025-03-27 11:18:43 +08:00
6a29ffcfbc [artiq] Update PyO3 to v0.22 using deprecated APIs 2025-03-27 11:08:54 +08:00
ae7b1e4391 [meta] Reorder imports 2025-03-27 11:08:54 +08:00
cdd0b2011e [meta] Update to Rust Edition 2024 2025-03-26 11:41:22 +08:00
34f6c3eaf8 [meta] Remove some allowed clippy warnings
This is not necessary anymore.
2025-03-26 11:41:22 +08:00