Commit Graph
19533 Commits
Author SHA1 Message Date
gingerBill ff02184b2e Fix #7708: compare a polymorphic record's constant parameters by value in subst_unify 2026-10-02 16:42:33 +01:00
gingerBill 08dd25e28f Merge branch 'master' of https://github.com/odin-lang/Odin 2026-10-02 14:45:10 +01:00
gingerBill c941c3fd2b Accept a pointer to a using subtype for a $T/^Base constraint again, binding T to the argument's type 2026-10-02 14:45:00 +01:00
gingerBill d32c8d3e46 Merge pull request #7706 from louisnovy/fix-fixed-capacity-literal
Fix #7430: Fixed capacity dynamic array literals lose their length
2026-10-02 14:38:53 +01:00
gingerBill 1c7acfb1cf Merge pull request #7707 from odin-lang/bill/doc-comment-markdown
Adjust doc comments that misrender as CommonMark
2026-10-02 14:36:30 +01:00
gingerBill 56e7efb1d4 Adjust doc comments that misrender as CommonMark 2026-10-02 14:36:03 +01:00
Louis Novy 4a3a7a92cb Fix the length of fixed capacity dynamic array literals whose elements can't be constant 2026-10-02 09:29:51 -04:00
gingerBill 4f75180692 Merge pull request #7704 from Arthur031221/fix-cbor-bit-set-byte-order-20261002-s58
Fix CBOR bit-set byte order
2026-10-02 14:26:43 +01:00
gingerBill 161f6e30e6 Merge pull request #7701 from odin-lang/bill/multithread-global-decls
Multithread The Entire Semantic Checker
2026-10-02 14:17:23 +01:00
gingerBill 0915bdcb92 Reject procedure group candidates whose $T/S parameters cannot take the operands before checking their signatures; compare polymorphic instances by an identity hash before are_types_identical 2026-10-02 13:37:32 +01:00
gingerBill 6bc4b69ab8 Fix #7316: a polymorphic procedure in a constant compound literal is its instance, not nil 2026-10-02 13:03:48 +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
Arthur031221 eaa1cb34eb Fix CBOR bit set byte order conversion 2026-10-02 18:57:49 +08: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 3b6a32398b Merge pull request #7692 from corleypc/must-tail-disallow-odincc
Disallows the Odin calling convention with #must_tail
2026-10-02 11:38:27 +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
Jeroen van Rijn 7fac98187a Merge pull request #7703 from Arthur031221/fix-csv-multiline-eof-20261002-s4
Preserve final CSV records in multiline mode
2026-10-02 02:49:19 -07:00
Arthur031221 f01284d372 [core:encoding/csv] Read the final multiline record before EOF
The multiline line reader returned EOF with buffered data, so record
parsing discarded the last row when the file had no trailing newline.
Clear EOF while data remains, as the normal line reader does.

Add regressions for final records, empty input and unterminated quotes.
The normal core suite passes 627 tests with the new CSV tests included.
2026-10-02 14:10:58 +08: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 94bb955871 Fix #7566: name polymorphic instances by the values of compound constant parameters and not their spelling 2026-10-01 19:05:15 +01:00
gingerBill 88892e58f4 Merge pull request #7695 from alexthed1rk/fix-simd-x86-avx512-typo
Impl simd x86 avx512 typo fix
2026-10-01 18:52:25 +01:00
gingerBill 368a1d1ca4 Merge pull request #7697 from louisnovy/fix-bit-field-array-compound-literals
Fix compound literals of array backed bit_fields
2026-10-01 18:52:06 +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
Louis Novy 8fe3b9b57b Fix compound literals of array backed bit_fields 2026-10-01 12:43:00 -04: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
Alexander Zhura ce6aac3028 Impl simd x86 avx512 typo fix 2026-10-01 19:21:35 +03:00
gingerBill 84f06ee6a8 Add test_issue_ambiguous_union_literal.odin 2026-10-01 16:30:48 +01:00
gingerBill 379261331f Add more tests 2026-10-01 16:29:04 +01:00
gingerBill 98e9aba1fa Add loads of global when tests 2026-10-01 16:28:45 +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 40f3df53bb Merge pull request #7694 from odin-lang/bill/multithread-global-decls
Make global checking codegen order-independent
2026-10-01 15:36:48 +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 8609eb3e4a Fix #7693 muted error follow-up lines; Fix distinct records against $T/Record constraints 2026-10-01 15:17:16 +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 f251830001 Merge pull request #7685 from odin-lang/bill/parapoly-improvements
Complete Parapoly Rewrite + Race condition fixes
2026-10-01 05:31:24 -07:00
Mihail Moskov 016414cc88 disallows odin cc with #must_tail 2026-10-01 15:09:24 +03:00
gingerBill ac5087776f Add test_parapoly.odin 2026-10-01 13:04:40 +01:00
Jeroen van Rijn f6bf50612a Merge pull request #7690 from hugpoint-tech/hugpoint-tech/base64-strict-encoding
core: add unpadded base64 encoding
2026-10-01 03:20:15 -07:00
gingerBill 9602f57513 Minor refactor for visited sections 2026-10-01 11:03:10 +01:00
gingerBill 3c09d0242f parapoly: determine a polymorphic array count from a bare compound literal 2026-10-01 11:01:08 +01:00
gingerBill 3551707607 parapoly: allow a constant default value for a polymorphic parameter 2026-10-01 10:53:29 +01:00
gingerBill efe87b06ec parapoly: determine a polymorphic element type from a bare compound literal 2026-10-01 10:26:24 +01:00
gingerBill 4e49db59a8 parapoly: default untyped args against a still-polymoprhic parameter 2026-10-01 09:54:10 +01:00
gingerBill 21302f84df Fix bodge of using i64 instead of ExactValue in PolyBinding 2026-10-01 09:40:14 +01:00