kalsprite
f8bdfa0857
Fix segfault comparing two foreign declarations of the same symbol
2026-08-21 17:31:42 -07:00
Jeroen van Rijn
082017cd2a
Merge pull request #7416 from kalsprite/distinct_alias_cycle
...
Fix compiler segfault on `distinct` of a type alias that cycles back
2026-08-22 02:10:53 +02:00
Jeroen van Rijn
fd7ca5a8c4
Merge pull request #7415 from kalsprite/branch_location_addr
...
Fix compiler panic on a selector into `#branch_location`
2026-08-22 02:03:48 +02:00
kalsprite
a1b56d7679
Fix compiler segfault on of a type alias that cycles back
2026-08-21 17:00:44 -07:00
kalsprite
7fe49fbffb
Fix compiler panic on a selector into
2026-08-21 16:38:56 -07:00
mo
7bb0bc353f
add regression test for incorrect offset_of
2026-08-22 11:12:11 +12:00
Jeroen van Rijn
580b3f15cd
Merge pull request #7409 from michtesar/fix/literal_compound_comparison
...
Fix reordered compound literal comparison
2026-08-22 01:07:55 +02:00
kalsprite
fe52f23b50
tests/core/nbio/remove.odin
2026-08-21 15:25:18 -07:00
kalsprite
d29b2cadbd
nbio(tests): fill the socket until sending blocks
2026-08-21 21:58:40 -07:00
kalsprite
7bb55ba45b
nbio(windows): poll sockets through AFD
2026-08-21 21:31:49 -07:00
kalsprite
1b4e14fbc5
restore fail timeout
2026-08-21 20:43:33 -07:00
Michael Tesař
6fadf91c84
add windows test
2026-08-21 19:20:11 +02:00
Michael Tesař
b6c90b18dd
fix failing tests
2026-08-21 19:18:25 +02:00
kalsprite
d2da33235d
nbio(windows): handle queued work in the tick that was woken for it; nbio(tests): let wake_up tolerate a tick that returns without progress
2026-08-21 09:18:57 -07:00
gingerBill
629f7b5098
Support all pointer-like types not just actual pointers
2026-08-21 16:27:46 +01:00
gingerBill
f2d9b10fdc
Merge pull request #7406 from odin-lang/bill/rexcode-riscv-clobber
...
Inline `asm` RISC-V Support
2026-08-21 17:25:30 +02:00
gingerBill
c26aa48ca5
Support + - and ~ unary operators for asm operands
2026-08-21 16:01:49 +01:00
gingerBill
c6a4dd08fc
Add typename to keep clang happy
2026-08-21 15:57:45 +01:00
gingerBill
a848739cf2
Fix indirect call printing for asm amd64
2026-08-21 15:52:40 +01:00
gingerBill
83f5cd8767
Add extra check for scratch parameters with no other parameters
2026-08-21 15:45:23 +01:00
gingerBill
2ba79e2f17
Remove dead code
2026-08-21 15:34:27 +01:00
gingerBill
51467b41ba
Unify even more logic in llvm_backend_asm.cpp
2026-08-21 15:28:06 +01:00
gingerBill
0e101db3a4
Clean up llvm_backend_asm.cpp to reuse some of the same printing code
2026-08-21 15:00:21 +01:00
gingerBill
648c418fc4
Restrict riscv to only allow [base + disp] (i.e. disallow index*scale style things)
2026-08-21 14:31:58 +01:00
gingerBill
4a4a5045f8
Check for float register width exactly for risc-v frontend
2026-08-21 12:19:02 +01:00
gingerBill
a604ddceb1
Support pseudo macro mnemonics (for RISC-V) in the frontend
2026-08-21 11:47:41 +01:00
mo
23bd3cd927
detect invalid block size caused by a void type
...
Fixes #7008
When a union variant includes a pointer to a forward type, `lb_sizeof`
returns 0 for the size of the block. This causes an extra padding word
to be added to the llvm type, causing a size_of and type_of mismatch.
The fix detects the 0 size and falls back to using `type_size_of` on
the first variant.
2026-08-21 21:58:21 +12:00
Jeroen van Rijn
de631ca4d2
Merge pull request #7410 from Carlyle-Foster/master
...
fixed negative read bug in core:image/jpeg
2026-08-21 11:26:14 +02:00
kalsprite
6e690afaf1
revert wake change
2026-08-21 00:09:43 -07:00
kalsprite
bcf2dcd2f0
nbio(windows): don't complete synchronously-failed overlapped ops twice
2026-08-20 23:39:21 -07:00
kalsprite
ae56bf5456
nbio(windows): clear the OVERLAPPED when arming a poll; nbio(windows): tear down poll waits before their event; nbio(windows): clear the socket event record on poll completion
2026-08-20 23:04:26 -07:00
kalsprite
2719a089ec
recompute timeouts
2026-08-20 20:43:08 -07:00
Carlyle
89447378ea
fixed negative read bug in core:image/jpeg
2026-08-20 19:49:32 -07:00
gingerBill
d0fb380c20
Support riscv _aq _rl _aqrl suffixes for mnemonics
2026-08-21 01:05:47 +01:00
gingerBill
acb6c1408f
Remove unneeded typename usage
2026-08-21 00:39:26 +01:00
gingerBill
de8c0dc4fe
Fix register width test for risc-v, and improve operand slot type inference for risc-v
2026-08-21 00:38:34 +01:00
Michael Tesar
7d02788257
Fix reordered compound literal comparison
2026-08-21 00:46:47 +02:00
gingerBill
09204e8982
Correct risc-v aliases
2026-08-20 19:48:30 +01:00
gingerBill
7a7bfea0bd
Begin work on pseudo mnemonics in the checker
2026-08-20 19:12:44 +01:00
gingerBill
cfb8a109b6
Begin work on pseudo-aliases
2026-08-20 17:51:47 +01:00
Jeroen van Rijn
ec04cee25e
Merge pull request #7407 from karl-zylinski/feat/zero-value-suggestion
...
Better hints when assigning or comparing to `0` when it is not allowed
2026-08-20 16:26:59 +02:00
Karl Zylinski
107f7ba313
Give better hints for what to write instead of 0 when you do x = 0 or x == 0 where 0 is not valid. Here are the rules for how it hints:
...
string -> ""
bool -> false
bit_set -> {}
anything with a nil -> nil
everything else -> {}
This adds a hint for structs, arrays, matrices, bit_fields, `#no_nil` unions, `rawptr`, `typeid`, the four string types and `bool`. A `bit_set` now suggests `{}` rather than `nil`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-20 16:13:08 +02:00
gingerBill
43ff42bf33
Add asm_tables_riscv.cpp
2026-08-20 14:44:10 +01:00
gingerBill
84f9bc76f9
Mockout inline asm for riscv
2026-08-20 14:42:42 +01:00
Jeroen van Rijn
442197794f
Merge pull request #7404 from Kelimion/format-warning
...
Address printf format warning
2026-08-20 12:54:55 +02:00
gingerBill
1009ab0c62
Add riscv.clobber_forms.bin
2026-08-20 11:45:50 +01:00
gingerBill
f3899c1825
rexcode: riscv INSTRUCTION_TABLE which includes the clobber information
2026-08-20 11:43:26 +01:00
Jeroen van Rijn
f0c1b9ccdc
Merge pull request #7405 from karl-zylinski/fix/restore-nil-diagnostic
...
Restore the `Did you want 'nil'?` diagnostic everywhere
2026-08-20 12:37:48 +02:00
Jeroen van Rijn
8a042532a5
Silence printf warnings
2026-08-20 12:37:28 +02:00
Karl Zylinski
fab2b2e85c
Restore the Did you want 'nil'? diagnostic everywhere
...
`convert_untyped_error` sets `operand->mode = Addressing_Invalid` as its last
statement. Every call site assigns it on the line just before the call too,
which is dead except for one side effect: it suppresses the `Did you want
'nil'?` hint, gated on `operand->mode == Addressing_Constant`.
PR 7403 removed the assignment at the union call site. This removes the
remaining 10 in `convert_to_typed`.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-08-20 12:26:54 +02:00