Fernando López Guevara
f079fa82b2
fix(std-io): make uint128 decimal formatting safe ( #2924 )
...
* fix(std-io): make uint128 decimal formatting safe and add all-base
numeric coverage
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-02-11 23:50:16 +01:00
Christoffer Lerno
adea3dd83f
Fix chacha20
2026-02-11 23:39:47 +01:00
Christoffer Lerno
9b52be9ba6
- unsigned % signed and unsigned / signed is no longer allowed without explicit casts, except for const denominators. #2928
2026-02-11 23:18:08 +01:00
Christoffer Lerno
e2f17a770b
Using [] or .foo on $$ functions would not raise error but instead crash #2919 .
2026-02-11 02:53:17 +01:00
konimarti
40e6a2c4a3
codepage: add single-byte code page support ( #2891 )
...
* codepage: add single-byte code page support
Add std::encoding::codepage with a shared engine for converting between
single-byte code pages and UTF-8 using table-driven mappings.
Introduce generated tables and wrappers for several code pages[1] each
exposing encode/decode helpers built on a common CodePageTable
structure.
The mapping data is generated by cpgen[2] from the Unicode Consortium’s
published code page mapping files and follows the Unicode standard’s
interpretation of control characters (abstract characters) rather than
historical VGA glyph shapes.
[1] Code page overview/groups:
DOS/OEM code pages (legacy PC):
cp437 cp737 cp775 cp850 cp852 cp855 cp857 cp860 cp861 cp862 cp863
cp864 cp865 cp866 cp869 cp874
Windows code pages (ANSI/Windows):
cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 cp1256 cp1257 cp1258
ISO/IEC 8859 series (Latin/Regional):
iso_8859_1 iso_8859_2 iso_8859_3 iso_8859_4 iso_8859_5 iso_8859_6
iso_8859_7 iso_8859_8 iso_8859_9 iso_8859_10 iso_8859_11 iso_8859_13
iso_8859_14 iso_8859_15 iso_8859_16
[2] github.com/konimarti/cpgen
Signed-off-by: Koni Marti <koni.marti@gmail.com >
* codepage: change encoding format, streamline api
* Use enum to collect the data.
---------
Signed-off-by: Koni Marti <koni.marti@gmail.com >
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-02-11 01:10:12 +01:00
Christoffer Lerno
0542c05b88
Update tests.
2026-02-09 10:23:03 +01:00
Christoffer Lerno
565b08846f
Remove use of tempnam.
2026-02-09 00:04:05 +01:00
Christoffer Lerno
80ad0e02ad
Fix tests and error in returning error on function name.
2026-02-08 22:54:24 +01:00
Christoffer Lerno
89b9f52f1e
Add libc mktemp and tempnam. Update test.
2026-02-07 20:25:28 +01:00
Laura Kirsch
5b93212f43
Added Xorshiro128++ random number generator. ( #2846 )
...
* Added Xorshiro128++ random number generator.
* Fixes to xorshiro implementation + tests.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-02-06 20:14:56 +01:00
Christoffer Lerno
40aa4d4dcd
Add Murmur3 hash
2026-02-06 17:53:19 +01:00
Christoffer Lerno
124efb2684
Improve error message on const int*
2026-02-06 02:00:26 +01:00
Christoffer Lerno
42b79d19c1
Update all stub methods.
2026-02-06 00:55:57 +01:00
Zack Puhl
4521a25284
[stdlib] Add PEM Encoding/Decoding Module ( #2858 )
...
* [stdlib] Add PEM Encoding/Decoding Module
* release notes
* Removed some unnecessary macro usages. Fixed memory handling with headers.
* Make end of line a parameter. Internal encode method -> function. Use more tmem. Remove t-functions.
* Update API
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
Co-authored-by: Christoffer Lerno <christoffer.lerno@gmail.com >
2026-02-06 00:01:07 +01:00
Christoffer Lerno
d71aa10f62
- Const inline enums would not always implicitly get converted to the underlying type.
...
- Update to dstring.append_string to take any type converting to String.
2026-02-05 13:04:57 +01:00
Christoffer Lerno
dcf695c726
Fix list[0].i = 5 when list[0] returns a pointer. #2888
2026-02-05 00:34:17 +01:00
Christoffer Lerno
5f32c97094
- Compiler crash when using arrays of vectors in lists. #2889
2026-02-04 12:40:16 +01:00
Christoffer Lerno
1c8cb7fa11
Method resolution and $define now works together well unless definitions are out of order for real.
2026-02-04 12:23:37 +01:00
Christoffer Lerno
6bc606a9b1
Removed analyse top pass. Remove sub module tracking. Fix errors where ? should be ~
2026-02-02 12:20:34 +01:00
Christoffer Lerno
4e129d4ae2
Fix test.
2026-01-30 13:18:56 +01:00
Christoffer Lerno
cb19c7d9e7
Test update
2026-01-29 20:08:58 +01:00
Christoffer Lerno
534dd42472
Update test.
2026-01-29 17:51:50 +01:00
Christoffer Lerno
084d5cbc94
Set target in test.
2026-01-29 02:30:06 +01:00
Christoffer Lerno
32b1df0f86
Set target in test.
2026-01-29 00:43:53 +01:00
Christoffer Lerno
50718cb905
- Crash in slice expression when it contains a rethrow #2872
...
- Multiple issues when rethrowing inside of expressions #2873
2026-01-29 00:42:20 +01:00
Christoffer Lerno
414c0c9438
- Initializer did not correctly handle second rethrow #2870
...
- Crash encountering panic in if-else style switch #2871
2026-01-28 22:56:59 +01:00
Christoffer Lerno
362d5680e4
- Optional in initializer cause a crash #2864
...
- Negating a global address with offset was a counted as a global runtime constant #2865
- Converting static "make_slice" to array failed to be handled #2866
- Narrowing a not expression was incorrectly handled #2867
- Vector shift by optional scalar failed #2868
2026-01-28 21:59:40 +01:00
Christoffer Lerno
d276d3767f
Incorrect handling when reporting fn with optional compile time type #2862
2026-01-28 18:51:21 +01:00
Christoffer Lerno
c1e3cfaacc
- Crash when trying to create a const zero untyped list #2847
2026-01-27 23:36:00 +01:00
Christoffer Lerno
0b5064683f
Regression: Generic type could not be found in lambda inside macro #2853
2026-01-27 14:23:41 +01:00
Christoffer Lerno
f3ede27f60
Regression: "'out' parameters may not be read" when writing to array #2852
2026-01-27 13:48:50 +01:00
Christoffer Lerno
4fbb42833e
- Crash when creating $Type* where $Type is an optional type #2848
...
- Crashes when using `io::EOF~!` in various unhandled places. #2848
2026-01-27 13:32:08 +01:00
Christoffer Lerno
3e76b7ff1c
Fixes to optional rethrow in expressions.
2026-01-26 04:10:38 +01:00
Christoffer Lerno
e901a3de55
- Fix alignment for uint128 to 16 with WASM targets.
...
- Incorrect assert in struct alignment checking #2841
- Packed structs sometimes not lowered as such.
2026-01-25 23:06:16 +01:00
Christoffer Lerno
4899ee14e2
Resolving &X.b when X is a const incorrectly checked for runtime constness #2842
...
Creating a generic instance fails if it is created after interface checking #2840
2026-01-25 21:24:27 +01:00
Christoffer Lerno
3c04a326f4
Resolving &X.b when X is a const incorrectly checked for runtime constness #2842
2026-01-25 20:28:58 +01:00
Christoffer Lerno
a1ff3b05ed
- Lowering of optional in && was incorrect #2843
2026-01-25 19:50:28 +01:00
Zack Puhl
75d454b6a6
Add mem_allocator realloc_array Macros ( #2760 )
...
* Add mem_allocator `realloc_array` Macros
* test, ensure `realloc_array` to 0 size returns `null`
* update release notes
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-01-25 16:12:44 +01:00
soerlemans
cf03215564
Added unit tests for Crc32 hashing. ( #2833 )
...
* Adding crc32 unit tests.
* Fix formatting in crc32 test cases
---------
Co-authored-by: soerlemans <sebasoerlemans+git@gmail.com >
Co-authored-by: Christoffer Lerno <christoffer.lerno@gmail.com >
2026-01-25 13:16:44 +01:00
Christoffer Lerno
5b90743120
Fix test compatibility
2026-01-25 13:15:26 +01:00
Christoffer Lerno
0fb91265b6
- Bug when initializing an inferred array with deep structure using designated init #2826
2026-01-25 13:13:59 +01:00
Christoffer Lerno
c65c378b7f
- Bitstruct as substruct fails to properly work with designated initializers. #2827
2026-01-25 12:48:36 +01:00
Christoffer Lerno
cf9784afee
- Bitstruct accidentally allowed other arrays than char arrays #2836
2026-01-25 12:14:34 +01:00
Christoffer Lerno
8bd942c1b8
- Store of zero in lowering did not properly handle optionals in some cases #2837
2026-01-25 04:57:35 +01:00
Christoffer Lerno
109e15b5a0
- Empty enums would return the values as zero sized arrays #2838
2026-01-25 04:41:06 +01:00
Christoffer Lerno
0fdd6bdc81
- Early exit in macro call crashes codegen #2820
2026-01-25 00:52:57 +01:00
Christoffer Lerno
378b35265b
- Raw vaargs with optional return not lowered correctly #2819
2026-01-24 23:54:20 +01:00
Christoffer Lerno
b5e25e3857
Constant deref of subscript had inserted checks #2818
2026-01-24 23:24:36 +01:00
Christoffer Lerno
9b2fc04959
ompile time dereference of a constant slice was too generous #2821
2026-01-24 22:42:04 +01:00
Christoffer Lerno
ce8167a102
- Incorrectly try compile time int check on vector #2815
...
- Generating typeid from function gives incorrect typeid #2816
- Recursive definitions not discovered when initializer is access on other const #2817
- Slice overrun detected late hit codegen assert #2822
2026-01-24 19:38:51 +01:00