Christoffer Lerno
f86ef8a743
Remove tscoped. Replace str_index_of with "starts_with". Updated copy_zstring/copy. Fixed utf conversion functions. Initial work on "Path". Lexer fix on \\. ABI fix using distinct types. (bool)"" now works correctly. Bug in $if with switches/loops as the first statement fixed. Version bump.
2022-10-20 10:55:14 +02:00
Dmitry Atamanov
dfe3128b16
Add --benchmarking and --testing switches. ( #591 )
...
Added `--benchmarking` and `--testing` switches. Update env.c3
2022-10-13 14:25:45 +02:00
Christoffer Lerno
5d9a7ab0a6
Extend "var" to allow type inference on variables.
2022-10-13 09:37:52 +02:00
Christoffer Lerno
5e184f04e7
List now has correct alignment and takes memory allocator initializer. Bugfix of aligned allocations.
2022-10-12 22:35:36 +02:00
Dmitry Atamanov
959c418e8b
Add a lot of math functions and macros. ( #626 )
2022-10-12 11:52:19 +02:00
Christoffer Lerno
ab78663f3c
Add usz and isz.
2022-10-10 15:44:03 +02:00
Christoffer Lerno
348495b4c8
Added an initial nolibc
2022-10-10 15:44:03 +02:00
Dmitry Atamanov
7fa129932d
Added $$memmove built-in.
2022-10-08 21:41:11 +02:00
Christoffer Lerno
fa064276bc
Disallow $offsetof / $alignof on types. Version bump.
2022-10-08 12:41:40 +02:00
Christoffer Lerno
bb20a38cdb
Updated membersof. "Type.kind" renamed "Type.kindof"
2022-10-07 14:41:10 +02:00
Dmitry Atamanov
1d39fc475f
Added max and min macros to builtin_comparison module.
2022-10-05 23:13:38 +02:00
Christoffer Lerno
db06f99445
"[]=" now works as overload. Improved eval resolution. Added $$FUNCPTR
2022-10-05 22:58:28 +02:00
Christoffer Lerno
cbb731b42b
Fix alignment on temp allocators.
2022-09-29 22:18:12 +02:00
Christoffer Lerno
258a6ba97a
Bug fixes, addition of hash map implementation. ( #605 )
...
* Simple hash map. Fix of bug preventing cast of typeid. Allow declarations in global "$checks". Fix to non-constant default args. Correctly duplicate macro contracts. Allow typeid to add methods. Fix printing of subarrays. Fix bug when printing a function with a module. Fix bug with initializer and creating local variables. Add the compile-only option to the help.
2022-09-29 20:19:31 +02:00
Christoffer Lerno
ad18d9ba48
Add .hash to integer types. Fixup of make and tmake. Updated map.c3 to become a working example. Fix bug in subarray -> pointer conversion. Search extension methods in std::core. Fix slice <-> slice copy.
2022-09-21 17:26:36 +02:00
Christoffer Lerno
4d5821408d
Add @castable and @convertible builtin macros, removes the need $castable and $convertible
2022-09-20 22:18:00 +02:00
Christoffer Lerno
48ee567f81
Add types::is_indexable.
2022-09-20 18:45:43 +02:00
Christoffer Lerno
4fa4b2a631
Refactored builtins. Added reduce operations and powi. Version bump.
2022-09-19 14:58:48 +02:00
Christoffer Lerno
9b14340a57
Added prefetch builtin.
2022-09-18 23:27:42 +02:00
Dmitry Atamanov
fd9d300b06
Added Int128BE, UInt128BE, Int128LE and UInt128LE.
2022-09-17 01:53:21 +02:00
Christoffer Lerno
1af41ee394
Fix min/max. Also fix of printf
2022-09-14 12:22:57 +02:00
Christoffer Lerno
3a09f71830
Added initial intvec/floatvec operator
2022-09-11 22:52:01 +02:00
Dmitry Atamanov
97de44b424
Added is_vector macro.
2022-09-05 15:12:23 +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
4a296032ab
Add fshl fshr + new optimizer.
2022-08-28 16:22:10 +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
656faa55bf
Add a concat/tconcat function.
2022-08-18 16:57:22 +02:00
Christoffer Lerno
ae51214c47
Added clz, ctz, popcount, bswap, bitreverse.
2022-08-16 21:18:14 +02:00
Christoffer Lerno
63d9853bd3
Fixes to bitstruct.
2022-08-14 18:25:47 +02:00
Christoffer Lerno
af9b99bd5a
Fix macro calls to make CT parameters modifiable.
2022-08-11 11:04:44 +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
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
3461f08a53
Consume a byte to make the temp allocator correctly reset large allocs.
2022-08-04 02:46:15 +02:00
Christoffer Lerno
db5816edd6
Fix to temp allocator reset.
2022-08-04 02:34:51 +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
550bca79e9
Updated memory allocator. Fix in printf printing pointers. Added aligned_alloc to libc module. Renamed MemoryArena -> ArenaAllocator. New temp allocator. @pool(), @scoped, @tscoped macros. Bump to 0.3.2.
2022-08-02 14:42:46 +02:00
Christoffer Lerno
9886d381c0
Update allocator and resolution.
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
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
1adc8b8264
Moved bitcast to builtin module.
2022-07-26 23:42:03 +02:00
Christoffer Lerno
7065c28a08
Some fixes to string. Added fprintf and String.printf. Updated boolerr example.
2022-07-26 13:44:08 +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
7e0a29ef40
Fix constant typeid comparisons. Allow methods to use & and * and constants. Improved error messages. Updated String type with generic append.
2022-07-24 15:10:04 +02:00
Christoffer Lerno
c1de3f059e
Updated error messages.
2022-07-23 21:08:17 +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
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
a68efec5e8
Added swap and list swap to stdlib.
2022-07-14 14:58:11 +02:00