Commit Graph

18616 Commits

Author SHA1 Message Date
Jeroen van Rijn
ca8b7c16b8 Merge pull request #7351 from Kelimion/compiler-utf8-codepage
Set console codepage to utf-8 (on Windows), and restore old one on exit
2026-08-16 18:06:39 +02:00
Jeroen van Rijn
c63561b700 Also restore codepage on trap. 2026-08-16 17:50:49 +02:00
Jeroen van Rijn
7f532cad14 Add -define:ODIN_CODEPAGE_MAGIC=false opt-out to the runtime 2026-08-16 17:01:41 +02:00
Jeroen van Rijn
0b7b8ba4a2 Set console codepage to utf-8 (on Windows), and restore old one on exit
Avoid mojibake.
2026-08-16 16:16:35 +02:00
Jeroen van Rijn
cc7d6764d3 Merge pull request #7349 from TheRadischen/merge_sort
improved stable sort | from insertion_sort to merge_rotate
2026-08-16 16:03:57 +02:00
TheRadischen
7d9367e3b4 morestyle improvements mybe this is it? 2026-08-16 15:24:55 +02:00
TheRadischen
0b0778f981 morestyle improvements mybe this is it? 2026-08-16 15:24:19 +02:00
TheRadischen
f6b8eafdfd imporved_style 2026-08-16 15:10:01 +02:00
TheRadischen
1a70315797 style_corrections 2026-08-16 15:09:12 +02:00
TheRadischen
9757fed9f9 changed_to_tabs 2026-08-16 14:28:38 +02:00
TheRadischen
d8177f7716 adjusted_smallsort_threshhold 2026-08-16 13:33:32 +02:00
TheRadischen
4c945c995a added_back_where 2026-08-16 12:58:23 +02:00
KBS
e62ed261c5 base/runtime: do not free the original block on a failed heap resize
`base/runtime`: do not free the original block on a failed heap resize

The default heap allocator freed old_ptr when the underlying allocation
failed (allocated_mem == nil). On the realloc path (heap_resize) the original
block is left intact on failure, and on the copy/fresh path old_ptr has not
been copied or freed yet, so freeing it left the caller holding a dangling
pointer. A [dynamic] array whose resize failed therefore double-freed its
data on the next delete (reported as free(): invalid pointer / use-after-free).

Return .Out_Of_Memory without freeing anything; the caller retains ownership
of the original block.

Fixes #7262
2026-08-16 12:54:16 +02:00
Jeroen van Rijn
889ad95c7e Merge pull request #7342 from kalsprite/alpha
quat/cmplx nan cmp & accessors
2026-08-16 12:31:55 +02:00
Jeroen van Rijn
7aa805e22a Merge pull request #7343 from kalsprite/rune_unsigned_mapping
intrinsics.type_integer_to_unsigned(rune) returns f16
2026-08-16 12:28:59 +02:00
TheRadischen
3f851d2b02 smarter_test 2026-08-16 12:27:30 +02:00
TheRadischen
df54692a9b addedtest 2026-08-16 12:22:25 +02:00
Jeroen van Rijn
3eeda58634 Merge pull request #7344 from kalsprite/simd_builtin_diagnostics
simd: enforce the `#simd` construction rules and stop two crashes
2026-08-16 12:17:39 +02:00
TheRadischen
267c745ac7 rotate_merge 2026-08-16 12:07:09 +02:00
Jeroen van Rijn
36695f9715 Merge pull request #7345 from kalsprite/and_not_constant_folding
big_int: fix three faults in `&~` constant folding
2026-08-16 11:37:35 +02:00
Jeroen van Rijn
94528dde45 Merge branch 'master' into pr/7345 2026-08-16 11:19:48 +02:00
Jeroen van Rijn
78b9c31a10 Merge pull request #7346 from kalsprite/bit_set_subset_folding
fix `bit_set` subset/superset constant folding
2026-08-16 11:05:30 +02:00
Jeroen van Rijn
ea77c4aeb9 Merge pull request #7347 from mocompute/hex-decode-into-buffer
Add non-allocating hex.decode_into_buffer
2026-08-16 11:03:16 +02:00
Jeroen van Rijn
f758c2edf9 Merge pull request #7338 from harold-b/hb.linux-build-explicit-llvm-components
Explicitly specify all required LLVM components on linux build
2026-08-16 10:57:14 +02:00
mo
4e0a71c24c Add non-allocating hex.decode_into_buffer
Also minor fixes to documentation of hex.decode().

