Skip to content

fix(c): initialize typed repeat arrays inside their value wrapper - #6038

Merged
dmitrii-f-t27 merged 1 commit into
Trinity-S-AI-DNA:masterfrom
dmitrii-f-t27:codex/c-repeat-wrapper
Oct 4, 2026
Merged

dmitrii-f-t27 merged 1 commit into
Trinity-S-AI-DNA:masterfrom
dmitrii-f-t27:codex/c-repeat-wrapper

Conversation

@dmitrii-f-t27

Copy link
Copy Markdown
Contributor

Typed [T; N] repeat locals and returned array values emitted C range designators at the structure level. Clang and GCC rejected the generated api_documenter and traffic_animator modules. Initialize the known by-value wrapper's v member while retaining plain arrays, existing lists, function signatures and value-return lifetimes.

The source fixture and six native integration tests compile and execute the generated C, check four indices over256 values plus boundary values, and reject source fill/extent mutants and an oversized initializer. The accepted baseline passes two controls and fails four actual compilation regressions; the corrected compiler passes all six on Clang21 and Linux GCC12.2.0. The existing Clang limitation for effectful GNU range fills remains outside this repair.

Validation: actual bootstrap2828 passed/0 failed/2 ignored across123 targets; native corpus ratchet retains95 expected failures/cap126; all75 tri-net C modules compile and execute on Clang and real Linux GCC with unchanged workflow flags. Exactly two of284 outputs change;102Rust/107Zig/113Verilog outputs remain byte-identical to the accepted baseline. Complete804 sealed-spec audit finds zero existing hash/alias changes; coverage1449/1325/124 and the debt ledger stay unchanged. FROZEN matches the actual compiler source.

tri-net product source, generated files, PIN and budgets remain unchanged. Its separate Zig and Verilog adoption blockers remain.

Closes #6013.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

C: typed array repeat initializes the wrapper instead of its v member

1 participant