ea96116941
README: nac3ld -> nac3binutils
2026-02-01 05:12:04 +08:00
f6108313e6
README: update artiq link
2026-02-01 04:26:49 +08:00
ecb7256e42
[artiq] Fix for some modules not having __file__ attribute
2025-09-12 09:37:54 +08:00
5b2bb5b432
[artiq] Add test case
2025-09-11 11:05:28 +08:00
39ba8417b9
[core] toplevel: Rewrite resolution logic for module-qualified class names
2025-09-11 11:05:28 +08:00
91e5a31f72
[artiq] Register imported Python modules
2025-09-11 11:05:28 +08:00
3b6fbba0f7
update dependencies
2025-09-10 09:50:10 +08:00
e2384130ae
flake: update copy of sources used for PGO
2025-09-10 09:34:29 +08:00
12e51e95be
[core] toplevel/composer: Elaborate error message and give more context
2025-09-08 18:45:18 +08:00
425fdf81a7
[core] Minor formatting fixes
...
For some reason rustfmt doesn't do anything for this file.
2025-09-08 18:44:33 +08:00
cac98e1009
[meta] Warn on clippy::enum_glob_use
2025-09-08 18:44:33 +08:00
050269b94d
[artiq] Extract ID fields by module
2025-09-08 18:44:33 +08:00
11fbbdb173
[artiq] Add missing staticmethod field to artiq_builtins
2025-09-08 18:44:33 +08:00
4a946c5d66
[artiq] Keep Generic[T] in base class declaration
2025-09-08 18:44:18 +08:00
50f35d3073
[core] toplevel: Use has_generic_ann to determine Generic[T]
2025-09-08 18:36:44 +08:00
4e778095ed
[core] toplevel: Add has_generic_ann_fn to ComposerConfig
2025-09-08 18:36:38 +08:00
6d48b0899e
[standalone] Refactor ndarray output functions
...
- Use `for ... in ndarray` in output functions - Add test case for
range(len(ndarray))
2025-08-29 12:34:35 +08:00
1fee1194db
[core] codegen: Implement support for iterating over ndarrays
2025-08-29 12:34:35 +08:00
22f4ecb3c2
[core] type_inferencer: Implement type inference for ndarray iteration
2025-08-29 12:34:35 +08:00
506fa61eea
[core] toplevel/numpy: Slightly optimize unpacking ndarray tvars
2025-08-29 12:34:35 +08:00
91f9f7dc65
[core] remove unnecessary rc
2025-08-22 17:46:04 +08:00
c1f7efbc60
[core] set function signature of call by inference
2025-08-22 17:46:00 +08:00
34554f31b6
update MSYS2 packages
2025-08-21 09:05:35 +08:00
621b8f65b9
typecheck: partly revert TCall simplification
...
This partly reverts commit 797a2dbbad .
2025-08-20 21:44:24 +08:00
e8a56800f4
[meta] Fix warnings and apply clippy suggestions
2025-08-20 12:31:34 +08:00
7b26dacc6d
[meta] Update versions in Cargo.toml
2025-08-20 12:31:34 +08:00
5990bfb50a
update dependencies
2025-08-20 12:08:47 +08:00
797a2dbbad
typecheck: simplify TCall and fix wrong kwarg type
2025-08-20 12:02:48 +08:00
ac6d7b7496
codegen: remove useless object value
2025-08-20 11:18:47 +08:00
ad668122b3
nac3ld: insert debug sections
2025-08-14 11:38:56 +08:00
98aab1c0d9
nac3ld: verify allocated size for dynamic relocs
2025-08-14 11:38:56 +08:00
cb4df67008
nac3ld: reorder target section index calculations
2025-08-14 11:38:56 +08:00
f70456a805
nac3ld: update symbol address resolution
...
Use loaded address instead of image offset.
.debug_* sections make use of this mechanism to load zeros, since .debug sections are not allocated space.
Existing symbol resolutions are not affected, since sh_addr == sh_offset for all allocated sections by design.
2025-08-14 11:38:56 +08:00
32cffc8864
further update cargo dependencies
2025-08-11 23:15:54 +08:00
ef113d197a
update dependencies
2025-08-11 23:04:13 +08:00
6cc230b3f5
[core] Minor doc clarification on __codegen_context_ref
2025-08-11 14:31:52 +08:00
893e2a1e5b
[meta] Run cargo fmt/clippy
2025-08-11 13:02:43 +08:00
768560f893
[ld] Use addend in indirect reloc
2025-08-07 20:59:59 +08:00
16c65dca89
refactor: fixup ModuleContext types
2025-08-07 16:05:37 +08:00
7235012a0d
flake: update copy of sources used for PGO
2025-08-06 11:20:40 +08:00
099971da65
update dependencies
2025-08-01 13:32:01 +08:00
bd7cf9f4ab
tests: make doctests work
2025-08-01 11:47:02 +08:00
1656770478
tests: fix missing target init
2025-07-31 16:15:56 +08:00
aacfba8c57
refactor: separate CoreContext out of CodeGenContext
2025-07-31 11:17:55 +08:00
5fa4457aee
update ARTIQ source used for PGO
2025-07-23 20:28:41 +08:00
e135efa58e
update dependencies
2025-07-23 20:26:42 +08:00
3831f071d5
[artiq] use the right incoming bb for rpc array loop
2025-07-23 13:48:06 +08:00
7487b42db9
always run a pass to strip dead IRRT functions
2025-07-22 18:06:48 +08:00
6e627cc5f6
add staticmethod support
...
Implementing static methods in nac3 using the `@staticmethod` decorator.
Fixes #591
Reviewed-on: M-Labs/nac3#639
Co-authored-by: Oliver Archer <oa@m-labs.hk >
Co-committed-by: Oliver Archer <oa@m-labs.hk >
2025-07-21 12:47:27 +08:00
f87567b117
[artiq] Fix incorrect stackrestore causing corruption of some returned types ( #653 )
...
Fix the check for the type of a value returned by an RPC function. Previous to this a simple `is_pointer_type()` check was being used, which caused `stackrestore` to be called in too many instances. This caused UB, such as the corruption of a list returned in a tuple, as raised in issue #577 due to the tuple container not being a pointer type. To fix this, the datatype is now recursively checked to ensure that no part of it may have required further allocation, in which case the stack should not be restored.
Fixes #577 .
Reviewed-on: M-Labs/nac3#653
Co-authored-by: Oliver Archer <oa@m-labs.hk >
Co-committed-by: Oliver Archer <oa@m-labs.hk >
2025-07-18 16:57:03 +08:00