gingerBill
fbb155ddd7
Merge pull request #7671 from Dihedron-Software/fix-xar-chunk-count
...
`core:container/xar`: fix chunk slot count capping `Array` capacity
2026-09-29 18:00:54 +01:00
gingerBill
571599414c
Merge branch 'master' of https://github.com/odin-lang/Odin
2026-09-29 17:56:19 +01:00
gingerBill
92a3d4411a
Fix #7636
2026-09-29 17:55:45 +01:00
Wassim Alhajomar
69b0996c61
core:container/xar: fix chunk slot count capping Array capacity
2026-09-29 18:50:56 +02:00
gingerBill
3f518fd130
Merge pull request #7602 from corleypc/lifetime-markers
...
Adds lifetime markers for named locals
2026-09-29 17:44:06 +01:00
gingerBill
53f6f378d3
Merge pull request #7666 from odin-lang/bill/exact-value-big-float
...
Add `ExactValue_Rational` to improve precision on compiler float computation
2026-09-29 17:04:17 +01:00
gingerBill
1e183e4490
Minor style change
2026-09-29 16:57:16 +01:00
gingerBill
6653101e61
Fix race condition with unlocking something too early
2026-09-29 16:46:46 +01:00
Jeroen van Rijn
6d619c30e1
Merge pull request #7670 from Kelimion/netbsd_q3
...
NetBSD 2026Q1 -> 2026Q3
2026-09-29 08:39:04 -07:00
gingerBill
383a2fe1e5
Reject complex/quaternion component overflow to match normal floats
2026-09-29 16:34:06 +01:00
Jeroen van Rijn
aaa29addf6
NetBSD 2026Q1 -> 2026Q3
2026-09-29 17:22:52 +02:00
gingerBill
bb2745f325
Add exact rational printing to be like 1.0/3
2026-09-29 16:15:40 +01:00
gingerBill
17e25b0cc4
Check for big rat components
2026-09-29 16:15:13 +01:00
gingerBill
95df4904e8
Change struct Complex128 and struct Quaternion256 to use ExactValue elements to allow for the new Big_Rat benefits that floats get
2026-09-29 16:00:28 +01:00
Jeroen van Rijn
0b3f7a5509
Merge pull request #7668 from louisnovy/fix-proc-constant-link-names
...
Fix #5318 : procedures passed to `$` parameters share an instantiation's name
2026-09-29 07:45:20 -07:00
gingerBill
28d8a790d7
Add more tests for the float constant builtins
2026-09-29 15:27:07 +01:00
Louis Novy
41d3f37fba
Fix #5318 : procedures passed to $ parameters share an instantiation's name
2026-09-29 10:21:43 -04:00
gingerBill
29b681b43d
Handle more cases where ExactValue_Float was being handled but not for ExactValue_Rational
2026-09-29 15:21:00 +01:00
Jeroen van Rijn
da7371404e
Improve bit_array ( #7665 )
...
Fix `index: uint` -> `index: int`, examples.
Add `create_from_enum` helper.
2026-09-29 15:54:42 +02:00
gingerBill
19f7b5e2e2
Add f16/f32 precision checks; Fix macOS MSIZE macro collision
2026-09-29 14:53:28 +01:00
gingerBill
a910a0794d
Add test_number_literals.odin
2026-09-29 14:39:15 +01:00
gingerBill
7b19697dcf
Integrate ExactValue_Rational throughout the codebase
2026-09-29 14:38:08 +01:00
gingerBill
e23e01510e
Add ExactValue_Rational; Start adding some tests for big rat
2026-09-29 14:17:21 +01:00
corleypc
6c5651638c
Merge branch 'master' into lifetime-markers
2026-09-29 16:04:59 +03:00
gingerBill
db10c6ba3f
Implement the basics for a big rational library in the compiler
2026-09-29 14:01:08 +01:00
gingerBill
d7da8c0833
Merge pull request #7610 from bplu4t2f/fix-7547
...
Fix #7547 (double-null-terminate path in SHFileOperationW)
2026-09-29 13:28:35 +01:00
Jeroen van Rijn
1bdd184b93
Merge pull request #7584 from bplu4t2f/comdlg32
...
Extend Win32 common dialog bindings
2026-09-29 05:23:11 -07:00
gingerBill
8e3dd40262
Merge pull request #7579 from jpgleeson/jackg/core-fastX-types
...
[core/c] Fix fastX type widths
2026-09-29 13:16:29 +01:00
gingerBill
798be5cc0a
Merge pull request #7588 from Creativty/fix/CompoundLit_OOB
...
Error on OOB tuple element in compound literals
2026-09-29 13:14:46 +01:00
gingerBill
88d2c3f11e
Merge branch 'master' into fix-7547
2026-09-29 13:13:47 +01:00
gingerBill
5a4e0de0cc
Merge pull request #7594 from bplu4t2f/fix-7583
...
Fix 7583: -strict-style requires comma before newline after proc parameters which have a default value.
2026-09-29 13:11:39 +01:00
gingerBill
bd4f2821e1
Merge pull request #7630 from MatzeOGH/fast_float
...
Ported Eisel-Lemire's fast float algorithm to Odin
2026-09-29 13:09:28 +01:00
gingerBill
38b8d5f4f4
Merge pull request #7632 from alexthed1rk/impl-simd-arm-neon-transpose-reverse
...
Impl simd arm neon transpose reverse
2026-09-29 13:06:47 +01:00
gingerBill
8640b38899
Merge pull request #7661 from louisnovy/fix-swizzle-through-pointer
...
Fix #7587 : full length swizzles through a pointer keeping the pointer type
2026-09-29 13:06:24 +01:00
gingerBill
f3ab1d4b3c
Merge pull request #7639 from louisnovy/fix-array-programming-with-matrices
...
Fix #6302 : broadcasting arrays of matrices and matrices
2026-09-29 13:05:33 +01:00
gingerBill
4f9ab7ae5a
Merge pull request #7663 from alexthed1rk/impl-simd-x86-avx512-shift-logical
...
Impl simd x86 avx2 avx512 shift logical
2026-09-29 13:05:14 +01:00
gingerBill
5a9c4c598b
Merge pull request #7652 from louisnovy/fix-forwarded-poly-proc-param
...
Fix #6951 and #5214 : `$` procedure arguments matching the wrong instantiation
2026-09-29 13:04:57 +01:00
gingerBill
d5a2ff0619
Merge pull request #7658 from corleypc/must-tail-wasm-fix
...
Fixes #must_tail on wasm targets
2026-09-29 13:03:59 +01:00
gingerBill
3f24a82469
Merge pull request #7656 from alyekypo/fix/union-constant-non-constantable
...
fix(llvm): emit union constants for non-constantable unions
2026-09-29 13:03:37 +01:00
gingerBill
7a228a97f8
Merge pull request #7664 from odin-lang/bill/bit_set_backing
...
Allow `bit_set` to be backed by arrays of integers
2026-09-29 13:02:25 +01:00
gingerBill
0af5fd70ff
Correct for finite decimal literals
2026-09-29 12:33:43 +01:00
gingerBill
bd87143db7
Add some regression tests for bit_set backed by arrays
2026-09-29 12:20:52 +01:00
gingerBill
b153d6071c
Support bit_set[E; [4]u64] style types
2026-09-29 12:17:02 +01:00
gingerBill
ae63a4a4c6
Fix big integer representation of large numbers such as 98765.0e309
2026-09-29 11:41:50 +01:00
Alexander Zhura
f3dff6da4b
Impl simd x86 avx2 avx512 shift logical
2026-09-29 13:21:03 +03:00
Jeroen van Rijn
95c9eaaa33
Merge pull request #7659 from hugpoint-tech/base64_strict
...
core/encoding/base64: add strict decoding options
2026-09-29 02:59:56 -07:00
Louis Novy
adc2059d36
Merge branch 'master' of https://github.com/odin-lang/Odin into fix-swizzle-through-pointer
...
# Conflicts:
# tests/issues/run.bat
# tests/issues/run.sh
2026-09-29 02:27:05 -04:00
Ihor Antonov
2109ba8fbd
core: add strict base64 decoding
...
core:encoding/base64 currently decodes leniently: it infers padding from the
last one or two bytes, accepts missing/extra/interior padding, and does not
check the trailing padding bits required by RFC 4648 Section 3.5.
Go exposes canonical decoding as `Encoding.Strict()`; Odin has no equivalent,
so downstream ports (e.g. age) have to reimplement base64 from scratch.
This adds opt-in strict decoding through a `Decode_Options` bit set.
Existing calls and behavior are unchanged.
2026-09-28 19:59:23 -07:00
corley
a931018a24
fixes #must_tail on wasm targets
2026-09-29 01:57:49 +03:00
alyekypo
b9c4067f78
fix(llvm): emit union constants for non-constantable unions
...
`constant: U : value` produced a constant of the wrong type:
lb_const_value took its union-lowering branch only when
`is_type_union_constantable(type)` held, so for a union with a variant
that whitelist rejects (`union{bool, ^int}`) the value fell through to
the scalar branch and reached `LLVMConstInt(lb_type(m, union_type),
...)`. The constant emitted there does not match the union's type:
bytes that change between runs for `true`, a compiler crash for `1.0`,
an `is_type_string` assertion for a string literal.
The checker already resolves which variant a constant represents and
records it in `ExactValue::variant_type` - the variant type, tag index,
payload and padding the union branch needs - so that branch is now also
taken when the value pins a variant this backend can build as a
constant. The type-level whitelist was re-guessing information the
value already carries; variant types this backend cannot build as
constants (`any`) stay excluded.
lb_build_static_variables had the same defect in another place: it
lowered an initializer with the expression's type instead of the
declared type, so `@(static) s: U` emitted a payload-only constant and
LLVM rejected the module with “Global variable initializer type does not
match global variable type!”. It now passes the declared type and gives
the global the constant's layout-compatible type, the way the file-scope
path already does.
Blast radius: every union-typed constant, i.e. typed constants, global
static initializers, @(static)/@(thread_local)/@(rodata), default
parameters and constant aggregate elements. Unions whose variants are
all constantable keep the previous path.
2026-09-28 19:32:04 +00:00