Commit Graph

18698 Commits

Author SHA1 Message Date
gingerBill
bd95d2ae66 Add asm directive #align N 2026-08-17 13:32:28 +01:00
gingerBill
55377f71ef Support #byte directive for asm templates 2026-08-17 13:21:40 +01:00
gingerBill
c2dfcb3c28 Remove debug printing 2026-08-17 13:10:28 +01:00
gingerBill
dd5c2f98fd Always require the results of asm templates 2026-08-17 13:05:33 +01:00
gingerBill
5fe724bff3 Remove f suffix e.g. %flags.z rather than %flags.zf 2026-08-17 13:00:18 +01:00
gingerBill
d1f561ec88 Correct instruction_size_suffix so that the correct suffix can be selected for the instruction to adhere to AT&T syntax 2026-08-17 12:59:23 +01:00
gingerBill
db94c5a6cb Begin work in %flags.zf et al 2026-08-17 12:25:17 +01:00
gingerBill
344e8afa36 #clobber cc -> #clobber flags 2026-08-17 12:10:08 +01:00
gingerBill
1f2234a4b2 Merge branch 'master' into bill/inline-asm 2026-08-17 11:44:14 +01:00
gingerBill
8eaa640c02 Merge pull request #7358 from kalsprite/eol_diagnostic_line
fix eol diagnostic
2026-08-17 12:41:41 +02:00
gingerBill
a03d5addfa Merge pull request #7334 from kalsprite/riscv64_arg_coerce
riscv64: read a flattened aggregate's members from their real offsets
2026-08-17 12:40:36 +02:00
gingerBill
bfc945f991 Merge pull request #7355 from samuelgozi/dynamic-arena-reused-block-alignment
mem: Keep Dynamic_Arena allocations aligned after reset
2026-08-17 12:40:14 +02:00
gingerBill
b5a746b9b6 Merge pull request #7359 from kalsprite/min_dep_fixed_capacity_break
checker: add the missing `break` in `add_min_dep_type_info`
2026-08-17 12:39:27 +02:00
gingerBill
2791257e28 Merge pull request #7360 from kalsprite/any_int_range_check
check_expr: range-check a constant passed to an `#any_int` parameter
2026-08-17 12:39:16 +02:00
gingerBill
d3f4d477e5 Merge pull request #7348 from Kelimion/ci-flakiness
Disable Wycheproof on Windows CI
2026-08-17 12:35:19 +02:00
gingerBill
307604381a Merge pull request #7333 from corleypc/constmerge-fix
Reenables LLVMSetUnnamedAddress for global constants merging
2026-08-17 12:33:39 +02:00
kalsprite
72d1829fec #any_int range check constants 2026-08-16 22:08:52 -07:00
kalsprite
55d0aecd92 add missing break on fix dyn 2026-08-16 19:51:27 -07:00
kalsprite
35061af11b fix eol diagnostic 2026-08-16 17:31:59 -07:00
Samuel Elgozi
4a08f5c48a mem: Preserve alignment when reusing Dynamic_Arena blocks 2026-08-17 00:21:50 +03:00
Jeroen van Rijn
35779c6fa7 Merge pull request #7352 from Kelimion/fix-#7350
Fix #7350
2026-08-16 18:24:39 +02:00
Jeroen van Rijn
a9b7d3dfc6 Fix #7350 2026-08-16 18:08:17 +02:00
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
e2ae9c7447 Disable Wycheproof on Windows CI 2026-08-16 11:26:14 +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