Christoffer Lerno
52bcf4654a
Reduce max params to 127. Hint when using more. Allow function pointers to have default and named parameters. Bump version to 0.3.27
2022-08-25 17:55:25 +02:00
Christoffer Lerno
57e1084734
Improvements to parameter parsing. Update "splat" name. Allow more orderings of named parameters. Allow named args after variant.
2022-08-24 20:06:08 +02:00
Christoffer Lerno
821b6a7ffa
Updated pointer offset handling. Version bump. This fixes variant[2] { &&1, &&2 } init.
2022-08-20 11:43:00 +02:00
Christoffer Lerno
ae51214c47
Added clz, ctz, popcount, bswap, bitreverse.
2022-08-16 21:18:14 +02:00
Christoffer Lerno
9a3e7fd34b
Add the ability to build static libraries. Bump version to 0.3.18
2022-08-16 09:11:02 +02:00
Christoffer Lerno
9a69a13b04
Fixes to or/and with rethrow.
2022-08-15 14:34:18 +02:00
Christoffer Lerno
63d9853bd3
Fixes to bitstruct.
2022-08-14 18:25:47 +02:00
Christoffer Lerno
7805fb8d1c
More codegen cleanup.
2022-08-13 00:19:09 +02:00
Christoffer Lerno
d93c7090f6
Adding wrapper functions to a lot of the LLVM calls.
2022-08-12 23:20:35 +02:00
Christoffer Lerno
44df6eb75b
Cleanup.
2022-08-12 18:13:24 +02:00
Christoffer Lerno
5cacc41925
Add global builder / updated codegen.
2022-08-12 01:50:48 +02:00
Christoffer Lerno
90dfc24491
General cleanup and rearranging code.
2022-08-11 02:20:22 +02:00
Christoffer Lerno
92b4eeaa35
Update codegen for failable folding. Fixes chained init, e.g. "int! a = b = TestErr.FOO!"
2022-08-10 21:32:29 +02:00
Christoffer Lerno
cfcf5cbc16
Bump to 0.3.7. Fixes issue with bitoperations on booleans.
2022-08-10 11:01:14 +02:00
Christoffer Lerno
9473adbc35
Added $$sysclock() builtin.
2022-08-10 01:24:16 +02:00
Christoffer Lerno
ebd7611164
Allow compile time pointer manipulation. Ternary bug fixes.
2022-08-09 12:05:49 +02:00
Christoffer Lerno
f93c20ca34
$$syscall cleanup.
2022-08-05 12:24:33 +02:00
Christoffer Lerno
9866c7f9e9
Added $$syscall builtin.
2022-08-05 12:01:50 +02:00
Christoffer Lerno
398e19d727
Corrected default alignment on temp alloc. Added str_index_of. Added simple getline. Added a simple calculator. Allow [1..] to create a zero length slice. Added some initial macro contracts. Fix accessing enum functions. Support for @checked. Bump to 0.3.4
2022-08-05 00:42:52 +02:00
Christoffer Lerno
cc8884d3d1
Allocators separated into aligned and non aligned operations.
2022-08-03 20:53:37 +02:00
Christoffer Lerno
a109efd14c
Fix bug with ternary failables.
2022-08-01 11:22:58 +02:00
Christoffer Lerno
64d883cb99
Fix bug on runtime "nameof" with optional values. Fixed issues with integer to enum casts. 0.2.25. Added enum_by_name.
2022-07-27 00:46:02 +02:00
Christoffer Lerno
cdff5c3e26
Dev ( #500 )
...
Single code path for kind/inner/len/sizeof on type and typeid. Fix of #493 . Bump to 0.2.24. Remove ´func´ deprecated keyword. Unify builtin access. Enum and fault name reflection.
2022-07-26 00:56:59 +02:00
Christoffer Lerno
812bd8b3d0
Added $converable / $castable. Simplify and corrected if try/catch parsing. Fix bug with { [A] = 1 }
2022-07-24 15:10:04 +02:00
Christoffer Lerno
002ee006c1
More efficient int[] a = {}; Disallow zero length arrays. Bump to 0.2.19 ( #489 )
...
More efficient int[] a = {}; Disallow zero length arrays. Bump to 0.2.19. Improve error on mistyped types.
2022-07-20 22:25:03 +02:00
Christoffer Lerno
d3a053e049
Updated mangling and bump to 0.2.18
2022-07-20 12:22:03 +02:00
Christoffer Lerno
4afec24434
More advanced introspection.
2022-07-20 12:22:03 +02:00
Christoffer Lerno
6cf3c9f46b
Fix in nested block handling. @maydiscard and @nodiscard annotations. If the common type of int[x] and int[y] is int[]
2022-07-17 19:48:24 +02:00
Christoffer Lerno
4beb7eff8f
Add support for : slices. Version bumped to 0.2.16
2022-07-17 19:48:24 +02:00
Christoffer Lerno
3f6b0646b3
An initial printf. Added type.inner and type.len. Bump to 0.2.15
2022-07-14 02:43:53 +02:00
Christoffer Lerno
28a8e17690
Vararg abi fix. Version bumped to 0.2.14
2022-07-13 14:19:09 +02:00
Christoffer Lerno
92542ac1f9
Fix bug with bit struct initialization and zeros. Allow float mod. Add float.max/min. Version bumped to 0.2.13
2022-07-13 00:13:34 +02:00
Christoffer Lerno
c8a614e43f
LLVM 15 compatibility fixes ( #465 )
...
More variant code. Fixes to typekind. Fixes to macro with failable returns. Remove use of LLVMConstInsert etc. Version 0.2.8
2022-07-06 16:41:52 +02:00
Christoffer Lerno
bb28f6e61c
Fix stack setting after error return. Some fixes to examples.
2022-07-02 10:54:40 +02:00
Christoffer Lerno
b1d83e2ccd
Auto-import std::core. Fix module assignment of declarations. Introspection improvements. Deref null error panics in safe mode. Support for LLVM 15
2022-06-29 21:57:35 +02:00
Christoffer Lerno
df41caabdd
Global @align fixed #446 .
2022-06-04 23:19:27 +02:00
Christoffer Lerno
b0c55ff777
Support enum associated values.
2022-05-11 20:55:09 +02:00
Christoffer Lerno
9691d50a6f
@ is now part of the name of an attribute or a macro. Macros without '@' must be function-like.
2022-05-08 22:16:33 +02:00
Christoffer Lerno
29a9769651
Ordinal based enums.
2022-05-08 21:39:00 +02:00
Christoffer Lerno
22ee082d00
0.2.1 SysV ABI fix for passing certain things by struct. Fix implicitly converting to float in the case of myfloat *= -1. Prefer inferred constant over global. Allow locals to shadow global variables.
2022-04-27 16:43:25 +02:00
Christoffer Lerno
890c4bc435
0.2.0. Build system improvements. Target changes x64-windows -> windows-x64, x64-darwin -> macos-x64. Improved mac support. LLD linking for Mac, Windows, Linux. Cross linking for Mac, Windows. Clean up string use. Fix of debug handling of multiple compilation units per module. MSVC CI
2022-04-26 13:20:33 +02:00
Dmitry Atamanov
151cbfd706
Semi-implemented foreach for vectors ( #423 )
...
Implement foreach for vectors
2022-04-09 20:09:35 +02:00
Christoffer Lerno
b99db4be24
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
2022-04-09 20:07:59 +02:00
Christoffer Lerno
8743223dd6
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
2022-04-09 20:07:59 +02:00
Christoffer Lerno
b31629c5e8
Removal of "or_else jump". Fixes to defer & macros/blocks, optimized failable return. @noscope macros removed. Disallow meaningless defer.
...
Correctly show error on return or rethrow inside of a defer. Fix copying an access expression. Removing scoped expr.
2022-03-26 20:16:36 +01:00
Christoffer Lerno
8b8a8d81db
Fix of issue with "a ?? false"
2022-03-21 13:22:59 +01:00
Christoffer Lerno
05d8e6c7b8
Fix debug panic for vector shift and division.
2022-03-20 19:39:31 +01:00
Christoffer Lerno
6789fab93c
Panic function that may be redefined. Trap and stacktrace builtins. Bug using builtin fixed. Fixes to using $$LINE and friends. Produces a stacktrace on error.
2022-03-18 12:43:17 +01:00
Christoffer Lerno
e02362de0c
Resolve contracts as they are encountered.
2022-03-11 11:17:39 +01:00
Christoffer Lerno
c414459075
Fix bug with missing debug location.
2022-03-10 15:55:44 +01:00