Commit 92ec470
committed
docs: W25 spec §5.3 PASS empirical result + §7 void*-handle drift caveat
§5.3 Signature-drift reproducer:
- Empirical PASS end-to-end recorded (PRE-STEP-B BUILD_EXIT=0 + POST-STEP-B
BUILD_EXIT=2 with 6 compile errors at licm_c.c + pass_output_type_c.c +
simplify_c.c expected sites)
- Acceptance per spec §5 satisfied for struct-typed handle args
- Caveat: PASS is for HirBasicBlock*/HirCFG* args ONLY; void*-aliased
handles (HirInstr/HirRegister/HirFunction) still drift-prone
§7 What this does NOT solve — expanded per pythia python#83:
- HirInstr/HirRegister/HirFunction void* aliases — drift remains possible
for these handle types because type-checker can't distinguish void* from
void*. W25b promotion to canonical struct pointers required to close.
- Function-scoped extern decls — ^extern lint pattern (line-anchored)
misses indented intra-function externs. Caught empirically in B-5
(2 hir_bb_* externs surfaced via compile error not lint). Step C lint
pattern revision proposed.1 parent ad9d610 commit 92ec470
1 file changed
Lines changed: 509 additions & 0 deletions
0 commit comments