← board

C initializers: designated + nested/brace-elided initializers (EPIC)

Failing tests (library_candidates/c-testsuite/tests/single-exec)

Symptom

Designators (.field =, [idx] =) apparently parsed but values land in wrong slots (declaration-order assignment, designator ignored?). Brace elision (C99 6.7.8p20: { {1}, 2 } and fully flat lists) mis-distributes values and mis-counts elements for [] size inference.

Fix site

cparser.inc global/local braced-init path (same region as the v185 block-scope char buf[]="lit" fix). Needs: designator cursor (current field/index that designators reset), brace-elision descent, size inference = max index + 1.

Gate

Remove the 9 lines from test/c-conformance/pxx.skip; tools/run_c_conformance.sh green.

Log