gingerBill
c494c7a503
Check global entity groups in parallel
...
* CAS-claimed entities, cycle-safe waits for entities and records, lazy entities without lazy_mutex
* Build union type names only on error, take the error block only to report proc group overload errors
2026-10-01 23:17:34 +01:00
gingerBill
73c3a96de1
Make global checking state thread-safe: read-only global scopes, per-group untyped and #soa, deferred link-name checks, fresh contexts for on-demand globals
2026-10-01 21:07:41 +01:00
gingerBill
3b9ef40fae
Clean up comments and add more wait signal guards for union variants
2026-09-30 15:53:31 +01:00
gingerBill
bc8635dbe7
Merge pull request #7674 from louisnovy/fix-deferred-procedure-conditional-calls
...
Fix #5105 and #5569 : Deferred call in short circuits causes LLVM codegen failure
2026-09-30 11:11:52 +01:00
Louis Novy
db46204e38
Catch calls of a deferred out proc in short circuits during check
2026-09-29 19:22:01 -04:00
gingerBill
92a3d4411a
Fix #7636
2026-09-29 17:55:45 +01:00
Jeroen van Rijn
de2b46961a
Merge pull request #7468 from mac119/fix-7421-tagless-switch-duplicate-cases
...
checker: Do not deduplicate cases in tagless switches
2026-08-31 04:06:08 -07:00
gingerBill
db0cd79633
Use thread_safe_file
2026-08-27 15:26:29 +01:00
gingerBill
938257d425
Add -strict-style-packages
2026-08-27 15:20:02 +01: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
kalsprite
7e9ffac5b0
const truncation sweep
2026-08-25 23:27:06 -07:00
kalsprite
f17c86d936
diagnostics: let compiler check error() fmt strings + fixes
2026-08-19 15:39:39 -07:00
kalsprite
364a76e8e9
check_stmt: reject a built-in procedure assigned to
2026-08-17 19:08:13 -07:00
corley
87912a8b88
fixes range loop over array elements in soa containers
2026-08-11 03:20:13 +03:00
Abderrahim Indjaren
ac6688c166
add: disallow proc group assignment to blank identifier
2026-07-10 12:19:39 +01:00
Bärtschi Robin
3883d079c8
Fix #6874
2026-06-24 08:04:17 +02:00
gingerBill
c19540dda4
Merge pull request #6696 from Spooky309/no-thread-local
...
Honour -no-thread-local for variables declared at procedure scope
2026-05-18 16:28:39 +01:00
Abderrahim Indjaren
d02c5e1a21
add: check duplicates in type switches
2026-05-18 03:15:55 +01:00
Spooky309
765776d136
Honour no-thread-local for variables declared at procedure scope
2026-05-16 10:56:17 +01:00
A1029384756
24f28498a2
[checker] fix break/continue being allowed in a nested unrolled range loop
2026-04-06 12:39:21 -04:00
gingerBill
111bee6ecd
Fix scope->elements iteration causing a few bugs in the doc-format
2026-03-19 20:31:01 +00:00
gingerBill
04cb889aed
Begin interning ScopeMap strings
2026-03-17 11:04:32 +00:00
gingerBill
f7ede8632f
Minor changes
2026-03-17 08:10:13 +00:00
gingerBill
cb7a87773b
Split keys and slots and allocate them both together
2026-03-16 18:04:25 +00:00
gingerBill
36d5a19115
Replace Scope.elements to use a custom hash map ScopeMap
...
This hash map is robin hood based with a inline slot amount for small scopes
2026-03-16 17:41:58 +00:00
gingerBill
93852df29e
Support #unroll(N) for for FCD arrays
2026-03-16 12:28:18 +00:00
gingerBill
e87564b205
Support for in for FCD arrays
2026-03-16 12:21:41 +00:00
gingerBill
a7ed7ccd0c
Merge pull request #6259 from odin-lang/bill/range-init
...
`for init; x in y {}` style loops (proof of concept)
2026-02-17 11:11:56 +00:00
tpat7187
4fce910973
Minor Spelling mistake in Using error line
2026-02-14 15:51:03 +00:00
gingerBill
6412c84690
Merge branch 'master' into bill/range-init
2026-02-12 13:15:39 +00:00
Laytan Laats
d49ab07d35
fix typo
2026-02-11 20:05:45 +01:00
gingerBill
8cb7965aa5
for init; x in y {} style loops
2026-02-11 15:33:14 +00:00
gingerBill
b1633b9ebb
Require all values from a procedure iterator if the procedure is marked with @(require_results)
2026-02-11 14:05:06 +00:00
gingerBill
19b545e7cb
Merge branch 'master' into bill/feature-using-stmt
2026-01-30 10:49:55 +00:00
gingerBill
37c2f68824
Allow #unroll for arrays of fixed length which are not constants
2026-01-28 15:30:23 +00:00
gingerBill
d139c72fc2
Make using as a statement an opt-in with #+feature using-stmt
2025-12-21 11:53:44 +00:00
Jeroen van Rijn
7e9ceaa281
Fix #5982
...
Add escape analysis check for #load directive to fix #5982 .
2025-12-01 22:16:37 +01:00
gingerBill
af83c30b6f
And extra safety checks
2025-09-27 14:13:16 +01:00
Jwaxy
15fe0bfe59
Make return struct with slice check recursive
2025-09-27 14:45:46 +03:00
Jwaxy
4165e8e888
Prevent returning struct containing compound literal slice
2025-09-27 13:53:04 +03:00
gingerBill
5ea2e1fe60
Minimize mutex usage when in single threaded mode.
2025-09-10 21:41:52 +01:00
gingerBill
a36a8722dc
Minimize more thread contention
2025-09-10 19:30:32 +01:00
gingerBill
21b1173076
Minor clean up of permanent/temporary arena usage
2025-09-10 18:20:20 +01:00
gingerBill
bb4bc316a4
for in string16; Support string16 across core
2025-08-02 12:20:35 +01:00
gingerBill
7057fc8dfc
Remove the semantics of #no_copy, keep the grammar
2025-07-30 23:14:29 +01:00
Jeroen van Rijn
e735e036b4
Fix #5447
...
Thanks to @FourteenBrush
2025-07-09 23:55:57 +02:00
Airtz
fb3bccdd3e
Fix an oversight for operators with more than 2 chars
2025-06-24 16:09:42 +02:00
Airtz
2259db9a53
Better error messages
2025-06-24 02:54:14 +02:00
Feoramund
d046214f67
Be strict with type switch case column alignment too
...
This copies the same block used for regular switch cases.
Fixes #4673
2025-06-04 14:00:33 -04:00
gingerBill
7853a1db1c
Fix #5228
2025-05-29 16:35:28 +01:00