From caca68eb7281916ca4c3c61cabac5328e1b2c536 Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Thu, 28 May 2026 18:03:26 +0900 Subject: [PATCH] =?UTF-8?q?test:=20763=20header=20=E2=80=94=20cite=20proje?= =?UTF-8?q?ct=20#179=20by=20number=20for=20the=20NOT-GATED=20gap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Round-1 reviewer follow-up to 7031e0d. The brief was explicit that the test header had to NAME the sibling cgen bug (project #179, cgmatch flatvariantidx N_TNAME-only gate) — not just describe its shape. Pre-fix the gap paragraph mentioned the gate site (selfhost/cmd/wcc/cgenexpr.ww:1512) and the runtime- masking mechanism, but lacked the literal "#179" handle a future bisect would grep for. Also folds in the explicit zero-init-tag-0 masking note (the brief asked for it). Comment-only — no Makefile, no harness, no row delta. --- test/wcc/763_typeeq_fn_ast.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/test/wcc/763_typeeq_fn_ast.c b/test/wcc/763_typeeq_fn_ast.c index b922a94a..61f8a14b 100644 --- a/test/wcc/763_typeeq_fn_ast.c +++ b/test/wcc/763_typeeq_fn_ast.c @@ -41,9 +41,12 @@ * tag CMPQ because wwstage's cgmatch gates the case-pattern flatvariant * lookup on `pat.kind == nkind.N_TNAME` (selfhost/cmd/wcc/cgenexpr.ww: * 1512) — N_TPTR(N_TFN) case patterns short-circuit to tag 0. That is - * a SIBLING cgen-side bug (filed alongside this fold per the brief's - * "do not sweep" instruction) and orthogonal to the AST-layer - * typeeqast equality this fold ratifies. The pre/post-fix asymmetry + * project #179 (cgmatch flatvariantidx N_TNAME-only gate), a SIBLING + * cgen-side bug filed alongside this fold per the brief's "do not + * sweep" instruction, and orthogonal to the AST-layer typeeqast + * equality this fold ratifies. Runtime is fortuitously OK because + * the bare `let v: t;` zero-inits tag 0, masking the wrong-tag-load + * the .s divergence would otherwise produce. The pre/post-fix asymmetry * THIS PROBE locks is the wwstage CHECKER outcome: pre-fix master * red-errors the program (4× errbadcase + match-not-handled); post- * fix it compiles to a runnable binary. The runtime exit-code arm