Commit graph

3 commits

Author SHA1 Message Date
Graeme Geldenhuys c9dde987f0 vendor: update QBE from v1.2 to v1.3
QBE 1.3 (released 2026-06-01) adds Windows AMD64 ABI support
(amd64_win target), improved PIC via extern symbol constants,
GVN/GCM optimisation passes, if-conversion, and various
correctness and performance fixes.

All 2293 compiler tests pass against the new QBE binary.
2026-06-02 16:54:51 +01:00
Graeme Geldenhuys 543fec1a90 fix(rebased): resolve conflicts and make bcl.testing compile under Blaise
- Move RTL unitPath from <build> to <test> section in project.xml —
  FPC picks up Blaise's system.pas when RTL is on the build path
- Guard IR caching code (TSearchRec/FindFirst) with { FPC} —
  Blaise doesn't support these SysUtils types
- Add LineEnding constant under { FPC} in bcl.testing for
  Blaise-compiled test units
- Replace empty array literal [] with 3-arg CompileAndRun overload
- Migrate cp.test.tokenkindname from fpcunit to bcl.testing; replace
  Format/Low/High with Blaise-compatible alternatives
- Increase QBE NString from 80 to 160 — method names like
  TInterfaceTests_TestSemantic_ClassWithInterfaceAsFirstParent_
  InheritsFromTObject exceed the old limit
2026-05-12 19:28:11 +01:00
Graeme Geldenhuys 25de8be212 Fix compilation errors; vendor QBE 1.2; end-to-end Hello World works
Fix TProgram.Uses reserved-word clash (renamed to UsedUnits), nested
brace-comment in uParser.pas, and missing uAST in Blaise.pas uses clause.

Vendor QBE 1.2 source in vendor/qbe/ (built locally with make; binary
excluded via .gitignore). End-to-end pipeline confirmed: Blaise compiles
Hello World and Calc (6*7=42) to native x86_64 Linux binaries.

71/71 FPCUnit tests passing.
2026-04-20 16:38:57 +01:00