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
Christoffer Lerno
9299c78747
Detect when a slice on the stack is accidentally returned from a function.
2025-06-30 15:56:19 +02:00
Disheng Su
d46733e11a
Add string escaping and unescaping functionality ( #2243 )
...
* Add `String.escape`, `String.unescape` for escaping and unescaping a string.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-06-29 20:11:11 +02:00
Christoffer Lerno
9285dfefad
- $member.get supports bitstructs.
...
- $member.set for setting members without the *& trick.
- io::struct_to_format now supports bitstructs.
2025-06-29 01:19:09 +02:00
Zack Puhl
0448e50b3d
Fix Incorrect SHA256 Hashes for Large Inputs ( #2247 )
...
* fix >256MiB sha256 bitcount computation overflow
2025-06-28 03:20:33 +02:00
Christoffer Lerno
dc1e5323ab
Segfault in the compiler when using a bitstruct constant defined using a cast with an operator #2248 .
2025-06-27 23:00:14 +02:00
Christoffer Lerno
df8904909b
Fix bugs relating to optional interface addr-of #2244 .
2025-06-27 15:02:12 +02:00
Christoffer Lerno
f67da4f315
Refactoring, optimize negation in if statement.
2025-06-25 12:33:17 +02:00
Christoffer Lerno
2b0fb52f65
Fix regression: Enum inference with compare operators #2241
2025-06-25 00:55:29 +02:00
Christoffer Lerno
faf073885f
Updated fix of #2218
2025-06-24 22:28:14 +02:00
Christoffer Lerno
1ef9c73342
Compile-time comparison of constant vectors. #1575 .
2025-06-24 16:04:24 +02:00
Christoffer Lerno
a894adbdd6
Assert comparing untyped lists #2240 .
2025-06-24 12:47:08 +02:00
Christoffer Lerno
605a7c4091
Improve error message on pointer diff #2239 .
2025-06-23 23:47:26 +02:00
Zack Puhl
adabae2a24
add 'strdup' reference to libc
2025-06-23 15:37:25 +02:00
Christoffer Lerno
affb722b23
@tag didn't work with members #2236 .
2025-06-23 14:45:16 +02:00
Christoffer Lerno
1b2f5989e1
Assert casting bitstruct to short/char #2237
2025-06-23 14:12:34 +02:00
Christoffer Lerno
e0b6c83a62
Aaaand let's get that last test.
2025-06-23 02:05:31 +02:00
Christoffer Lerno
839f835845
Last test fix.
2025-06-23 00:58:16 +02:00
Christoffer Lerno
2636a855c4
Forgotten test directives.
2025-06-23 00:38:12 +02:00
Christoffer Lerno
0d147a48b2
Another fix to #2226
2025-06-23 00:36:15 +02:00
Christoffer Lerno
aff3a3f746
Compiler segfault when using distinct type in attribute imported from other module #2234 .
2025-06-22 23:58:38 +02:00
Christoffer Lerno
794e8371c8
Rename test.
2025-06-21 23:47:49 +02:00
Christoffer Lerno
2bbc6cbbca
Further #2226 fixes.
2025-06-21 23:18:17 +02:00
Christoffer Lerno
07bd37da43
Further #2226 fixes.
2025-06-21 16:50:52 +02:00