Christoffer Lerno
a66c0942f8
Adding saturated builtins. Remove LLVM 12 support. Remove old llvm optimizer use.
2022-09-17 12:03:08 +02:00
Christoffer Lerno
c8166f6fdb
Adding $$reverse. Bump to 0.3.45
2022-09-16 14:53:17 +02:00
Christoffer Lerno
4d27150952
Adding $$shufflevector. Bump to 0.3.44
2022-09-16 13:39:03 +02:00
Christoffer Lerno
ba9b203c52
Cleanup.
2022-09-15 09:50:46 +02:00
Dmitry Atamanov
7a797d0f28
foreach(_r) for vectors
2022-09-15 00:16:29 +02:00
Christoffer Lerno
fa89ea7b79
Add checks on enum conversion in safe mode. Bump to 0.3.38.
2022-09-09 17:18:27 +02:00
Christoffer Lerno
a0a2e27127
$vasplat() implemented. $vacount removed (). Improved dynscope implementation. Version bump to 0.3.37.
2022-09-09 12:19:47 +02:00
Christoffer Lerno
58f8e00376
Incorrectly disallowed "inner" on enum. Bump to 0.3.36
2022-09-09 10:59:00 +02:00
Christoffer Lerno
1a9a71f4c4
Inline asm first checkin.
2022-09-05 13:29:03 +02:00
Dmitry Atamanov
7a07b8ff13
Add new built-ins ( #551 )
...
* Added new built-ins: $$copysign, $$exp2, $$floor, $$llrint, $$llround, $$lrint, $$lround, $$nearbyint, $$rint, $$round, $$roundeven
* Disable $$llrint, $$llround, $$lrint and $$lround
2022-08-30 09:50:28 +02:00
Dmitry Atamanov
5d15ec23bb
Rename $$fabs to $$abs
2022-08-29 12:51:02 +02:00
Christoffer Lerno
54d6b1a4ec
Fix $$min/$$max for vector.
2022-08-29 10:23:16 +02:00
Christoffer Lerno
e82a7e7918
Allow $$max and $$min to also work on ints.
2022-08-28 19:14:26 +02:00
Christoffer Lerno
4a296032ab
Add fshl fshr + new optimizer.
2022-08-28 16:22:10 +02:00
Christoffer Lerno
6b1370ba76
Support varargs for macros. Bugfix member access. Support macro varargs.
2022-08-27 02:25:08 +02:00
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