Christoffer Lerno
|
8a4337e819
|
Some improvements for the stacktrace.
|
2023-08-16 13:54:21 +02:00 |
|
Christoffer Lerno
|
3c8bbc2b90
|
Fix issue combining void! in macros in some cases. See #927
|
2023-08-13 20:35:49 +02:00 |
|
Christoffer Lerno
|
e22afe5424
|
Allow "if (try foo())"."
|
2023-08-13 18:15:20 +02:00 |
|
Christoffer Lerno
|
951a9f2b43
|
Fix of ++ and -- on bitstructs.
|
2023-08-10 18:01:50 +02:00 |
|
Christoffer Lerno
|
def97eea9d
|
Fixes member visibility for anonymous bitstruct. Bitstruct member attributes works. Anonymous bitstruct assignment fixed.
|
2023-08-03 01:00:30 +02:00 |
|
Christoffer Lerno
|
8a335fc64c
|
Updated stack trace. This addresses #898.
|
2023-07-31 10:57:56 +02:00 |
|
Christoffer Lerno
|
ada3ea08fc
|
Some initial parse output. Enforce handling of optionals. Fix issue where constants were folded despite the fact that they shouldn't be. Fix bug related to return foo() where foo() returns void!. (#893)
|
2023-07-27 22:58:41 +02:00 |
|
Christoffer Lerno
|
c18526f10a
|
Fix of nested union/struct initialization. Fixes #886.
|
2023-07-26 21:12:04 +02:00 |
|
Christoffer Lerno
|
45d1b1d671
|
Fix where bitstructs in subarrays triggered the wrong lowering. Fixes #877
|
2023-07-23 20:50:53 +02:00 |
|
Christoffer Lerno
|
5a2fe4c9d9
|
Fix to macro codegen.
|
2023-07-19 01:34:50 +02:00 |
|
Christoffer Lerno
|
4dcfb7a675
|
Fix of #862 where enums declarations where not regenerated. Updated @pool implementation.
|
2023-07-18 23:23:53 +02:00 |
|
Christoffer Lerno
|
209d994336
|
Finalize subprograms after writing them. Correct debug info for C varargs. Add uwtable metadata. Removed visibility from functions.
|
2023-07-17 20:21:10 +02:00 |
|
Christoffer Lerno
|
8a4e6f7dd3
|
Fix bug where @local declarations would get registered as @private for generic modules. #856. Update to consistent tab spacing.
|
2023-07-15 19:27:24 +02:00 |
|
Christoffer Lerno
|
34306cbf5d
|
Fixes missing checks to body arguments. Do not create debug declaration for value-only parameter. Bug in alignment for atomics. Macro ref parameters are pointers.
|
2023-07-15 15:11:44 +02:00 |
|
Christoffer Lerno
|
8b605d9183
|
$embed.
|
2023-07-09 01:18:01 +02:00 |
|
Christoffer Lerno
|
4f7b42cdc4
|
New generic syntax and ad hoc invocation.
|
2023-07-06 23:43:36 +02:00 |
|
Christoffer Lerno
|
276281c3f9
|
Fix of "INLINE" function.
|
2023-07-06 21:33:27 +02:00 |
|
Christoffer Lerno
|
b74de0b1e4
|
Fix issue where array comparison would emit the wrong basic block reference to phi when underlying comparison would emit a block.
|
2023-07-06 20:29:00 +02:00 |
|
Christoffer Lerno
|
848a5212ef
|
Fixes #811. Update some stdlib methods. Header printout correctly picks a name. #804
|
2023-07-03 13:17:43 +02:00 |
|
Christoffer Lerno
|
9102fc6032
|
Comments and cleanup.
|
2023-06-30 18:02:34 +02:00 |
|
Christoffer Lerno
|
f74e294dc2
|
Push stack codegen to function for cleaner binaries. Some refactoring in allocators.
|
2023-06-30 01:01:58 +02:00 |
|
Christoffer Lerno
|
f651a59294
|
Fix on rethrow + macros.
|
2023-06-27 13:19:28 +02:00 |
|
Christoffer Lerno
|
275e3c6a09
|
Update with CPU type.
|
2023-05-30 16:42:15 +02:00 |
|
Christoffer Lerno
|
d4259368a2
|
Remove call convention.
|
2023-05-26 14:22:50 +02:00 |
|
Christoffer Lerno
|
b794c893d6
|
Dynamic dispatch.
|
2023-05-25 22:28:45 +02:00 |
|
Christoffer Lerno
|
ddd0497922
|
Better lowering of distinct types. Noreturn function call expr recognized as a "jump" for escape analysis. Preferring "def" in libs. To upper / to lower for ascii. Initial dynlib support.
|
2023-05-21 21:41:01 +02:00 |
|
Christoffer Lerno
|
bff7b492a2
|
Further bitstruct cast fixes. Updated code.
|
2023-05-10 13:03:15 +02:00 |
|
Christoffer Lerno
|
dc30c8edc2
|
Fix complaints of broken compilers.
|
2023-05-08 00:18:39 +02:00 |
|
Christoffer Lerno
|
ee5ad170e0
|
Simplify detection of initialized variable.
|
2023-05-08 00:13:12 +02:00 |
|
Christoffer Lerno
|
d1c2fbd79f
|
Fix for MSVC
|
2023-04-21 17:47:32 +02:00 |
|
Christoffer Lerno
|
2a79e0f1cf
|
Introduce def as a trial. Fixup of timeit.
|
2023-04-21 17:42:38 +02:00 |
|
Christoffer Lerno
|
809321e20c
|
Updated grammar. Removal of elif. Removal of ':' ';' in some ct statements. Empty faults is now an error. Remove "define" for types. Remove "private". Better errors on incorrect bitstruct syntax. Introduction of wildcard type rather than optional wildcard. Removal of scaled vector type. mkdir and rmdir. Disallow define @Foo() = { @inline }. Add handling for @optreturn and change it to @return!. Restrict interface style functions. Updated x64 ABI. stdlib updates to string. Removed deprecated functions. Update how variadics are implemented. Extended error messages. x86 ABI fixes. Shift check fixes. '!' and '?' are flipped. No trailing ',' allowed in functions. Fix to string parsing. Allow l suffix. Simplifying flatpath. any replaces variant, anyfault replaces anyerr. Allow getting the underlying type of anyfault. De-duplicate string constants. Fix of readme. Extended list. Fix of "(MyEnum)x + 1". Clock and DateTime types. Fixes to array concat.
|
2023-04-21 10:56:39 +02:00 |
|
Christoffer Lerno
|
24147a85f7
|
Allow unary plus.
|
2023-03-19 22:46:28 +01:00 |
|
Christoffer Lerno
|
e2b9a35dfe
|
Add tentative ".ordinal" on faults. Allow anyerr and fault to be initialized with null.
|
2023-03-15 14:32:00 +01:00 |
|
Christoffer Lerno
|
9b81623680
|
Make string literals default to char[]
|
2023-03-08 11:24:11 +01:00 |
|
Christoffer Lerno
|
6ac99ed83c
|
Improve debug info.
|
2023-03-05 20:50:04 +01:00 |
|
Christoffer Lerno
|
1035de3b36
|
Remove all locations when enums are implicitly lowered to integers. Remove the menagerie of flattening functions. Incidentally this also fixes a bunch of not-yet tested errors with distinct types.
|
2023-03-04 22:14:29 +01:00 |
|
Christoffer Lerno
|
07e4aab48b
|
Fix of bool -> float vector cast. Correctly widen C style varargs for distinct types and optionals.
|
2023-03-02 11:35:05 +01:00 |
|
Christoffer Lerno
|
0dcad6f5cf
|
Improve and simplify casts.
|
2023-03-01 22:43:50 +01:00 |
|
Christoffer Lerno
|
0314f9534f
|
Improve enum checks on enum conversions.
|
2023-03-01 13:56:36 +01:00 |
|
Christoffer Lerno
|
f8208f946b
|
Remove "generic" code paths.
|
2023-03-01 12:01:43 +01:00 |
|
Christoffer Lerno
|
b9dbefbe1b
|
Fix bug when initializing nested struct / unions. Fix of mult of 2x2 matrix. Cleanup of cast.
|
2023-02-28 20:43:43 +01:00 |
|
Christoffer Lerno
|
9db845903e
|
Cleanup and allow complex array length inference, e.g. "int[*][2][*] a = ..."
|
2023-02-28 17:37:17 +01:00 |
|
Christoffer Lerno
|
feaf8b3b2c
|
Update HashMap functionality. Fix check when appending to VarString. Fix issue with decls accidentally invalidated during $checked eval. Fold optional when casting slice to pointer.
|
2023-02-27 00:10:01 +01:00 |
|
Christoffer Lerno
|
10272dbf38
|
Delay C abi lowering until requested on-demand to prevent circular dependencies.
|
2023-02-24 22:01:55 +01:00 |
|
Christoffer Lerno
|
8f5676b488
|
Add defer catch/try. Fix missing defer invoked on return a > 0 ? Foo.ABC! : 1
|
2023-02-21 20:10:03 +01:00 |
|
Christoffer Lerno
|
34eac23e23
|
Fix when comparing const values > 64 bits.
|
2023-02-20 08:03:36 +01:00 |
|
Christoffer Lerno
|
6e8c69cd52
|
Add & ^ | to bitstructs.
|
2023-02-18 16:21:30 +01:00 |
|
Christoffer Lerno
|
baa2e474b5
|
Added $$atomic_store and $$atomic_load.
|
2023-02-17 13:22:12 +01:00 |
|
Christoffer Lerno
|
a0a5c940f1
|
Add --strip-unused.
|
2023-02-16 22:11:42 +01:00 |
|