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
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
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
942c1bff17
Merge branch 'master' into bill/bedrock
2026-05-05 13:57:14 +01:00
gingerBill
b083b980f7
Fix variable based procedure groups
2026-05-05 12:09:27 +01:00
gingerBill
781b71e6ea
-disable-init-fini
2026-05-04 11:31:56 +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
gingerBill
7b97530443
Add intrinsics.c_var_*
2026-04-28 15:00:53 +01:00
Nikolay Hadzhiev
48e83ad003
gh 6594
...
prevent compiler crash from self-referential global initialisation
2026-04-22 13:14:08 +02:00
gingerBill
04cb889aed
Begin interning ScopeMap strings
2026-03-17 11:04:32 +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
55b3ea7c2d
Allow @(deprecated=<string>) on types
2026-03-15 18:58:48 +00:00
gingerBill
8a92ba74fc
Make defer_use_checked and where_clauses_evaluated atomic
2026-02-02 10:56:30 +00:00
gingerBill
f4a7e0b279
Add @(no_sanitize_thread)
2026-01-15 18:06:25 +00:00
Harold Brenes
3a07a32411
Don't check procedure signature similarity when a foreign import proc is an Objective-C method.
2025-11-07 21:38:34 -05:00