test: Phase 114 if-only return+post parity (VM + LLVM EXE)

Phase 114 validates that if-only lowering correctly handles cases with:
- Early return in the if-only branch
- Post-if statements that execute on the else path
- Different return values from each path

Fixture: apps/tests/phase114_if_only_return_then_post_min.hako
- Expected output: 7\n2
- f(1): condition true → early return 7
- f(0): condition false → x=1+1=2, return 2

Testing:
- VM backend: phase114_if_only_return_then_post_vm.sh 
- LLVM EXE backend: phase114_if_only_return_then_post_llvm_exe.sh 
- Regression: Phase 103/113 maintained 

Implementation: No new code required - validates existing if-only
exit line routing and post-if statement processing.

Documentation:
- docs/development/current/main/phases/phase-114/README.md
- Updated: 10-Now.md, 01-JoinIR-Selfhost-INDEX.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-18 02:18:57 +09:00
parent 70fe0da549
commit 80be814fa4
6 changed files with 260 additions and 6 deletions

View File

@ -64,17 +64,19 @@ JoinIR の箱構造と責務、ループ/if の lowering パターンを把握
- `docs/development/current/main/phases/phase-103/README.md`
15. Phase 113: if-only partial assign parity片側代入の保持 merge
- `docs/development/current/main/phases/phase-113/README.md`
16. Phase 104: loop(true) break-only digitsVM + LLVM EXE
16. Phase 114: if-only return+post parityearly return + post-if statements
- `docs/development/current/main/phases/phase-114/README.md`
17. Phase 104: loop(true) break-only digitsVM + LLVM EXE
- `docs/development/current/main/phases/phase-104/README.md`
17. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
18. Phase 107: json_cur find_balanced_* depth scanVM + LLVM EXE
- `docs/development/current/main/phases/phase-107/README.md`
18. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
19. Phase 108: Pattern2 policy router SSOT入口の薄さを固定
- `docs/development/current/main/phases/phase-108/README.md`
19. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
20. Phase 109: error_tags hints SSOTFail-Fast + hint の語彙固定)
- `docs/development/current/main/phases/phase-109/README.md`
20. MIR BuilderContext 分割の入口)
21. MIR BuilderContext 分割の入口)
- `src/mir/builder/README.md`
21. Scope/BindingIdshadowing・束縛同一性の段階移行
22. Scope/BindingIdshadowing・束縛同一性の段階移行
- `docs/development/current/main/phase73-scope-manager-design.md`
- `docs/development/current/main/PHASE_74_SUMMARY.md`
- `docs/development/current/main/PHASE_75_SUMMARY.md`