Christoffer Lerno
5f1ebdcd28
Fixes #873
2023-07-23 16:14:33 +02:00
Christoffer Lerno
d7d7fd3a10
Rewrite of function pointer handling.
2023-07-21 01:44:37 +02:00
Christoffer Lerno
7bccde72ed
Fix missing declaration resolve when inlining enum data.
2023-07-20 18:34:02 +02:00
Christoffer Lerno
3f41e58dbd
Fix pseudo-circular function pointer definitions.
2023-07-20 12:49:02 +02:00
Christoffer Lerno
581ecdb2a8
Only add a director as a link path if the directory can be found. Update raylib examples.
2023-07-19 22:06:57 +02:00
Christoffer Lerno
5aae9f3204
Correctly apply fixup to switch macros. Addresses new issue in #862 . Updates @pool.
2023-07-19 11:38:18 +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
Pierre Curto
491c5ceec5
support for List in quicksort; add HashMap.@each ( #861 )
...
* compiler: fix typo in error message about failed name resolution
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/sort: add List support to quicksort
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* lib/std/collections: add HashMap.@each
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-07-18 12:18:12 +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
aa216fa510
Dev ( #859 )
...
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values.
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values. Remove PTHREAD for windows.
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values. Remove PTHREAD for windows.
2023-07-17 02:00:27 +02:00
Christoffer Lerno
11eb187fee
Allow init from slices: float[4] x = foo[:4]
2023-07-16 01:23:12 +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
97e5dbf62c
Allow enum and fault constants to parameterize modules.
2023-07-15 17:03:52 +02:00
Christoffer Lerno
4325d017c8
Compacted section list. Somewhat more controlled ctarg search.
2023-07-15 16:31:53 +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
ab32e0dc9d
Fix for tests & callstack.
2023-07-13 21:48:48 +02:00
Christoffer Lerno
26ee4babcf
Native_fopen for Win32 had incorrect arguments.
2023-07-13 19:54:27 +02:00
Christoffer Lerno
c7d90baad1
Error message on bus error or segmentation fault. Some additional SIG… ( #848 )
...
* Error message on bus error or segmentation fault. Some additional SIG info. Full debug info by default. Trapping is now debugtrap rather than trap for LLVM. Row now initialized when entering function for stacktrace.
2023-07-13 15:25:06 +02:00
Christoffer Lerno
c99f298cad
Fix issue where rethrow in a macro not allowing optional caused an assert to trigger. #849
2023-07-13 12:34:15 +02:00
Christoffer Lerno
fc316b1031
Improve the error message on accidentally passing a ref parameter as a pointer.
2023-07-11 12:18:18 +02:00
Christoffer Lerno
dddeca1856
Remove assert(try). Prevent nextcase with expression if there is no switch. Fix issue with multiple declarations and compile time variables. Nextcase default. Dropped support for non-const-int ranges.
2023-07-11 01:04:35 +02:00
Christoffer Lerno
68af987c60
Version update.
2023-07-09 16:25:37 +02:00
Christoffer Lerno
cd73b9bc42
Require exhaustive enum switching.
2023-07-09 16:25:15 +02:00
Christoffer Lerno
9543fbbf1c
Exhaustive switch on enums. This addresses #838
2023-07-09 01:18:01 +02:00
Christoffer Lerno
8b605d9183
$embed.
2023-07-09 01:18:01 +02:00
Christoffer Lerno
5f711408c0
Fix compiler error when taking the address of a parameterized function. Fix issue when being generic over a function type, this fixes #836 .
2023-07-08 13:32:32 +02:00
Christoffer Lerno
8780df8467
Correctly treat distinct inline types as having their inner type's methods available.
2023-07-07 13:54:33 +02:00
Christoffer Lerno
79e2d683b6
Live tracing failed to trace expression types. This fixes #832 .
2023-07-07 12:00:59 +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
97ded16ea2
Fix issue where macros with bodies are not filtered from liveness tracing. #818
2023-07-06 17:30:50 +02:00
Christoffer Lerno
6231cc83d9
Reduce recursion max further.
2023-07-04 18:51:34 +02:00
Christoffer Lerno
20c0bbc911
Reduce recursion max.
2023-07-04 18:39:22 +02:00
Christoffer Lerno
559dcffdf2
Do not poison macro body.
2023-07-04 18:30:12 +02:00
Christoffer Lerno
7ed0aeced2
Should fix #814 .
2023-07-04 16:30:09 +02:00
Christoffer Lerno
c249c3f3b6
Fix of accidentally printing "prev" when using $checks. Updated binary search.
2023-07-04 02:29:02 +02:00
Christoffer Lerno
bbbcd9bf48
Updated name mangling for static vars in llvm.
2023-07-04 01:12:39 +02:00
Christoffer Lerno
c2c6f09d68
Fixes #811 . Update some stdlib methods. Header printout correctly picks a name. #804
2023-07-03 15:45:06 +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
21d8a8b6da
Fix #809 missing checks on generic types, accepting both types where constants should be and vice versa.
2023-07-01 23:58:00 +02:00
Christoffer Lerno
45820d45e5
Allow using inferred type on method first parameter.
2023-07-01 22:47:54 +02:00
Christoffer Lerno
70ea6ce04b
Fix #806 , and also makes sure that things like FOO.x.a is a compile time value.
2023-07-01 16:29:17 +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
57c8b5fc75
Fix on rethrow + macros.
2023-06-27 20:41:17 +02:00
Pierre Curto
550b1f23ec
add missing newlines in output messages when creating libraries
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-06-27 14:06:00 +02:00
Christoffer Lerno
f651a59294
Fix on rethrow + macros.
2023-06-27 13:19:28 +02:00
Christoffer Lerno
fee80682b1
Update to error message when expecting a type.
2023-06-27 10:19:09 +02:00