Jeroen van Rijn
|
4d09219ff4
|
Merge pull request #7616 from wardjm/fix/parse_int_overflow
Fixed strconv overflow noted in issue#7608.
|
2026-10-08 01:57:40 -07:00 |
|
Jeffrey Ward
|
c2684b43cb
|
Added tests from issue 7608 comments.
Fixed "_" only and no digits. Now returns an error since this is effectively passing nothing to the parser.
|
2026-10-07 21:28:43 -04:00 |
|
gingerBill
|
b0c36ab7ca
|
Merge pull request #7816 from odin-lang/bill/atomic-memory-ordering-pass
Atomic Memory Ordering and Futex Operation Passes
|
2026-10-07 23:36:22 +01:00 |
|
gingerBill
|
d2d1fe8372
|
Remove the redundant t.flags += {.Joined} in _join on Unix, as it was already set atomically
|
2026-10-07 23:27:48 +01:00 |
|
gingerBill
|
71e6288049
|
Use relaxed ordering for the early load in futex_wait and futex_wait_with_timeout, as every caller acquires itself after waking
|
2026-10-07 23:19:25 +01:00 |
|
gingerBill
|
ecedcbc0bf
|
Add @(futex=.Wait) and @(futex=.Wake) with intrinsics.Futex_Operation, so the atomic analysis checks futex words, and use relaxed ordering for Atomic_Cond's counter
|
2026-10-07 23:18:02 +01:00 |
|
gingerBill
|
bb9f0a2c47
|
Prefix the atomic analysis procedures with check_atomic_
|
2026-10-07 22:54:59 +01:00 |
|
gingerBill
|
158d0a9d8d
|
Replace the #+escape-analysis/#+atomic-analysis file tags with #+analysis which takes names and ! like #+vet
|
2026-10-07 22:50:20 +01:00 |
|
gingerBill
|
7571a2676f
|
Use relaxed ordering for nbio's mpsc head counter and pool's destroy exchange, as their acquire paired with nothing
|
2026-10-07 22:44:36 +01:00 |
|
gingerBill
|
b12195bebf
|
Add an atomic memory ordering analysis (-no-atomic-analysis, #+atomic-analysis, #+no-atomic-analysis) warning where release or acquire ordering pairs with nothing, and -vet-atomic-access for plain reads of what is accessed atomically
|
2026-10-07 22:43:08 +01:00 |
|
gingerBill
|
7743370a2d
|
Merge pull request #7815 from SOBEX/llvm-fake-use
Adds binding for `llvm.fake.use`
|
2026-10-07 22:13:03 +01:00 |
|
gingerBill
|
42ce435053
|
Merge pull request #7814 from BigBoyBarney/vet-help
Update -vet flag help message
|
2026-10-07 22:12:56 +01:00 |
|
gingerBill
|
711f08a641
|
Make is_type_lock_free follow what each target lowers without library calls, and reject atomics on types which are not lock-free
|
2026-10-07 21:58:32 +01:00 |
|
gingerBill
|
ad685e1144
|
Compare floats by their bits in atomic compare-exchange; reject atomics on what is within a struct #packed
|
2026-10-07 21:50:16 +01:00 |
|
gingerBill
|
403738e5cd
|
Merge pull request #7802 from odin-lang/bill/compiler-improvements-2026-10
Flow-based Escape Analysis of Stack Memory + Show where parapoly procedures and records were instantiated in errors within them
|
2026-10-07 21:19:06 +01:00 |
|
gingerBill
|
d728de8a20
|
Add #+escape-analysis and #+no-escape-analysis file tags, and keep the syntactic check of unsafe returns where the escape analysis is disabled
|
2026-10-07 21:06:56 +01:00 |
|
gingerBill
|
6784db9f86
|
Add -no-escape-analysis, which cannot be used with -vet-nil-deref or -vet-uninitialized
|
2026-10-07 20:56:04 +01:00 |
|
gingerBill
|
476ff62d6d
|
Add -vet-uninitialized, reporting reads of what is declared with --- before anything is stored in it
|
2026-10-07 20:35:53 +01:00 |
|
gingerBill
|
043f6e4c3d
|
Use the temporary allocator for the escape analysis's scratch memory
|
2026-10-07 20:08:35 +01:00 |
|
gingerBill
|
cfde9fb9cb
|
Tidy up check_escape.cpp
|
2026-10-07 20:02:04 +01:00 |
|
gingerBill
|
3f1a87dd33
|
Treat the fields brought in by 'using' on locals and in 'using' statements as part of what it was applied to in the escape analysis
|
2026-10-07 19:42:29 +01:00 |
|
gingerBill
|
e512fe07d3
|
Add -vet-nil-deref, reporting dereferences and calls through what is nil on every path reaching them
|
2026-10-07 19:36:37 +01:00 |
|
SOBEX
|
88c4c7a0f0
|
Adds binding for llvm.fake.use
|
2026-10-07 20:18:18 +02:00 |
|
Sylphrena
|
c270ad65be
|
Updated -vet flag help message
|
2026-10-07 20:05:47 +02:00 |
|
gingerBill
|
b9aa030773
|
Merge pull request #7812 from bplu4t2f/fix-test-7547-spurious-error
Fix spurious error in `test_issue_7547`
|
2026-10-07 19:04:34 +01:00 |
|
bplu4t2f
|
0fd160b942
|
Fix spurious error in test_issue_7547
|
2026-10-07 19:47:15 +02:00 |
|
gingerBill
|
9ee4b3f497
|
Cut the escape call graph's setup by numbering, counting and releasing in parallel, and finding callers alongside the groups
|
2026-10-07 18:16:36 +01:00 |
|
gingerBill
|
cb3165cd2c
|
Settle recursive escape groups one member at a time after a first parallel round
|
2026-10-07 18:00:18 +01:00 |
|
gingerBill
|
969b84fb9c
|
Build the escape call graph's edges in parallel
|
2026-10-07 17:51:05 +01:00 |
|
gingerBill
|
20c603392e
|
Analyse the escape summaries in the strongly connected components of the recorded calls, so the results are deterministic
|
2026-10-07 17:44:59 +01:00 |
|
gingerBill
|
6413e89d63
|
Merge pull request #7809 from odin-lang/bill/general-feature-improvements
General Feature Improvements
|
2026-10-07 17:39:07 +01:00 |
|
gingerBill
|
01dfa7756b
|
Analyse the escape summaries in the call graph's strongly connected components, so the results are deterministic
|
2026-10-07 17:26:20 +01:00 |
|
gingerBill
|
b428be5b42
|
Add tests for @(align=N) variables and the return address intrinsics
|
2026-10-07 17:08:21 +01:00 |
|
gingerBill
|
e6d0112104
|
Add f16 variants to the core:sys/llvm standard C library bindings
|
2026-10-07 17:04:22 +01:00 |
|
gingerBill
|
94cc223925
|
Remove LLVM 23 support
|
2026-10-07 17:00:30 +01:00 |
|
gingerBill
|
6961b36425
|
Fix the core:sys/llvm bindings for current LLVM, add the missing ones; allow #const parameters to take their defaults, and reuse an intrinsic already declared by the compiler
|
2026-10-07 16:56:25 +01:00 |
|
gingerBill
|
9fb76aa3ba
|
Add intrinsics return_address, frame_address, stack_pointer, and address_of_return_address
|
2026-10-07 16:32:32 +01:00 |
|
gingerBill
|
5659d485cb
|
Merge the escape analysis's stores of the caller's memory from different calls
|
2026-10-07 16:31:08 +01:00 |
|
gingerBill
|
23d057c01f
|
Use a specialization's full type for its escape summary in calls
|
2026-10-07 16:05:56 +01:00 |
|
gingerBill
|
b2aa2457f7
|
Don't report a deprecated procedure for being named in a procedure group but only when a call selects it
|
2026-10-07 16:00:01 +01:00 |
|
gingerBill
|
5ff7268cab
|
Add @(align=N) for variables, raising the alignment of globals, locals, @(static) and @(thread_local) variables to at least N
|
2026-10-07 15:54:21 +01:00 |
|
gingerBill
|
9863858570
|
Fix the deterministic CBOR encoding of maps with non-string keys
|
2026-10-07 15:52:48 +01:00 |
|
gingerBill
|
c713bede2f
|
Stop core and tests leaving references to stack memory behind
|
2026-10-07 15:49:33 +01:00 |
|
Jeroen van Rijn
|
7749885624
|
Merge pull request #7808 from Kelimion/fix-7806
Fix #7806
|
2026-10-07 07:49:06 -07:00 |
|
gingerBill
|
50810e6717
|
Add store summaries to the escape analysis
|
2026-10-07 15:44:07 +01:00 |
|
Jeroen van Rijn
|
f6073fa253
|
Merge pull request #7807 from Kelimion/zlib
Upgrade vendor:zlib to 1.3.2
|
2026-10-07 07:42:23 -07:00 |
|
gingerBill
|
30f80e1079
|
Align matrices to their largest power-of-two column/row stride, capped at 16; pad fixed capacity dynamic arrays of over-aligned elements to their full size
|
2026-10-07 15:40:59 +01:00 |
|
Jeroen van Rijn
|
326aca6c67
|
Fix #7806
|
2026-10-07 16:40:28 +02:00 |
|
gingerBill
|
63f3df70f1
|
Merge pull request #7804 from BigBoyBarney/optional-vendor
Make vendor collection optional
|
2026-10-07 15:29:15 +01:00 |
|
Jeroen van Rijn
|
619dd66bc8
|
Upgrade vendor:zlib to 1.3.2
|
2026-10-07 16:28:19 +02:00 |
|