gingerBill
bdb0364739
Remove the missing procedures fallback from the backend: the checker adds the Objective-C runtime procedures the backend calls, local foreign procedures with a duplicate name are bound to the existing declaration, and local procedures passed to a $ parameter are created up front
2026-10-03 22:26:08 +01:00
gingerBill
5795183b75
Queue a polymorphic specialization's body when it is first used rather than when it is generated, so the minimum dependency set is only generated once; assert that every body in it was checked rather than checking any missed ones late
2026-10-03 19:37:26 +01:00
gingerBill
32f30c3eb3
Tokenize whilst parsing rather than storing every token of a file first
2026-10-03 16:03:59 +01:00
gingerBill
5031e2733e
Add the comparison procedures of types in the type table and map keys as dependencies making the backend no longer has to create missing procedures
2026-10-03 12:38:00 +01:00
gingerBill
c628768c5e
Strip constant parameters from specialized procedure types; fix calling a parenthesized polymorphic callee
2026-10-02 23:11:13 +01:00
gingerBill
1d3f982b50
Allow intrinsics.procedure_of on procedures without results or requiring a context; treat a specialized procedure's type as concrete
2026-10-02 17:10:03 +01:00
gingerBill
14950b8ae9
Park nested procedures on their parent until its body is checked instead of re-queuing; per-entry #load caches and parallel #load_directory reads; don't merge dependencies into package-level declarations; separate the thread pool's contended fields onto their own cache lines
2026-10-02 12:55:09 +01:00
gingerBill
ff9d3584f4
Per-thread arrays instead of MPSC queues for entities, definitions and untyped expressions; walk the minimum dependency set from per-task stacks, and scan its root definitions in parallel
2026-10-02 12:07:06 +01:00
gingerBill
5fbcbd17da
Compare entity source order by each file's index in its package rather than its name; search the initialization-order graph's edges in parallel
2026-10-02 11:44:50 +01:00
gingerBill
0de3f92449
Thread pool: wake one sleeping worker per task instead of all, spin briefly before sleeping; walk the procedure dependency tree in chunks
2026-10-02 11:24:28 +01:00
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
5f579a1a10
Fix numerous race conditions: clone polymorphic defaults per call, evaluate foreign import attributes after collection, own dependencies for record instances, sorted Objective-C emission, no debug line for anonymous records
2026-10-01 21:55:25 +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
66c4fe1d49
Decide cycles of global whens by trying every choice of their branches; ambiguous or contradictory cycles are errors
2026-10-01 18:49:51 +01:00
gingerBill
f7ee910f93
Merge checker_global_*.cpp into checker_global.cpp; base -internal-global-entity-graph on the scheduled groups
2026-10-01 17:43:03 +01:00
gingerBill
63bd49c88b
Add -internal-check-global-edges; Check global entities in dependency-ordered groups of a syntactic graph
2026-10-01 17:28:38 +01:00
gingerBill
2b90b616e1
Add -vet-when-shadowing; Resolve global whens and foreign blocks on demand via name placeholders
2026-10-01 16:28:12 +01:00
gingerBill
5f6e95a620
Don't treat a global naming itself as an initialization cycle (fixes test_issue_6621)
2026-10-01 15:26:45 +01:00
gingerBill
38fa57e907
Make global checking and codegen order-independent
2026-10-01 15:01:14 +01:00
gingerBill
b06c5ffa70
Add -internal-global-entity-graph; Fix union type inference bug
2026-10-01 13:42:32 +01:00
gingerBill
66111934c3
Allow parapoly procs to be in @(deferred_*) attributes
2026-10-01 01:17:40 +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
29b681b43d
Handle more cases where ExactValue_Float was being handled but not for ExactValue_Rational
2026-09-29 15:21:00 +01:00
Louis Novy
fc8b49f5f5
Fix the same $ procedure argument generating duplicate instantiations
2026-09-27 10:40:33 -04:00
gingerBill
07b5c2ee0f
Support enable_target_feature and require_target_feature for asm templates
2026-08-31 16:39:17 +01:00
kalsprite
f17c86d936
diagnostics: let compiler check error() fmt strings + fixes
2026-08-19 15:39:39 -07:00
gingerBill
a86e523053
Allow for inlineable asm calls
2026-08-18 14:57:34 +01:00
gingerBill
c3b2029f64
Support asm template groups
2026-08-17 19:54:21 +01:00
gingerBill
1f2234a4b2
Merge branch 'master' into bill/inline-asm
2026-08-17 11:44:14 +01:00
kalsprite
55d0aecd92
add missing break on fix dyn
2026-08-16 19:51:27 -07:00
gingerBill
5ac28cdecd
Begin work on semantically type checking asm templates
2026-08-09 18:24:56 +01:00
kalsprite
42bd26cb72
switch ordering
2026-08-07 16:14:12 -07:00
kalsprite
391a862e4f
make tok stable under multi-thread
2026-08-07 15:58:25 -07:00
kalsprite
4780d24836
fix grammar on import name error
2026-08-04 18:26:02 -07:00
aelobdog
f465f3dc6f
fix: hang for poly procs with default proc literal params
2026-07-28 22:48:38 +05:30
Richard Nyberg
bb2e7e60ce
Reject chained deferred procedures.
2026-07-12 07:49:46 +02:00
Jeroen van Rijn
94be05ead1
Merge pull request #6918 from Kelimion/deprecate-llvm-14
...
Remove LLVM 14 support
2026-07-03 21:35:47 +02:00
MauriceElliott
56cee0c2cf
fix: made suggested changes to add a playdate subtarget, updated help text and reduce required build flags for playdate to just the subtarget, no-movt and cortex-m7 added to default on playdate subtarget flag.
2026-07-01 21:18:28 +01:00
Jeroen van Rijn
2d2979a5f2
Remove old pass manager
2026-06-30 22:44:28 +02:00
gingerBill
37c349e604
Fix #6907
2026-06-29 13:47:46 +01:00
gingerBill
6fdaedf182
Fix indentation
2026-06-24 14:05:35 +01:00
gingerBill
40e54a97ed
Merge branch 'master' into bill/bedrock
2026-06-24 11:07:02 +01:00
gingerBill
d16a37e649
Add warning to help very large return values (partially fixes #6568 )
2026-06-22 15:41:43 +01:00
Andreas Stenmark
d08c953411
Fix #6811 : collect @(test) procs from #+private file by iterating c->info.entities instead of pkg->scope->elements.
2026-06-14 23:10:36 +02:00
gingerBill
16eac6187d
Re-add @(link_section<string>) for procedures
2026-06-02 13:38:39 +01:00
gingerBill
7a5a73efae
Generalize is_foreign_name_valid but add TODO to see how it should work.
2026-06-02 13:21:57 +01:00
gingerBill
a479eb7775
Support @(link_section=<string>) for procedures
2026-06-02 13:09:40 +01:00
gingerBill
b0ee0bb635
Add @(fast_math={...}) + intrinsics.Fast_Math_Flags
2026-05-11 11:55:07 +01:00
gingerBill
8ffcdf172a
Odin_Calling_Convention defined in compiler; Allow for main :: proc "contextless" () {} with -bedrock; intrinsics.type_proc_calling_convention
2026-05-05 15:07:42 +01:00
gingerBill
ea00291519
Begin work on -bedrock mode
...
Currently disables 128-bit integers, `map` type, and RTTI
2026-05-02 15:06:01 +01:00