gingerBill
3f518fd130
Merge pull request #7602 from corleypc/lifetime-markers
...
Adds lifetime markers for named locals
2026-09-29 17:44:06 +01:00
Louis Novy
41d3f37fba
Fix #5318 : procedures passed to $ parameters share an instantiation's name
2026-09-29 10:21:43 -04:00
corleypc
6c5651638c
Merge branch 'master' into lifetime-markers
2026-09-29 16:04:59 +03:00
gingerBill
88d2c3f11e
Merge branch 'master' into fix-7547
2026-09-29 13:13: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
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
Louis Novy
e9657d17b6
Cover #5214 in the forwarded $ procedure test
2026-09-28 09:58:59 -04:00
Louis Novy
7b10b43f08
Rename the forwarded $ procedure test after #6951
2026-09-28 09:47:53 -04:00
Louis Novy
35d5998039
Merge branch 'odin-lang:master' into fix-forwarded-poly-proc-param
2026-09-28 09:35:20 -04:00
Louis Novy
fc8b49f5f5
Fix the same $ procedure argument generating duplicate instantiations
2026-09-27 10:40:33 -04:00
gingerBill
9924dcebd3
Merge pull request #7629 from Dreamshade-1911/fix/proc-lit-union-variant-compound-lit
...
Fix #7596 and #7511
2026-09-27 15:01:39 +01:00
Louis Novy
d65d743ab7
Fix full length swizzles through a pointer keeping the pointer type
2026-09-26 22:22:42 -04:00
Louis Novy
13988d863a
Fix forwarded $ procedure parameters reusing the first instantiation
2026-09-26 22:14:37 -04:00
Louis Novy
9453e0e75e
Fix broadcasting arrays of matrices and matrices
2026-09-26 19:39:53 -04:00
corleypc
223e8d921c
Merge branch 'master' into lifetime-markers
2026-09-26 13:34:40 +03:00
Fernando Nunes
a5e80c7530
fix(checker): record instantiated poly proc on selector when used as a proc value
2026-09-25 07:45:33 -03:00
Fernando Nunes
bc68304497
fix #7596 and #7511 : proc literal as union variant in compound literal crashes backend
2026-09-25 07:08:01 -03:00
gingerBill
f43ecc4210
Merge branch 'master' into lifetime-markers
2026-09-22 22:41:06 +01:00
gingerBill
5335810e1d
Merge branch 'master' into fix-7547
2026-09-22 22:37:56 +01:00
Michael Lehenauer
39d00f6ee4
Fix Windows AMD64 no-CRT stack probe support
2026-09-22 20:32:58 +02:00
bplu4t2f
36c1173df6
Fix #7547
2026-09-21 17:52:49 +02:00
alyekypo
23cc994255
fix(checker): keep entity iteration valid across a scope map rehash
...
`check_scope_decls` iterates a scope's entity map while
`check_entity_decl` can insert into that same scope: a procedure alias
(`f :: e`) goes through `override_entity_in_scope`, which calls
`scope_map_insert`. The map grows at 75% load (12 of 16 slots, then 24
of 32), and `scope_map_insert` grows before it probes for the key, so
even an alias that only replaces an existing value rehashes and
reallocates the table in the middle of the iteration.
`ScopeMapIterator` re-read its map on every step while `end` had
captured the capacity at loop start, so the walk continued over the new
table under the old sentinel: it ran past the end of the reallocated
table and dereferenced whatever followed it as an `Entity *` - a nullptr
dereference for a procedure scope holding exactly 12 or 24 entities - or
it stopped at the stale end index and silently skipped every declaration
that the rehash had moved behind it, which left unused declarations
without any diagnostic at all.
The iterator now snapshots the table pointer and capacity when it is
constructed, so iteration is invariant under any insert or grow and
cannot leave the table it began on. A scope that does not grow behaves
exactly as before: the snapshot points at the same table.
Refs #7598
2026-09-21 13:13:39 +00:00
corley
bac6130710
lifetime markers for named locals
2026-09-20 15:55:26 +03:00
Senthilnathan
699973abd6
Merge branch 'master' into fix/location-global-initializer
2026-09-16 18:45:52 +05:30
Senthilnathan
ed2d5304d1
fix: #location in global variable initializers
2026-09-16 18:42:10 +05:30
Jeroen van Rijn
0251becedb
Revert #6476
...
PR #6476 "fixed" an issue that didn't exist because it misunderstood this allocator's semantics. What it conluded was an edge case was in fact entirely predictable and desireable behavior for this allocator.
In "fixing" this edge case, it prevented the exact scratch mechanics that sets this allocator apart for its use case.
Reverted.
2026-09-04 23:23:26 +02:00
leo119
24cb1abf29
checker: Do not deduplicate cases in tagless switches
...
Tagless switch cases are ordered predicates, so distinct constant conditions may fold to the same Boolean value. Restrict duplicate-case tracking to explicitly tagged switches and add positive and negative regression coverage for issue #7421 .
2026-08-27 14:53:54 +08:00
gingerBill
34643f30d9
Merge branch 'master' into const_array_broadcast
2026-08-26 08:45:51 +01:00
gingerBill
d06ac2fe64
Merge pull request #7428 from mocompute/check-7336
...
add regression test for #7336
2026-08-26 08:43:06 +01:00
gingerBill
dcb66ab09d
Merge branch 'master' into const_array_broadcast
2026-08-26 08:42:51 +01:00
gingerBill
7bd6d16d76
Merge pull request #7438 from kalsprite/asm_doc_category
...
Give asm templates a documentation category instead of a blank header and a null `%s`
2026-08-26 08:41:20 +01:00
kalsprite
c3bc5b69ac
Merge branch 'master' into asm_doc_category
2026-08-25 23:08:48 -07:00
kalsprite
c1aeb47ce5
swizzle target multi-assignment
2026-08-25 22:22:33 -07:00
kalsprite
ae549bf34b
broadcast a constant into every array level
2026-08-25 21:47:02 -07:00
mo
2d1253e3e6
add regression test for #7336
...
Closes #7336 .
Fixed by #7327 .
2026-08-26 15:08:01 +12:00
gingerBill
2214d90997
Merge branch 'master' into bool_comparison_normalise
2026-08-25 15:31:19 +01:00
gingerBill
771cbfa31a
Merge pull request #7439 from ssenthilnathan3/fix/proc-literal-type-canonicalization
...
Fix canonical names for types in procedure literals
2026-08-25 15:12:32 +01:00
Senthilnathan
559ed487e6
fix: canonical names for types in procedure literals
2026-08-25 14:41:48 +05:30
kalsprite
4ecaa7dfd9
normalize bool cmp
2026-08-24 18:34:59 -07:00
Jeroen van Rijn
66f9dbca8a
Merge branch 'master' into bool_be_conversion
2026-08-24 18:31:30 -07:00
kalsprite
c3bfbea235
big endian bool cmp
2026-08-24 18:15:01 -07:00
kalsprite
301baf0b88
remove faulty tests
2026-08-24 17:46:55 -07:00
gingerBill
805fc07854
Fix indentation of run.sh
2026-08-24 14:13:28 +01:00
gingerBill
cebceb9bb2
Merge branch 'master' into asm_rip_width
2026-08-24 09:31:54 +01:00
gingerBill
48daf8e511
Merge pull request #7431 from kalsprite/asm_named_register_slot
...
Reject asm operands in slots only a named hardware register can fill
2026-08-24 09:30:20 +01:00
kalsprite
b875baea08
asm template doc category
2026-08-24 00:55:16 -07:00
kalsprite
40fd892cf5
Reject a named asm template used as a value instead of aborting the compiler
2026-08-24 00:27:26 -07:00
kalsprite
b6c64c28b5
Diagnose in an asm template instead of aborting with SIGILL
2026-08-23 22:36:57 -07:00
kalsprite
deb45f3e6a
asm named slots
2026-08-23 21:34:31 -07:00