Christoffer Lerno
2acf3c57c7
Check unaligned array access.
2025-07-18 20:45:57 +02:00
Zack Puhl
b8d07474fe
Add SipHash Family of Keyed PRFs ( #2287 )
...
* implement SipHash family of keyed PRFs
2025-07-18 16:16:47 +02:00
Christian Buttner
cf913b41c6
Fix Formatter.print returning incorrect size ( #2306 )
...
* Fix `Formatter.print` returning incorrect size
2025-07-18 15:54:07 +02:00
Christoffer Lerno
078ce38c57
Test fix.
2025-07-16 00:22:28 +02:00
Christoffer Lerno
f99b903d78
- Fix unexpected display of macro definition when passing a poisoned expression #2305 .
2025-07-15 23:31:44 +02:00
Christoffer Lerno
3650b81970
Segfault when failing to cast subexpression to 'isz' in pointer subtraction #2305 .
2025-07-15 21:47:49 +02:00
Christoffer Lerno
af91f35017
Fix stringify of $vaexpr #2301 .
2025-07-15 17:13:10 +02:00
Christoffer Lerno
1a351bdb6d
Error message for missing arg incorrect for methods with zero args #2296 .
2025-07-14 23:21:15 +02:00
Christoffer Lerno
efaac43248
- Virtual memory library.
...
- New virtual emory arena allocator.
- Fixed resize bug when resizing memory down in ArenaAllocator, DynamicArenaAllocator, BackedArenaAllocator.
- Added feature flag "SLOW_TESTS"
2025-07-14 22:36:43 +02:00
Christoffer Lerno
2bd289ebd6
Added VirtualMemory
2025-07-14 03:07:03 +02:00
Christoffer Lerno
e755c36ea2
Removed the use of temp allocator in backtrace printing.
...
Added string::bformat.
2025-07-13 02:58:57 +02:00
Christoffer Lerno
cdd530d807
Fixed bug splatting constants into constants.
2025-07-11 01:55:09 +02:00
Christoffer Lerno
02c0db7b8b
Multiline contract comments #2113
2025-07-11 01:18:58 +02:00
Christoffer Lerno
988549599d
$is_const is deprecated in favour of @is_const based on $defined.
...
`$foo` variables could be assigned non-compile time values.
`$foo[0] = ...` was incorrectly requiring that the assigned values were compile time constants.
2025-07-10 18:31:44 +02:00
Zack Puhl
70159c00cc
Add WHIRLPOOL hashing to stdlib ( #2273 )
...
* add WHIRLPOOL hashing to stdlib
2025-07-10 16:39:42 +02:00
Christoffer Lerno
2dfbdea889
Update error message for struct initialization #2286
2025-07-10 16:29:49 +02:00
Christoffer Lerno
299d1f530f
Correctly poison the analysis after a failed $assert or $error. #2284
2025-07-09 16:51:43 +02:00
Christoffer Lerno
bf0ff8abbc
Splat 8 arguments can sometimes cause incorrect behaviour in the compiler. #2283
2025-07-09 16:36:02 +02:00
Christoffer Lerno
a314e05826
Use hex consistently for .max is 64 bits or more.
2025-07-09 03:09:10 +02:00
Christoffer Lerno
83fd24faa2
Improve error on unsigned implicit conversion to signed.
2025-07-09 02:49:19 +02:00
Christoffer Lerno
1d4ad5f1d5
Function pointers are now compile time constants.
...
const enum cannot be set to function pointer unless it's a lambda #2282 .
2025-07-08 12:42:16 +02:00
Christoffer Lerno
26d5cc694a
Formatting option "%h" now supports pointers.
2025-07-08 11:43:49 +02:00
Christoffer Lerno
a2122e0153
Update error message.
2025-07-08 00:24:29 +02:00
Christoffer Lerno
5b835bec3e
Fix to codegen when using a bitstruct constant defined using a cast with an operator #2248 .
2025-07-07 17:09:32 +02:00
Christoffer Lerno
dc23cef59a
LLVM 20 compatibility for test.
2025-07-07 03:01:09 +02:00
Christoffer Lerno
808ab56545
- Bit shift operation fails with inline uint enum despite matching underlying type #2279 .
2025-07-07 02:30:54 +02:00
Christoffer Lerno
19acdc7a19
Do not do certain implicit conversions on enums in binary expression.
2025-07-06 21:44:06 +02:00
Christoffer Lerno
e15fdc709f
Improve error message when doing a rethrow in a function that doesn't return an optional.
...
Array indices are now using int64 internally.
2025-07-06 20:20:42 +02:00
Disheng Su
457244e3de
Fix json parser ( #2272 )
...
* Fix json parser number
* Fix json parser leading zero
* Fix json parser with duplicated keys
* Fix json parser with trailing characters
* Fix json parser: set recursive depth to 128
* Fix json parser: skip comment to false
* Fix json parser: reject number trailing with null
* Make max depth configurable. Simplify with defer catch. Accept `2.`
* Make max depth configurable. Simplify with defer catch. Accept `2.`
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-06 03:07:46 +02:00
Kiana
802fbfcf1e
Add ansi.c3 for AnsiColor support ( #2261 )
...
* Add ansi.c3 for AnsiColor support
* Added tests
updated functions to macros
added formatting codes
* Fixed indentation
* Update names. Add plain rgb version. Add runtime colors.
* Update indentation, add 21-29
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-07-06 01:37:54 +02:00
Christoffer Lerno
a20e74c401
Fixes to thread local pointer handling.
2025-07-06 00:22:21 +02:00
Christoffer Lerno
7cdb1ce9eb
Catch accidental foo == BAR; where foo = BAR; was most likely intended. #2274
2025-07-05 20:40:55 +02:00
Christoffer Lerno
0d170a70b6
Make to_float more tolerant to spaces.
2025-07-05 19:42:44 +02:00
Christoffer Lerno
a46f73ad24
Const slice indexing was not bounds checked.
2025-07-03 23:53:01 +02:00
Christoffer Lerno
759bc1d909
Const slice lengths were not always detected as constant.
2025-07-03 23:32:02 +02:00
Christoffer Lerno
635d4babc4
Fix tests.
2025-07-03 22:37:23 +02:00
Christoffer Lerno
9b3b4ae8be
$for ct-state not properly popped.
2025-07-03 22:20:14 +02:00
Christoffer Lerno
ee1ed73fc5
Non-const macros may not return untyped lists.
2025-07-03 15:45:14 +02:00
Christoffer Lerno
8b47317ec7
Fix issue with labelled break inside of a $switch.
2025-07-03 13:11:12 +02:00
Christoffer Lerno
04626b72cd
Check up the hierarchy when considering if an interface cast is valid #2267 .
2025-07-03 12:36:35 +02:00
Christoffer Lerno
2151cd0929
Missing bounds check on upper bound with const ranges foo[1:3].
2025-07-02 13:12:49 +02:00
Christoffer Lerno
93ded9c1e0
Switch case with const non-int / enum would be treated as ints and crash. #2263
2025-07-02 12:26:26 +02:00
Christoffer Lerno
20964b43ce
Fix of const enum resolution order #2264
2025-07-02 12:01:52 +02:00
Christoffer Lerno
af192354fd
Comparing a null ZString with a non-null ZString would crash.
2025-07-02 01:22:34 +02:00
Christoffer Lerno
ad48637cbb
Correctly reject interface methods type and ptr.
2025-07-01 20:08:46 +02:00
Christoffer Lerno
89507bd335
Improved error messages on missing qualifier on enum value. #2260
2025-07-01 17:08:12 +02:00
Christoffer Lerno
4502a9286c
Fix typeid on compile time types.
2025-07-01 00:27:17 +02:00
Christoffer Lerno
965ef19a5b
Allow $typeof to return a compile time type.
2025-07-01 00:02:12 +02:00
Christoffer Lerno
59a1590955
Hex string formatter check incorrectly rejected slices.
2025-06-30 21:41:52 +02:00
Christoffer Lerno
13bb2b6690
Const Enums From / to ordinal using casts is back. Add "--use-old-enums", deprecating lookup.
2025-06-30 21:41:52 +02:00