session-2026-09-22.md 1.8 KB

Session save — 2026-09-22 (m2compiler-V3, hardening)

Where we are

HEAD: v3-step3.7 (f01bc4b), suite 68/68 (32 run — incl. 4 trap-aborts — + 36 reject). Build warning-free (only the known-benign Coco TypeBlock LL(1) advisory). Tree clean except untracked git.txt (push recipe, intentional). No remote.

What happened this session

Resumed after repeated continue-requests with a full baseline check (64/64 confirmed), then ran the hardening pass prescribed by docs/blaise-phases-map.md:

  1. Real bug: BoundPair outer IF missing END in M2.atg — gm2 warned, still built, bug rode along since 3.1. One-END fix; M2.lst regenerated (line-shift churn only, verified).
  2. 4 new tests: t_charbounds → 3, t_bad_varbound → 230, t_bad_manydims → 230, t_trap_emptystr → abort. One expectation corrected on review (2+1=3, compiler was right).
  3. Strays removed: compiler/src/essai + essai.mod (scratch + linked binary). Root cause of its failure: trailing ; before END (strict Wirth StatSeq).
  4. Audit confirmed set-narrowing, deep-copy, WITH stacking already covered — no duplicate tests added.

Full record: docs/summary_step3.7.md.

Tag lineage (append)

  • v3-step3.6 (64/64) → v3-step3.7 (68/68, hardening)
  • Docs commits untagged between, per convention.

Next (unchanged)

Step 4 calls (C-ABI probes first): call emission, frames, value/VAR params, nested/display, DEFINITION/IMPLEMENTATION + opaque completion, HIGH/LEN, procedure-type vars. Then step 5 stdlib. Deferred list unchanged (see 2026-09-20 save).

Resume commands

cd /home/eric/Projets/Projets-Modula2/MyWork/m2compiler-V3/compiler
./build.sh && ./run_tests.sh   # expect 68/68, zero gm2 warnings