gingerBill
4508144727
Add @(synchronizes_shared=...) for shared locks; Infer @(synchronizes) for wrappers
2026-10-08 22:56:54 +01:00
gingerBill
5de6a99129
Add @(synchronizes=<Enum>); Vet plain writes; Warn on mixed-sized atomics; Count fences in callers and other branches
2026-10-08 17:16:09 +01:00
gingerBill
535132a22e
Add @(futex_parameter="name")
2026-10-08 10:46:58 +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
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
6413e89d63
Merge pull request #7809 from odin-lang/bill/general-feature-improvements
...
General Feature Improvements
2026-10-07 17:39:07 +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
SOBEX
439485507f
Fix #7798 by sorting link_names with Procedures before ForeignProcedures
2026-10-07 15:03:20 +02:00
gingerBill
a720b0699e
Release nested procedures before running the escape analysis on their parent
2026-10-07 13:58:15 +01:00
gingerBill
5522d18745
Skip the escape analysis for an executable's entry point and suggest clearing stores
2026-10-07 13:38:22 +01:00
gingerBill
8ea02cc733
Add flow-based escape analysis of stack memory, reported as warnings
2026-10-07 13:08:22 +01:00
gingerBill
e702482f38
Group the per-thread error state into ErrorContext
2026-10-07 11:25:53 +01:00
gingerBill
86502ed7ec
Show where parapoly procedures and records were instantiated in errors within them
2026-10-07 11:08:13 +01:00
gingerBill
b2b03b68aa
Create the file scopes, imports, and canning of whens in parallel
2026-10-05 15:08:35 +01:00
gingerBill
ba13344c1f
Pass a local declaration's dependencies to those it is in once checked, remove the dependency tree update, find the global initialization order in the background, and stop linking every polymorphic call's scope into its declaration's
2026-10-05 13:20:26 +01:00
gingerBill
c500e68445
Pass a nested procedure's dependencies on to every declaration it is nested in so they do not depend on the order the bodies are checked in
2026-10-05 12:35:35 +01:00
gingerBill
8a72e22f03
Allow using on #soa pointers, and make the fields a using #soa pointer parameter promotes assignable
2026-10-04 19:14:17 +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
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
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
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
38fa57e907
Make global checking and codegen order-independent
2026-10-01 15:01:14 +01:00
gingerBill
c6b9f8d998
Try to fix the #+lazy entities
2026-10-01 13:51:40 +01:00
gingerBill
b06c5ffa70
Add -internal-global-entity-graph; Fix union type inference bug
2026-10-01 13:42:32 +01:00
Jeroen van Rijn
6332303a0e
Add -file suggestion.
...
When `main` is duplicated or the package names differ, suggest it may be a single `-file` package.
2026-09-24 12:52:45 +02:00
Jeroen van Rijn
ec0bd121db
Fix redecleration error for globals
2026-09-17 16:20:11 +02:00
gingerBill
07b5c2ee0f
Support enable_target_feature and require_target_feature for asm templates
2026-08-31 16:39:17 +01:00
kalsprite
f5873e2e84
remove dead inline asm check, now unreachable
2026-08-24 00:40:00 -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
Jeroen van Rijn
830f41e280
Merge pull request #7417 from kalsprite/foreign_sig_named_struct
...
Fix segfault comparing two foreign declarations of the same symbol
2026-08-22 03:11:27 +02:00
kalsprite
f8bdfa0857
Fix segfault comparing two foreign declarations of the same symbol
2026-08-21 17:31:42 -07:00
kalsprite
a1b56d7679
Fix compiler segfault on of a type alias that cycles back
2026-08-21 17:00:44 -07: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
6646a7b38e
Remove redundant code
2026-08-17 19:57:21 +01:00
gingerBill
2738ff640d
Minor text fix
2026-08-17 19:56:03 +01:00
gingerBill
c3b2029f64
Support asm template groups
2026-08-17 19:54:21 +01:00
gingerBill
ef21ffa285
Templatize the check_asm.cpp code ready for other architectures
2026-08-11 14:00:41 +01:00
gingerBill
70ca5c0936
Validate the names of mnemonics, prefixes, and registers for amd64
2026-08-11 10:44:34 +01:00
gingerBill
3f3e69897a
Check for duplicate register pinning
2026-08-10 15:03:17 +01:00
gingerBill
ebc21aad72
Fix displacement check
2026-08-10 13:50:15 +01:00
gingerBill
cee5bd79e0
Fix pinning logic for asm registers
2026-08-10 12:06:28 +01:00
gingerBill
22f2e2ac78
Try to lower to LLVM IR from Odin's asm template syntax
2026-08-09 23:38:36 +01:00
gingerBill
25ce7e87de
Correctly type check asm template parameters
2026-08-09 18:52:57 +01:00
gingerBill
5ac28cdecd
Begin work on semantically type checking asm templates
2026-08-09 18:24:56 +01:00
gingerBill
40e54a97ed
Merge branch 'master' into bill/bedrock
2026-06-24 11:07:02 +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