Author Topic: [UPDATE] SedaiBasic - SSA pipeline, native AOT/JIT backends, and what changed  (Read 1699 times)

srvaldez

  • Full Member
  • ***
  • Posts: 207
Re: [UPDATE] SedaiBasic - SSA pipeline, native AOT/JIT backends, and what changed
« Reply #15 on: September 01, 2026, 07:29:45 pm »
good day mau.camma
still having problems building on Windows
Find-CCompiler : The term 'Find-CCompiler' is not recognized as the name of a cmdlet, function, script file, or
operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try
again.
At C:\Users\Admin\Desktop\SedaiBasic2-main\build.ps1:1019 char:18
+         $ccBin = Find-CCompiler -ProjectRoot $ProjectRoot
+                  ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Find-CCompiler:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


======================================================================

  SETUP FAILED!


mau.camma

  • New Member
  • *
  • Posts: 12
Re: [UPDATE] SedaiBasic - SSA pipeline, native AOT/JIT backends, and what changed
« Reply #16 on: September 02, 2026, 12:22:41 am »
@srvaldez

Good day, and thanks for the report — it was a real bug on my side, and it would have hit every Windows user.

PowerShell doesn't hoist functions: a function takes effect when execution reaches it, not when the file is parsed. In build.ps1 I had Find-CCompiler and Build-HotDisp defined at lines 1093 and 1114 but called at 1019 and 1021, so the file parsed cleanly and then died at run time — exactly the message you saw. setup.ps1 just reports it as SETUP FAILED because the build it calls never got past that line.

Fixed and pushed to main and develop: the block moves above the main script, no logic changed, only the order. Please pull and run setup.ps1 again. I also added a check that refuses this shape from now on, and wired it into my regression runs — I build on Linux day to day, so nothing was ever executing the Windows scripts. That's the part I should have had in place already.

One caveat: I couldn't test on real Windows, my workstation is in for maintenance. I did reproduce it properly rather than guess — PowerShell 7 runs on Linux, and with two stub compilers the original prints your exact error at line 1019 while the fixed one walks straight past it. Still not the same as a run on your machine, so please try it and let me know.

srvaldez

  • Full Member
  • ***
  • Posts: 207
Re: [UPDATE] SedaiBasic - SSA pipeline, native AOT/JIT backends, and what changed
« Reply #17 on: September 02, 2026, 05:22:50 am »
@mau.camma
the build script works, thank you

Thausand

  • Hero Member
  • *****
  • Posts: 613
Re: [UPDATE] SedaiBasic - SSA pipeline, native AOT/JIT backends, and what changed
« Reply #18 on: September 02, 2026, 10:43:53 pm »
@Thausand

Thank you for the report.
It was a real bug, and it is fixed now.

..
The fix is on develop and main (commit 706e56a). Your fpc command line is fine as it is.
Thank you mau.camma for detail write what was fault and how you make fix. It is now build ok  :)
A docile goblin always follow HERMES.md

mau.camma

  • New Member
  • *
  • Posts: 12
Re: [UPDATE] SedaiBasic - SSA pipeline, native AOT/JIT backends, and what changed
« Reply #19 on: September 04, 2026, 10:49:34 pm »
SedaiBasic2 vs. the FreeBASIC compiler's own test suite

I run my BASIC implementation against fbc's own regression suite — unmodified, at tag 1.10.1. Here is where it stands today.

The suite's -lang fb set holds 2,292 files; 38 carry no test tag and aren't tests. Of the remaining 2,254 tests, 1,334 pass — 59%.

| what the test asks                     | tests | pass |               |
|----------------------------------------|-------|------|---------------|
| must compile                           |   320 |  319 |         99.7% |
| must be rejected (with a diagnostic)   | 1,238 |  574 |         46.4% |
| must compile and run correctly         |    21 |   12 |           57% |
| every assertion must hold (unit tests) |   655 |  429 |         65.5% |
| multi-module link                      |    20 |    — | not wired yet |


The number worth reading twice is the second row: 55% of the suite is not about features at all — those tests hand the compiler an invalid program and require it to be refused, with the right exit code. That is a type checker, and it's a project of its own. Counting only the tests that ask the language to actually do something: 760 / 1,016 = 75%.

One honest caveat: fbc's harness has no percentage. make unit-tests links every unit test into a single binary that exits 0 only if every assertion of every test passes; make log-tests wants zero failures. So 59% is my own measure of partial progress, not a grade the suite hands out. (For scale: fbc itself doesn't pass its suite either — 18 files carry known-bug blocks that are switched off by default.)

Next milestones, in order: every unit-test file at least runs (73 still don't), then every assertion holds.

 

TinyPortal © 2005-2018