FPC bootstrap no longer compiles compiler source
- Type: bug (Track A / bootstrap hygiene)
- Status: done
- Owner: —
- Found / Opened: 2026-06-27, while validating an unrelated C entry fix.
Symptom
make bootstrap fails when the system FPC compiler compiles
compiler/compiler.pas.
Observed command:
make bootstrap
First hard errors observed:
symtab.inc(979,27) Error: Identifier not found "TypeSize"
parser.inc(14065,5) Fatal: Syntax error, ";" expected but "IF" found
The normal self-host path still fixed-points byte-identically:
make compiler/pascal26
cmp /tmp/pascal26-build /tmp/pascal26-verify
Likely Cause
At least two source constructs are accepted by the self-hosted compiler but not by FPC 3.2.2:
compiler/symtab.inccallsTypeSizebefore FPC has seen a declaration for it.compiler/parser.inchas anendbefore another statement without the semicolon FPC requires.
Acceptance
make bootstrapsucceeds from the checked-in source with FPC 3.2.2.- The self-host fixedpoint remains byte-identical after the cleanup.
- Add or keep a gate that catches accidental FPC-incompatible compiler-source edits when bootstrap hygiene matters.
Resolution
- 2026-06-27 - DUP of [[bug-fpc-seed-helper-ordering-after-lua-c-frontend]] (filed same day, same two root errors:
TypeSizeforward + missing;inCompilePendingGlobalInits). Fixed there in commit 3263ec1f:forwards.inc(FPC-gated) + two statement separators.make bootstrapgreen end-to-end; self-host byte-identical. The "add a gate" acceptance item → [[feature-require-forward-strict-mode]] (the--strictumbrella).