Commit Graph

18601 Commits

Author SHA1 Message Date
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
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
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
Jeroen van Rijn
7eacbb81a1 Merge pull request #7330 from dhanton/fix/unused-variable-in-fixed-point-write
Fix compilation error when using the fixed-point write procedure and -vet-unused
2026-08-14 18:36:35 +02:00
diego
ac7110e098 Remove unused variable in fixed-point write procedure 2026-08-14 13:21:03 +02:00
Jeroen van Rijn
e575197403 Merge pull request #7329 from FourteenBrush/patch-8
Fix out of bounds for zero arg `#load_directory`
2026-08-13 13:14:14 +02:00
FourteenBrush
02adbc11e3 Fix oob for zero arg #load_directory 2026-08-13 12:51:42 +02:00
gingerBill
68bc28e97b Merge pull request #7325 from kalsprite/ordered_numeric_bit_field
fix bitfield intrinsic
2026-08-13 11:14:27 +02:00
kalsprite
939802e713 fix bitfield intrinsic 2026-08-12 19:23:41 -07:00
Jeroen van Rijn
36d0b056a2 Merge pull request #7324 from kalsprite/sysv_test_gate
fix long -> int64_t for win64
2026-08-13 04:03:49 +02:00
kalsprite
a3573c83cd fix long -> int64_t for win64 2026-08-12 18:52:33 -07:00
gingerBill
fa342bb540 Merge pull request #7292 from kalsprite/sysv_source_type
amd64/arm64: classify aggregates from the source type
2026-08-12 19:43:29 +02:00
Jeroen van Rijn
85efa24bdc Merge pull request #7321 from corleypc/float-to-u128-fix
Fixes float to 128-bit int/uint conversion
2026-08-12 19:40:16 +02:00
Jeroen van Rijn
ea0b476c1f Add compiler-rt license info 2026-08-12 19:19:51 +02:00
Mihail Moskov
8329f59edc comma in where to satisfy the vet cerberus :) 2026-08-12 19:50:28 +03:00
Mihail Moskov
6a81351de3 fixes float to 128-bit int/uint conversion 2026-08-12 19:25:46 +03:00
Jeroen van Rijn
79c2c65bb1 Merge pull request #7319 from corleypc/f32-to-u64-fix
Fixes f32 to 64-bit int/uint conversion
2026-08-12 15:22:17 +02:00
Mihail Moskov
6dda0198f0 fixes f32 to 64-bit int/uint conversion 2026-08-12 16:02:49 +03:00