EmitWrite had no tyDouble/tySingle case; floats fell through to _SysWriteInt with a d-typed temp, which QBE rejected as an invalid argument type. Add _SysWriteDouble and _SysWriteSingle RTL stubs in rtl.platform.pas and rtl.platform.posix.pas (using the existing _DoubleToStr/_SingleToStr functions from blaise_float.pas). EmitWrite now dispatches to these stubs so WriteLn(someDouble) and WriteLn(someSingle) compile and run correctly without requiring DoubleToStr at the call site. Two new e2e tests (TestRun_WriteLn_Double_Direct, TestRun_WriteLn_Single_Direct) verify direct float output; 2375 tests pass. |
||
|---|---|---|
| .. | ||
| src | ||
| Makefile | ||
| project.xml | ||