Christoffer Lerno
70f906c71a
Dynamic protocols. Correctly widen unsigned array indices (see #1029 )
2023-10-05 15:20:41 +02:00
Christoffer Lerno
49c4595457
Dynamic protocols.
2023-10-05 15:20:41 +02:00
Christoffer Lerno
c4228e08c5
MacOS uses regular stacktrace for errors.
2023-09-21 16:39:13 +02:00
Christoffer Lerno
8ed9be9c58
Update build options --nostdlib --nolibc --emit-stdlib --forcelinker … ( #999 )
...
Update build options --nostdlib --nolibc --emit-stdlib --forcelinker --strip-unused. Fix error with vectors in $foreach. Also error if a $foreach iterating over an empty list. Rename forcelinker -> system-linker
2023-09-17 13:19:01 +02:00
Christoffer Lerno
b2ac4b4253
Allow use of pointers in vectors.
2023-09-13 13:45:33 +02:00
Christoffer Lerno
37bb16cca1
Updated cast code.
2023-09-12 12:48:52 +02:00
Christoffer Lerno
4ef74a1205
Add $$select. "--fp-math" options. Fixed issue with accidentally silent error on failed vector conversions.
2023-09-08 09:20:27 +02:00
Christoffer Lerno
50e99b571f
Add frame pointer on "enable stacktrace". Set no-trapping-math. Update fmuladd.
2023-09-06 14:38:21 +02:00
Christoffer Lerno
b6756b5b35
Overlapping slice assign is now safe.
2023-09-01 09:40:07 +02:00
Christoffer Lerno
dd0dc1a936
Allow anyfault and any aliasing. Fix any comparison.
2023-08-30 13:56:16 +02:00
Christoffer Lerno
eac19814e1
Make typeid switches always use subtype matching. Update seeder mixing.
2023-08-29 22:48:26 +02:00
Christoffer Lerno
a23112fae6
Added parentof.
2023-08-29 11:51:09 +02:00
Dmitry Atamanov
b8c92c69b0
Implement builtin benchmarks.
2023-08-28 08:13:21 +02:00
Christoffer Lerno
69553fd80e
Bitstruct designated initializer sometimes failed. This addresses. #954
2023-08-27 18:10:22 +02:00
Christoffer Lerno
6ebd437a5f
Fix bug when converting from typedef to distinct. Ordered struct fields. Update debug type when returning an optional.
2023-08-25 14:11:23 +02:00
Christoffer Lerno
056ffa5876
Fix bug dropping bounds checks for arrays. This addresses #943 .
2023-08-23 14:21:11 +02:00
Christoffer Lerno
0b67f1a8e4
Fix windows .dyn_search.
2023-08-22 21:34:10 +02:00
Christoffer Lerno
27445e6c1d
Semi-fix of $embed on empty. Inline caches for dynamic dispatch.
2023-08-22 15:24:21 +02:00
Christoffer Lerno
c07dc700df
Fix of #936 . Also some general cleanup.
2023-08-18 15:55:43 +02:00
Christoffer Lerno
957ce320ae
Cleanup and size reduction of Ast/Expr.
2023-08-18 01:57:56 +02:00
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