Commit Graph

18710 Commits

Author SHA1 Message Date
gingerBill
582ff64bee General clean up of llvm_backend_asm.cpp code 2026-08-17 22:58:51 +01:00
gingerBill
77bedf9947 Fix scratch register pinning 2026-08-17 21:37:03 +01:00
gingerBill
a2bcf3177a Improve error messages for register class printing 2026-08-17 21:10:24 +01:00
gingerBill
ad1ef6328d Remove debug print 2026-08-17 19:58:00 +01:00
gingerBill
6646a7b38e Remove redundant code 2026-08-17 19:57:21 +01:00
gingerBill
2738ff640d Minor text fix 2026-08-17 19:56:03 +01:00
gingerBill
c3b2029f64 Support asm template groups 2026-08-17 19:54:21 +01:00
gingerBill
8f2a4346fc Handle _SSE edge cases 2026-08-17 19:31:38 +01:00
gingerBill
e2e4a61003 Remove suffixes 2026-08-17 19:29:42 +01:00
gingerBill
52ea617143 Minor fixes 2026-08-17 19:20:32 +01:00
gingerBill
d0c3b78ece Allow (parent scope) constants within asm templates 2026-08-17 18:56:47 +01:00
gingerBill
d71c25dd9b asm: add #skip N and #nop N 2026-08-17 13:36:59 +01:00
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