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
bb9c8fb93e
Fix of macro/fn use of operator overloading for foreach.
2022-08-28 23:33:39 +02:00
Christoffer Lerno
b863ae2ec5
Fix of binary literals. Bump version to 0.3.32. Renamed rotate_right and rotate_left to rotl and rotr which are the commonly used names.
2022-08-28 22:40:40 +02:00
Christoffer Lerno
5386b6fe50
Improve error message #543
2022-08-28 01:00:11 +02:00
Christoffer Lerno
c9ae0779e7
Locals lookup is no longer hacked to be used for member search. Fixed bug where you could break out of an expression block using a labelled break. Bump to 0.3.29
2022-08-28 01:00:11 +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
1858600449
Fixes issue where functions could not be found if local and imported names clashed.
2022-08-18 20:03:59 +02:00
Christoffer Lerno
d95e0b4733
General refactoring and fix of compile time folding of pointers.
2022-08-17 21:54:47 +02:00
Christoffer Lerno
fd642e333b
Fix tests.
2022-08-17 17:32:28 +02:00
Christoffer Lerno
377f3eeb2e
Allow const access into arrays and structs.
2022-08-17 17:04:27 +02:00
Dmitry Atamanov
15586b3076
Add foreach_r tests
2022-08-16 16:51:06 +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
fc943a98ef
Foreach_r, bump to 0.3.15
2022-08-13 03:04:09 +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
571728a42e
Bump version to 0.3.14. Better non-lvalue errors. Dereferenced optional pointers are not lvalues.
2022-08-12 00:33:09 +02:00
Christoffer Lerno
852c08e5fe
Better handling of foreach lowering.
2022-08-11 21:25:11 +02:00
Christoffer Lerno
f513b6237f
Improved error messages for foo(void), foo(int!) declarations.
2022-08-11 12:59:55 +02:00
Christoffer Lerno
af9b99bd5a
Fix macro calls to make CT parameters modifiable.
2022-08-11 11:04:44 +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
5ac35a49fd
Minor cleanup. Fix of do { } while(1) loops. Bump to 0.3.9
2022-08-10 16:37:27 +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
ebd7611164
Allow compile time pointer manipulation. Ternary bug fixes.
2022-08-09 12:05:49 +02:00
Christoffer Lerno
878bbed929
Fix bug using $switch. Added mem::equals. Fix to dynamic arena allocator.
2022-08-05 19:00:32 +02:00
Christoffer Lerno
6d2ab0c985
Fix ordering of @builtin. malloc <-> alloc, malloc, calloc, realloc, free builtins.
2022-08-04 01:49:36 +02:00
Christoffer Lerno
cc8884d3d1
Allocators separated into aligned and non aligned operations.
2022-08-03 20:53:37 +02:00
Christoffer Lerno
331f9b23f8
Attributes correctly checks for recursive definitions now. Added a max bitstruct size.
2022-07-30 02:55:32 +02:00
Christoffer Lerno
9886d381c0
Update allocator and resolution.
2022-07-30 02:55:32 +02:00
Christoffer Lerno
12c17b62cf
Allow any expression as default expression.
2022-07-30 02:55:32 +02:00
Christoffer Lerno
6f5f5feb97
Fixing distinct, typedef and bitstruct copying. Fix where global constants did not need to be constant. Bump to 0.2.26
2022-07-27 18:12:27 +02:00
Christoffer Lerno
c02ce5ce2a
Better error on all upper parameter names. "Upper case" -> "uppercase"
2022-07-26 22:01:23 +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
cc1bc58ed0
Allow using enums for indexing.
2022-07-24 15:39:11 +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
62c1d2ddb5
Slicing a distinct type now returns the distinct type.
2022-07-23 20:46:21 +02:00
Christoffer Lerno
b313bec69d
Fix to "typeid.kind". Conversion unsigned int -> enum fixed. @autoimport -> @builtin. Comparison macros. Bump to 0.2.21
2022-07-22 17:09:49 +02:00
Christoffer Lerno
56a6e0b112
Fix bug preventing implicit & on optionals. Updated priority queue to return optionals. Changed the list API to have snake case on methods. Bump to 0.2.20
2022-07-21 22:21:50 +02:00
Christoffer Lerno
18f7f35e80
More tests.
2022-07-21 21:20:03 +02:00
Christoffer Lerno
1d572f3e7c
Allow distinct printthrough in printf. Added tests.
2022-07-21 18:13:11 +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
8afbccd3fe
Fix bug in extension methods for generic types and typedefs.
2022-07-20 13:24:55 +02:00
Christoffer Lerno
d3a053e049
Updated mangling and bump to 0.2.18
2022-07-20 12:22:03 +02:00
Christoffer Lerno
29edd6e54e
Fix to extension methods in other modules. Version 0.2.17
2022-07-19 14:17:00 +02:00
Christoffer Lerno
547d30eb1e
Disallow complist as a regular macro parameter.
2022-07-18 01:22:29 +02:00