Christoffer Lerno
7ea3d230bb
0.5.5 features ( #1151 )
...
0.5.5 Disallow multiple `_` in a row in digits, e.g. `1__000`. #1138 . Fixed toposort example. Struct/union members now correctly rejects members without storage size #1147 . `math::pow` will now correctly promote integer arguments. `math::pow` will now correctly promote integer arguments. Added `new_aligned` and `alloc_aligned` functions to prevent accidental under-alignment when allocating simd. Pointer difference would fail where alignment != size (structs etc) #1150 . Add test that overalignment actually works for lists. Fixed array calculation for npot2 vectors. Use native aligned alloc on Windows and POSIX. Deprecates "offset". Simplification of the Allocator interface.
2024-02-22 17:13:51 +01:00
Christoffer Lerno
748c737e8f
0.5.4: Hash variables accept designated initializers. @safemacro overrides the need for @ in macro names. Fixes to macro context evaluation. Updated allocator api. Removed install_win_reqs.bat. Deterministic @init for MacOS. Fixed temp memory issue with formatter. Support LLVM 19. Add support to compare bitstructs using == and !=. Support Windows .def files. Removed invalid grammar from grammar.y. Support compile time folding of &|^~ for bitstructs. output project setting now respected. Fix issue where constants were not properly constant folded. Add temp_push/pop. Aliased declarations caused errors when used in initializers. Fix export output. Fix of const ternary #1118 . Fix of $$MODULE in nested macros #1117 . Fix debug info on globals. out now correctly detects subscript[] use #1116 . Lateral implicit imports removed. Default to '.' if no libdir is specified. Improved error messages for --lib. Fix raylib snake example. Overzealous local escape check corrected #1127 . Improved yacc grammar #1128 . --linker argument #1067 . Fixes to the matrix operations #1130 . Added GenericList.
2024-02-15 21:39:33 +01:00
Christoffer Lerno
deb4cc7c4b
0.5.3: Single-module not respected. Fix issue with compiler defined types. Fix optimization levels for projects. Use GEP i8 on offsets. Optimize foreach on len 1 arrays. Move panic blocks last. Fix generic module wildcard imports. Deprecate init_temp / init_new. Fix issue with macro vaarg and untyped lists. Fix extern const globals.
2024-01-14 15:34:54 +01:00
Christoffer Lerno
e91f6e268e
0.5.2: Allow trailing comma in calls and parameter declarations #1092 . Fixes issue where single character filenames like 'a.c3' would be rejected. Improve error messages for incorrect user defined foreach. Fix bug with generics in generics. Fix to error with modified vector parameters. Crash with lhs vector inference. Fixes to priority queue.
2023-12-23 23:15:51 +01:00
Christoffer Lerno
1d61ace302
Do not link with debug libc on win32 when using cross compile libs. Add delete methods to dstring. Fixes to macOS aarch64 codegen. Use glibc backtrace when available. Add load_* methods to file. The cast (int[8])int_slice[:8] now works.
2023-12-08 18:59:57 +01:00
Christoffer Lerno
3255183ee4
0.5 release.
2023-11-20 23:48:18 +01:00
Christoffer Lerno
ffb0021d04
Use backtrace on windows. Updated backtrace API
2023-11-17 00:36:42 +01:00
Christoffer Lerno
81c93e3488
Use backtrace on windows. Updated backtrace API
2023-11-16 21:39:27 +01:00
Christoffer Lerno
e31f2a03ba
Add location tracking for memory allocations.
2023-11-09 11:20:29 +01:00
Christoffer Lerno
1e38ccdd2b
Fix missing free on GrowableBitSet. init_new/init_temp for GrowableBitSet, LinkedList, List, HashMap, DString, ByteBuffer. Interface to_string renamed to_new_string. Change in allocator usage, malloc is now heap. Added new_array, new_zero_array, new, new_clear, clone. Concat => concat_new. string::printf => string::new_format, string::tprintf => string::tformat. "to_*" are now "to_new_*" and "to_temp_*". "from_*" is "new_from*"
2023-11-09 01:59:49 +01:00
Christoffer Lerno
cd7a03c2cf
Interface based streams. Fix for initializing with a force unwrap inside. Allow $define to take a list. Allow $define to return error on argument type mismatch in call. Fixed broken bit operations on boolean vectors.
2023-10-31 01:06:59 +01:00
Christoffer Lerno
9af37fe427
$and, $or, $is_const, $assignable, .is_eq, .is_ordered, $defined($vatype(2)) works looking if we can create a type, $defined(foo[0]) $defined(foo()). Remove $checks and @checked. Improvide casting checks to always work without destructive changes.
2023-10-24 22:06:04 +02:00
Christoffer Lerno
d01d8d3663
"protocol" => "interface"
2023-10-20 14:12:08 +02:00
Christoffer Lerno
682dfd0e47
Update default asm dialect on asm strings. Fix naked function analysis.
2023-10-14 13:56:53 +02:00
Christoffer Lerno
1472d60c8a
Update version and releasenotes.
2023-10-10 23:32:04 +02:00
Christoffer Lerno
70f906c71a
Dynamic protocols. Correctly widen unsigned array indices (see #1029 )
2023-10-05 15:20:41 +02:00
Christoffer Lerno
49c4595457
Dynamic protocols.
2023-10-05 15:20:41 +02:00
Christoffer Lerno
2b9276b495
Add 'exec'
2023-09-30 23:28:22 +02:00
Christoffer Lerno
fc8b185b5b
Add library init.
2023-09-28 11:06:51 +02:00
Christoffer Lerno
aa6101d8ea
Correctly deduce the return type for macros with implicit return. See #1018 .
2023-09-26 17:37:27 +02:00
Christoffer Lerno
ee42992c37
Make local constants behave as global: see #974
2023-09-26 00:18:59 +02:00
Christoffer Lerno
a1ecf2211f
as_str() replaced by str_view()
2023-09-24 23:50:16 +02:00
Christoffer Lerno
c074e79069
Bitstruct members would get partly evaluated using checks, then incorrectly reset on error. Also, copying bitstruct members were broken. This addresses #1005 .
2023-09-19 18:03:20 +02:00
Christoffer Lerno
f6e18ded5b
Add atomic_fetch builtins.
2023-09-15 18:07:15 +02:00
Dmitry Atamanov
d6e9985a26
Add log(x, base) function to std::math module.
2023-09-15 09:22:34 +02:00
Dmitry Atamanov
4a232b7935
Add builtin benchmarks to changelog. [skip_ci]
2023-09-14 20:58:49 +02:00
Christoffer Lerno
2eddda9061
Add gather/scatter for vectors.
2023-09-14 10:19:15 +02:00
Christoffer Lerno
b2ac4b4253
Allow use of pointers in vectors.
2023-09-13 13:45:33 +02:00
Christoffer Lerno
ca1885fe09
Updated releasenotes.
2023-09-09 22:50:25 +02:00
Christoffer Lerno
dfe097931c
Add masked_load / masked_store
2023-09-09 01:05:51 +02:00
Christoffer Lerno
4ef74a1205
Add $$select. "--fp-math" options. Fixed issue with accidentally silent error on failed vector conversions.
2023-09-08 09:20:27 +02:00
Christoffer Lerno
82ba02a904
Allow indexing of constant strings. Fixed reverse indexing of constant initializers.
2023-08-30 16:36:29 +02:00
Christoffer Lerno
dd0dc1a936
Allow anyfault and any aliasing. Fix any comparison.
2023-08-30 13:56:16 +02:00
Christoffer Lerno
eac19814e1
Make typeid switches always use subtype matching. Update seeder mixing.
2023-08-29 22:48:26 +02:00
Christoffer Lerno
a23112fae6
Added parentof.
2023-08-29 11:51:09 +02:00
Christoffer Lerno
69553fd80e
Bitstruct designated initializer sometimes failed. This addresses. #954
2023-08-27 18:10:22 +02:00
Christoffer Lerno
d5aebb434c
Eliding length for ":"-ranges is no longer allowed.
2023-08-18 22:25:51 +02:00
Christoffer Lerno
17f69d8da8
Update slice assign so that it looks at the arguments and does slice copying or splat assign as needed.
2023-08-18 18:46:38 +02:00
Christoffer Lerno
f912e53038
Fix where designated initializers had optional arguments. See #923
2023-08-13 20:57:50 +02:00
Christoffer Lerno
3e765a3f3e
Hash maps now copy keys if keys are copyable.
2023-08-10 21:14:24 +02:00
Christoffer Lerno
951a9f2b43
Fix of ++ and -- on bitstructs.
2023-08-10 18:01:50 +02:00
Christoffer Lerno
6d870fbef0
Fix for arithmetic promotion of aliases. Some work towards $exec scripting.
2023-08-10 17:14:29 +02:00
Christoffer Lerno
01a89e2145
Fix bug where library source files were sometimes ignored.
2023-08-09 21:34:58 +02:00
Christoffer Lerno
2ca67d1489
Fix void[] -> char[] cast.
2023-08-09 01:03:06 +02:00
Christoffer Lerno
91bb31856b
Introduce initial $exec.
2023-08-07 19:43:57 +02:00
Christoffer Lerno
def97eea9d
Fixes member visibility for anonymous bitstruct. Bitstruct member attributes works. Anonymous bitstruct assignment fixed.
2023-08-03 01:00:30 +02:00
Christoffer Lerno
fc0973f378
Fix issue casting an untyped list. Addresses #908 .
2023-08-02 23:03:50 +02:00
Christoffer Lerno
8a9522a363
Updated release notes.
2023-07-31 10:43:15 +02:00
Christoffer Lerno
499c82b089
Updated indentation to C3 standard.
2023-07-26 14:01:24 +02:00
Christoffer Lerno
11eb187fee
Allow init from slices: float[4] x = foo[:4]
2023-07-16 01:23:12 +02:00