Adds tests of the new procedure with buffers the correct size, larger,
and too small.
2026-08-16 19:48:19 +12:00
kalsprite
f7b734c82b deinterleave -> shuffle 2026-08-16 00:24:09 -07:00
kalsprite
95c4004239 switch to shuffle intrinsic since #simd is pow2 2026-08-16 00:16:21 -07:00
kalsprite
d52aff5c4b impl riffle for llvm<=20 fallback on interleave 2026-08-15 23:53:54 -07:00
kalsprite
a7029ef7b6 bitset subset 2026-08-15 23:25:13 -07:00
kalsprite
885e12d21d and-not fold 2026-08-15 23:06:35 -07:00
kalsprite
5f0251fec2 5791,6748 2026-08-15 22:44:52 -07:00
kalsprite
e53fc6a879 simd [?] type fix; count recovery 2026-08-15 22:23:15 -07:00
kalsprite
69fb453e51 redecl type; pairwise guard 2026-08-15 22:02:06 -07:00
kalsprite
0243398b19 swizzle arg guard 2026-08-15 21:52:07 -07:00
kalsprite
4ceba928c7 fix swizzle and shuffle max size bypass 2026-08-15 21:28:43 -07:00
kalsprite
b2f2b653c5 add pow2 guard on interleave 2026-08-15 21:18:36 -07:00
kalsprite
e699d2185e simd diagnostics 2026-08-15 21:07:17 -07:00
kalsprite
ae742cb9f3 rune unsigned mapping 2026-08-15 20:53:03 -07:00
kalsprite
4cf4607c8b fix #5964 2026-08-15 20:41:22 -07:00
kalsprite
b378f21f4c update tests 2026-08-15 20:24:41 -07:00
kalsprite
1658e2d841 fix typo on cmplx -> quat 2026-08-15 20:13:25 -07:00
kalsprite
617293c5f0 quat/cmplx nan cmp 2026-08-15 20:08:27 -07:00
Jeroen van Rijn
702587ebe3 Merge pull request #7340 from michtesar/fix/set-upper-endpoint
Fix bit_set upper endpoint representability check
2026-08-16 01:24:30 +02:00
Michael Tesař
b17c10162d Fix bit_set upper endpoint representability check 2026-08-16 00:30:42 +02:00
Harold Brenes
1dbafbab63 Explicitly specify all required LLVM components on linux build.
This fixes missing symbols errors when building with LLVM with separate components.
2026-08-15 17:13:52 -04:00
Jeroen van Rijn
d511234bf4 Merge pull request #7337 from Kelimion/unroll-dynarr
Fix backend support for #unroll on [dynamic]T
2026-08-15 21:51:17 +02:00
Jeroen van Rijn
5787cbc68b Fix backend support for #unroll on [dynamic]T 2026-08-15 21:34:58 +02:00
Jeroen van Rijn
db635cab1e Merge pull request #7332 from alexthed1rk/impl-simd-arm-neon-logical
Impl simd arm neon logical
2026-08-14 22:14:46 +02:00
Alexander Zhura
64a5887f83 Impl simd arm neon logical 2026-08-14 22:01:59 +03:00
Jeroen van Rijn
24e973ceb2 Merge pull request #7275 from alexthed1rk/impl-simd-arm-neon-table-lookup-ext
Impl simd arm neon extended table lookup
2026-08-14 20:09:08 +02:00