Jack Mordaunt
7f9589922d
core/sync.select_raw: return a useful index
...
This fixes a flaw in the original implementation: the returned index is
actually useless to the caller.
This is because the index returned refers to the internal "candidate"
list. This list is dynamic, and may not have all of the input channels
(if they weren't ready according to chan.can_{recv,send}). That means
the index is not guaranteed to mean anything to the caller.
The fix introduced here is to return the index into the input slice
(recvs,sends) and an enum to specify which input slice that is.
If no selection was made, then (-1, .None) is returned to communicate as
much.
Signed-off-by: Jack Mordaunt <jackmordaunt.dev@gmail.com >
2025-06-12 16:14:51 -03:00
Laytan Laats
0ed6cdc98e
mem/tlsf: fix asan reporting poisoning of already poisoned region
...
free on tlsf poisons the entire block, while alloc might only unpoison a
part of it (cause it's size is aligned up). This causes free to
potentially poison an already poisoned portion, which is a
use-after-poison.
Because this is "fine" and intended, I opted to just
@no_sanitize_address it.
2025-06-12 19:37:24 +02:00
Jeroen van Rijn
74f70bfbcb
Comment
2025-06-12 17:09:33 +02:00
Jeroen van Rijn
298bab99a4
Merge pull request #5326 from Kelimion/fix-5321
...
Revert changes to thread_unix.odin
2025-06-12 16:56:29 +02:00
Jeroen van Rijn
5aa377e64e
Revert changes to thread_unix.odin
2025-06-12 16:36:40 +02:00
Jeroen van Rijn
b119ca0261
Merge pull request #5325 from Kelimion/fix-5321
...
Fix #5321
2025-06-12 16:14:01 +02:00
Jeroen van Rijn
59ba37f232
Remove transmute
2025-06-12 16:05:34 +02:00
Jeroen van Rijn
994b5a2a6c
Remove c import
2025-06-12 16:01:31 +02:00
Jeroen van Rijn
caf41aa046
Fix #5321
2025-06-12 16:00:24 +02:00
Jeroen van Rijn
eb1b5f7d3a
Merge pull request #5322 from Kelimion/fix-5321
...
Fix #5321 (on Windows)
2025-06-12 11:52:38 +02:00
Jeroen van Rijn
ac5f3746cf
Fix #5321
2025-06-12 11:30:36 +02:00
Jeroen van Rijn
50ff3fabdc
Merge pull request #5317 from Feoramund/fixup-container-queue
...
Tidy up `core:container/queue`
2025-06-12 00:00:34 +02:00
Jeroen van Rijn
a2be547dfd
Merge exclude paths
2025-06-11 21:00:38 +02:00
Jeroen van Rijn
8a08edbdc7
Merge pull request #5319 from Kelimion/coverage
...
Add code coverage
2025-06-11 20:39:48 +02:00
Jeroen van Rijn
828d4c71d2
Now?
2025-06-11 20:33:12 +02:00
Jeroen van Rijn
921414aa74
Let's use the latest Ubuntu and a recent LLVM
2025-06-11 20:04:07 +02:00
Jeroen van Rijn
3965b2e4b4
kcov --version
2025-06-11 19:58:01 +02:00
Jeroen van Rijn
05cba0aca5
Change kcov url
2025-06-11 19:53:49 +02:00
Jeroen van Rijn
d37a93cd7d
Add code coverage
2025-06-11 19:43:42 +02:00
Jeroen van Rijn
7bfd70a828
Add code coverage check
...
Inspired by PR #4928
2025-06-11 19:34:24 +02:00
Feoramund
23c1ce8722
container/queue: Remove trailing whitespace
2025-06-11 11:57:38 -04:00
Feoramund
66b2acbf24
container/queue: Add tests
2025-06-11 11:55:30 -04:00
Feoramund
638a1529a3
container/queue: Add shrink
2025-06-11 11:55:30 -04:00
Feoramund
040d79e1b9
container/queue: Let queues be re-initialized with different allocators
2025-06-11 11:55:30 -04:00
Feoramund
81f5763482
container/queue: Add common aliases enqueue and dequeue
2025-06-11 11:55:30 -04:00
Feoramund
6cb84e467b
container/queue: Document the package
2025-06-11 11:55:30 -04:00
Feoramund
862442511a
container/queue: Reorganize
2025-06-11 11:55:29 -04:00
Feoramund
58bda1209a
container/queue: Deprecate peek_*
...
The `*_ptr` and `peek_*` procedures did the same thing, except `peek_*`
was over-cautiously putting the index through a modulo when all
assignments to `q.offset` are already wrapped.
2025-06-11 11:54:52 -04:00
Feoramund
27cd508571
container/queue: Fix and add more bounds checking
2025-06-11 11:54:47 -04:00
gingerBill
4aec582a05
Add system:dl to foreign import for dlfcn.odin
2025-06-11 15:27:00 +01:00
Jeroen van Rijn
5bf180d8f9
Merge pull request #5311 from Kelimion/big-tests
...
Turn `core:math/bìg` tests into regular `core:testing` tests.
2025-06-11 00:56:21 +02:00
Jeroen van Rijn
0f90a610a2
Delete duplicate test vectors.
2025-06-11 00:49:51 +02:00
Jeroen van Rijn
9dafd77bc0
Turn core:math/bìg tests into regular core:testing tests.
...
`core:math/big` has been verified against Python's big integer implementation long enough.
Turn it into a regular regression test using the `core:testing` framework, testing against
a generated corpus of test vectors.
2025-06-11 00:40:52 +02:00
gingerBill
2a292b588a
Merge pull request #5305 from Feoramund/fix-4362
...
Guard against invalid proc types in parameter list
2025-06-10 17:15:13 +01:00
Jeroen van Rijn
ca65444007
Merge pull request #5310 from Kelimion/big-rat-tests
...
Add initial tests for big rationals
2025-06-10 17:16:19 +02:00
Jeroen van Rijn
4e50b9d331
Fix path
2025-06-10 16:55:03 +02:00
Jeroen van Rijn
4f4839ecc5
Add initial tests for big rationals
2025-06-10 16:46:12 +02:00
Jeroen van Rijn
14d2541529
Merge pull request #5309 from Feoramund/fix-4660
...
Let `-no-entry-point` work for Windows DLLs
2025-06-10 15:22:45 +02:00
Feoramund
1fc390146f
Let -no-entry-point work for Windows DLLs
...
Fixes #4660
2025-06-10 08:54:28 -04:00
Jeroen van Rijn
611390ba27
Merge pull request #5308 from Feoramund/fix-4565
...
Move negation in `internal_rat_to_float` to end of procedure
2025-06-10 14:43:41 +02:00
Feoramund
4236b043e2
Move negation in internal_rat_to_float to end of procedure
...
This should cause a compiler error, due to the assignment to a named
return value in a deferred block.
Fixes #4565
2025-06-10 08:34:07 -04:00
Jeroen van Rijn
d1fc731a3a
Merge pull request #5306 from Kelimion/fix-3449
...
Define empty `gb_no_asan` if VS < 2022
2025-06-10 13:27:00 +02:00
Jeroen van Rijn
6cb2408d70
Define empty gb_no_asan if VS < 2022
2025-06-10 13:20:01 +02:00
Feoramund
5ed2735658
Guard against invalid proc types in parameter list
...
Fixes #4362
2025-06-10 06:13:14 -04:00
Jeroen van Rijn
d08e14fc3c
Merge pull request #5304 from Feoramund/clarify-flags-variadic
...
Clarify `core:flags` variadic behaviors
2025-06-09 19:08:53 +02:00
Feoramund
6dee422700
flags: Rename varg to overflow, let it be renamed with config
2025-06-09 13:02:05 -04:00
gingerBill
002b50360c
Merge branch 'master' of https://github.com/odin-lang/Odin
2025-06-09 17:19:58 +01:00
gingerBill
2ffd6be20a
Fix minor typo from ^[^] to [^]^
2025-06-09 17:19:29 +01:00
Feoramund
2e199c669f
flags: Forbid combination of pos and manifold
2025-06-09 11:39:10 -04:00
Feoramund
cae43b801f
Add more core:flags tests to codify behavior
2025-06-09 11:39:10 -04:00