Commit Graph
20149 Commits
Author SHA1 Message Date
Matthew Winter aaba3a3346 Unify the types of constant arguments to min, max and clamp
When every argument was constant, the result took the value and type of the
selected argument without checking the arguments against each other, so
mismatched constants like `min(42, "string_literal")`, `min(i32(1), u8(2))`
and `clamp(1.5, 42, "string_test")` were accepted, and `min(1, 2.5)` was an
`int`. Unify the argument types before the constant and non-constant paths, as
the non-constant path already did.

Fixes #7975
Fixes #7976
2026-10-18 21:38:58 +11:00
Jeroen van Rijn afa720bc4d Merge pull request #7963 from odin-lang/bill/diff
`core:diff`
2026-10-17 10:22:46 -07:00
gingerBill 448a23bc7b core:diff: pass interned sides separately 2026-10-17 16:59:46 +01:00
gingerBill 7430cb59f4 Add core:diff 2026-10-17 16:39:11 +01:00
gingerBill eab306ec0f Merge pull request #7962 from odin-lang/bill/allocator-fixes
Fix and improve resize in `core:mem` allocators
2026-10-17 12:21:37 +01:00
gingerBill 64872e01b6 core:mem: Resize last allocations in place and general bug fixes 2026-10-17 12:13:28 +01:00
gingerBill aed1b20e9f core:mem/virtual: Allow for shrinking in-place with Arena 2026-10-17 12:10:04 +01:00
gingerBill 35d622e1dd Merge pull request #7956 from wintermi/fix-7938-or-else-viral-flags
Propagate viral state flags through or_else, or_return and or_branch
2026-10-17 11:41:27 +01:00
Matthew Winter 22c015bc89 Propagate viral state flags through or_else, or_return and or_branch
The checker did not carry its operands' viral state flags up to these
expressions, so an `or_break` nested within them was invisible to the
break analysis. An infinite `for` loop whose only exit was such an
`or_break` was treated as never terminating, allowing a missing return
and lowering the break target to `unreachable`.

Fixes #7938
2026-10-17 01:28:26 +11:00
gingerBill 151d53f44e Merge pull request #7952 from gitsomebit/asd-fix-register
fix: asm instruction-form selection
2026-10-16 15:26:18 +01:00
gingerBill ee164762f6 Merge branch 'master' into asd-fix-register 2026-10-16 15:26:09 +01:00
gingerBill ed48991189 Merge pull request #7912 from alexthed1rk/impl-simd-x86-avx2-gather
Impl simd x86 avx2 gather intrinsics
2026-10-16 15:23:23 +01:00
gingerBill 0444fb2e7d Merge pull request #7955 from odin-lang/bill/asm-compiler-improvements
asm: Defer checking template bodies and fix target feature checks
2026-10-16 15:21:17 +01:00
gingerBill 99dd6e97bc Merge pull request #7933 from aocoronel/master
Android: Fix TLS segment underalignment in ARM64 Bionic
2026-10-16 15:19:38 +01:00
gingerBill 9e199eb211 Merge pull request #7944 from corleypc/by-ref-union-type-switch-fix
Fixes by-reference type switches on custom #align unions
2026-10-16 15:19:16 +01:00
gingerBill b626031b71 Update tests/issues/run.(bat|sh) 2026-10-16 15:08:20 +01:00
gingerBill 16e46158eb asm: Require callers to enable a template's features 2026-10-16 15:07:47 +01:00
gingerBill 334a576a0c asm: Add tests for deferred template checking 2026-10-16 14:55:25 +01:00
gingerBill 3ed4c3d261 asm: global dependency walker now only traverses asm template's signature 2026-10-16 14:49:59 +01:00
gingerBill 377e507449 asm: Defer checking template specs and bodies 2026-10-16 14:37:38 +01:00
gingerBill 6ff0313f8b asm: Split template checking into signature and body 2026-10-16 14:25:55 +01:00
gingerBill 9cf02f8d7e asm: Resolve constants in templates like any identifier 2026-10-16 14:20:38 +01:00
gingerBill 1bcd7076b0 Fix PBI_Flag_Bits.PC_KILL aliasing PC_SUSP 2026-10-16 12:27:29 +01:00
gingerBill 16f39cb279 Make runtime ~ on bit_sets clear bits outside set 2026-10-16 12:24:24 +01:00
gingerBill 583eafbea8 Name field bits of mixed darwin flag enums 2026-10-16 12:23:50 +01:00
gingerBill bd9ff70c8b asm: Fix width and unused checks for implicit regs 2026-10-16 10:31:20 +01:00
gingerBill f4f1222c51 nbio: Pass the listener to SO_UPDATE_ACCEPT_CONTEXT 2026-10-16 10:01:06 +01:00
gitsomebit ae21afe670 fix: asm instruction-form selection 2026-10-16 01:16:58 +02:00
corleypc 840439002c fixes by-reference type switch on custom #align unions 2026-10-15 16:35:11 +03:00
gingerBill 74ed00460c Merge pull request #7940 from odin-lang/bill/objc-packages
Add all of the Objective-C frameworks
2026-10-15 14:27:40 +01:00
gingerBill d95e59f18b Convert mixed darwin flag enums to bit_sets 2026-10-15 14:18:04 +01:00
gingerBill 9cada43dbf Strip C-style k prefixes from darwin enum members 2026-10-15 13:49:30 +01:00
gingerBill 07c9fadeda Fix infinite enumerator loop in darwin tests 2026-10-15 13:26:01 +01:00
gingerBill 150902c148 Group generated darwin bindings into per-topic files 2026-10-15 13:20:23 +01:00
gingerBill 25ff98a7be Add regression tests for the objc compiler fixes 2026-10-15 12:53:37 +01:00
gingerBill 2e04c120bc Use Odin's license for the darwin bindings 2026-10-15 12:50:17 +01:00
gingerBill 0348ee1895 Import AppKit as NS, re-exporting Foundation helpers 2026-10-15 12:46:05 +01:00
gingerBill 4c421d964f Add Metal presentDrawable group and object helpers 2026-10-15 12:38:10 +01:00
gingerBill e0fcfeb84f Add darwin runtime tests to tests/internal 2026-10-15 12:29:22 +01:00
gingerBill ef77ca3553 Fix objc import checks and class method call codegen 2026-10-15 12:09:39 +01:00
gingerBill c26e20fba0 Update darwin users and add vendor/darwin README 2026-10-15 12:03:31 +01:00
gingerBill e5d052938d Strip leftover prefixes from five flag enums 2026-10-15 11:50:13 +01:00
gingerBill 04f7790110 Convert more flag enums with combined-value constants 2026-10-15 11:46:00 +01:00
gingerBill c2646591e0 Convert remaining flag enums, fix csgen enum typos 2026-10-15 11:14:31 +01:00
gingerBill 6b8686444a Port AppKit/Metal/MetalKit helpers and flag enums 2026-10-15 10:50:32 +01:00
gingerBill 880a82e91f Add ObjectiveC package and Foundation Odin helpers 2026-10-15 10:33:15 +01:00
gingerBill cf73d6ac1e Allow objc classes allow bindings with the same package, not just the same file 2026-10-15 10:33:10 +01:00
gingerBill 46e7545bfd Import darwinkit ObjC bindings into core and vendor 2026-10-15 10:17:32 +01:00
gingerBill dbcbf45509 Escape Analysis: Keep stored field paths in escape analysis flows 2026-10-15 00:26:44 +01:00
gingerBill cc097f4d75 Handle binary/ternary exprs in poly result types 2026-10-15 00:10:35 +01:00