saqut-compiler/build/Testing/Temporary
saqut 8509d09ca8 fix(ir): do-while == 1 geçici çözümü kaldırıldı, JIF_TRUE kullanılıyor (B4)
Sorun: koşul 1-olmayan sıfır-dışı bir değer (ör. 2) üretince "cond == 1"
karşılaştırması false dönüyor ve döngü yanlışlıkla erken çıkıyordu.

Düzeltme: üç geçici talimat (LOAD_CONST, EQUAL_EQUAL, JIF_FALSE) kaldırıldı.
Geri-jump artık doğrudan JIF_TRUE ile yapılıyor — truthy (sıfır-dışı her
değer) ise loopStart'a atla; isTruthy() semantiğiyle tutarlı.

Test: tests/golden/loops/do_while_truthy.sqt — koşulun i<3 ifadesi (1 veya 0
üretir, 2 üretmez), ancak "while (j)" (j=5→truthy→dön, j=0→false→çık) gibi
1-olmayan truthy koşullar da doğru çalışıyor. 13/13 test yeşil.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 15:59:15 +03:00
..
CTestCostData.txt fix(ir): do-while == 1 geçici çözümü kaldırıldı, JIF_TRUE kullanılıyor (B4) 2026-06-19 15:59:15 +03:00
LastTest.log fix(ir): do-while == 1 geçici çözümü kaldırıldı, JIF_TRUE kullanılıyor (B4) 2026-06-19 15:59:15 +03:00
LastTestsFailed.log fix(ir): && ve || kısa devre dallanmasıyla üret (ADR-008) 2026-06-19 15:54:03 +03:00