This website requires JavaScript.
6ef2bbcb95
lib/hash tests: hand-main plumbing -> assert (@test conversion B1)
Hojun-Cho
2026-06-10 18:52:53 +09:00
08b210d4b4
test/run: phase-2 byte-id gates run parallel; rule-14 NNN constraint retired (test-perf T3b)
Hojun-Cho
2026-06-10 17:02:28 +09:00
44c47c3ea0
ww: build intermediates follow -o output stem, not the source dir (test-perf T3a)
Hojun-Cho
2026-06-10 17:02:28 +09:00
9b99d0883f
make: content-keyed test-commit tier caches the 10 pure gates (test-perf T1)
Hojun-Cho
2026-06-10 16:10:20 +09:00
f940072623
test/run: per-test + per-phase wall-clock timing (test-perf step 0)
Hojun-Cho
2026-06-10 15:33:24 +09:00
4ff79bff0f
ww: loud fatal on unresolvable import, inline-package aware (#16 ENFORCE-driver)
Hojun-Cho
2026-06-10 15:19:10 +09:00
6f781f3d71
selfhost: drop dead 'import mem' (#16 PREP-deadimport)
Hojun-Cho
2026-06-10 15:19:10 +09:00
9f8df525c2
wcc/check: reject self-import, both stages (#16 ENFORCE-checker)
Hojun-Cho
2026-06-10 15:18:58 +09:00
49a5173f3f
wcc+ww: //ww:module-reset boundary directive; package-less files keep module "" (#16 PREP-main)
Hojun-Cho
2026-06-10 14:07:35 +09:00
2227d698c6
ww: drop wwstage peekpackage 2048-byte cap, align to cstage line-scan (#16 PREP-peek)
Hojun-Cho
2026-06-10 13:27:12 +09:00
12346c35f8
lib/test: rename dotted-self-import tests to <mod>_test (#16 PREP-a2)
Hojun-Cho
2026-06-10 13:27:12 +09:00
99e3393048
lib/test: Go external-test packages (<mod>_test); retire decimaltest (#16 PREP-a)
Hojun-Cho
2026-06-10 12:11:11 +09:00
b795c320c9
wcc: -T test-mode collects @test fns + synthesizes entry, both stages (#15 )
Hojun-Cho
2026-06-10 02:01:20 +09:00
fddd167ce8
wcc/check: A7 honest-floor tagged-subset reject closes wide→narrow miscompile (wwstage)
Hojun-Cho
2026-06-10 00:22:22 +09:00
758d3ec8c3
wcc/check: #14 nominal typeeqast (aliassym) closes A6 cross-module variant identity (wwstage)
Hojun-Cho
2026-06-09 21:27:40 +09:00
5c28c90837
wcc/cgen: loud-align static-global tagged cast-init (wwstage align to cstage)
Hojun-Cho
2026-06-09 19:08:12 +09:00
90452a8364
wcc/cgen: route same-type tagged-cast return through the widener (wwstage align to cstage)
Hojun-Cho
2026-06-09 19:07:57 +09:00
08ccb734b2
wcc/check: reject untyped-float + nil into a tagged dst with no matching variant (wwstage align to cstage)
Hojun-Cho
2026-06-09 19:07:40 +09:00
7e19d282f4
wcc/cgen: S1 loud-stop subset-cast tagged widen in let+return (wwstage align to cstage #35 )
Hojun-Cho
2026-06-09 17:32:06 +09:00
64606de8af
wcc/check: #23 reject untyped-int into nested-union variant (wwstage align to cstage)
Hojun-Cho
2026-06-09 17:31:34 +09:00
d1ac836fb9
wcc/check: #24-sib reject array-payload tagged-union construction, both stages
Hojun-Cho
2026-06-09 17:30:34 +09:00
785fe342fa
wcc/check: #24 reject composite-element tuple (array/struct/tuple), declared+inferred, both stages
Hojun-Cho
2026-06-09 17:29:11 +09:00
f1cd0a3555
wcc/cgen: #21 def-str/slice by-value arg pushes all 3 header words (wwstage)
Hojun-Cho
2026-06-09 15:33:07 +09:00
f767819b41
wcc/check: #25 reject overlong array-lit in a tuple return (wwstage)
Hojun-Cho
2026-06-09 15:01:34 +09:00
89f3e58458
wcc/check: #26 recurse over-fill walk into nested tuple element (wwstage)
Hojun-Cho
2026-06-09 15:00:03 +09:00
46e8354056
wcc/check: #6 stamp inferred-type array global so wwstage compiles it (was asserttyped exit 1)
Hojun-Cho
2026-06-09 02:59:52 +09:00
dfdf99ffd8
wcc/check: #20 reject overlong array-literal in a tuple element (wwstage)
Hojun-Cho
2026-06-09 02:34:33 +09:00
d8e2a0692c
wcc/cgen: #15 empty zero-length array emit — no spurious DATAW, cstage frame formula (wwstage)
Hojun-Cho
2026-06-09 01:57:46 +09:00
606c16a28f
wcc/cgen: #19+#22 uniform index element-size for non-ident bases (wwstage)
Hojun-Cho
2026-06-09 01:18:32 +09:00
ee8082a43b
wcc/cgen: #151 push all 3 header words for let-global slice/str by-value arg (wwstage)
Hojun-Cho
2026-06-09 00:44:44 +09:00
c10fffae16
wcc/check: #12+#106 reject overlong array-literal in return/call-arg/alias positions (wwstage)
Hojun-Cho
2026-06-09 00:17:10 +09:00
5dd239d01e
wcc/cgen: #146 wwstage str ==/!= via rt_streq, not ptr-only CMPQ (the #154 ww-twin)
Hojun-Cho
2026-06-08 23:49:16 +09:00
83025b03a6
wcc: #99 alias-of-tuple — chase TY_NAMED in tuple coercion (cstage) + param spill (wwstage)
Hojun-Cho
2026-06-08 23:12:06 +09:00
fca979470f
wcc/cgen: #52 error-first tagged-union success tag — successtag helper not hardcoded 0 (wwstage)
Hojun-Cho
2026-06-08 22:15:19 +09:00
ef6fcbfc04
wcc/cgen: #135 inferred-float module-global — default untyped_float to f64 (wwstage)
Hojun-Cho
2026-06-08 21:46:14 +09:00
ebd5b8014c
wcc/check: #150 inferred-type module-global Sym repoint (cstage, #18 )
Hojun-Cho
2026-06-08 21:07:47 +09:00
5c3764828f
wcc/cgen: #150 by-value module-global struct-arg base — load main.g(SB) all words (both stages)
Hojun-Cho
2026-06-08 20:51:01 +09:00
03fc7c7abe
wcc/check: #14 reject def-global scalar str index (silent segfault) (both stages)
Hojun-Cho
2026-06-08 20:17:05 +09:00
29a2ab2a72
wcc/check: #9 reject explicit [N]=[init] over-fill incl [0] (both stages)
Hojun-Cho
2026-06-08 19:54:29 +09:00
1aaa0a3670
wcc/cgen: #8 def str-array element load — emit + pre-intern def-twin + ww load (both stages)
Hojun-Cho
2026-06-08 18:52:55 +09:00
267e81b89e
wcc/cgen: GAP-A.ptr global-array base — LEAQ name(SB) not (BP) (#11 , both stages)
Hojun-Cho
2026-06-08 17:39:45 +09:00
1c87881bda
wcc/check: GAP-A .cap-on-array loud-reject; .ptr-on-array ratified valid (#12 )
Hojun-Cho
2026-06-08 17:22:09 +09:00
7b0e09e065
wcc/cgen: GAP-A.len def-global array .len — def-twin cgdot arm (#7 lineage, wwstage align-up)
Hojun-Cho
2026-06-08 16:19:29 +09:00
c35034df3f
lib/fmt: #6 formattable += int|uint — bare-int print, the types::numeric widen (both stages)
Hojun-Cho
2026-06-08 15:28:50 +09:00
0c5482fad0
wcc/check: #11 def [_]T length-inference — stamp the def decl path, the #7 let-twin (both stages)
Hojun-Cho
2026-06-08 14:50:03 +09:00
ba13940b96
lib/path: #153 c3 buffer-ops — abs/isroot-widen/local/parent/split/pop/peek faithful port, table-driven @test (cstage)
Hojun-Cho
2026-06-08 13:37:23 +09:00
3f6b68cbf2
wcc/cgen: #154 str==-global ident operand — name(SB) base in cbinop, not (BP) garbage (cstage)
Hojun-Cho
2026-06-08 13:18:59 +09:00
feae910a9b
wcc: #152 let-initializer scope — defer the binding's localfind link past its own init (both stages)
Hojun-Cho
2026-06-08 12:17:18 +09:00
3c7f1aa027
lib/path: #138 c3-posix dirname/basename — faithful posix.ha port, table-driven @test (cstage)
Hojun-Cho
2026-06-08 11:47:43 +09:00
16f47da916
lib/path: #138 c2-stack buffer port — buffer/push/appendnorm/appendlit/string/isroot/set + dot/dotdot, cstage @test
Hojun-Cho
2026-06-08 11:25:11 +09:00
26d6e2abad
wcc/cgen: #148 slice-global by-value call-arg — name(SB) base for global slice ident, not (BP) garbage (cstage)
Hojun-Cho
2026-06-08 10:24:48 +09:00
6e1d958d9b
wcc/cgen: #145 slice-copy-assign LHS s.arr[lo:hi]=bs — N_SLICE-LHS arm, runtime byte-copy loop, esz via type table (both stages)
Hojun-Cho
2026-06-08 09:58:22 +09:00
f1dcd4ecae
wcc/check: #141 def-dim array as struct field — fold def in dim, shared arrayelen across 3 ww readers (both stages)
Hojun-Cho
2026-06-08 01:00:29 +09:00
620e733444
wcc/cgen: #140 !void error-singleton variant as value — skip absent void payload load, emit tag-only (cstage, align up)
Hojun-Cho
2026-06-08 00:18:26 +09:00
d0a1e2a221
wcc/check: #133 const-expr scalar module-global — fold+stamp let-init like def, emit DATA (both stages)
Hojun-Cho
2026-06-07 22:57:06 +09:00
2138e28f65
wcc/cgen: #134 wwstage inferred unary-int scalar global — peel +/-/~ over int-literal, default to int (align up)
Hojun-Cho
2026-06-07 22:24:03 +09:00
74e60e89f0
wcc/cgen: #66(b-i) wwstage inferred-literal scalar global — default annotation to int, emit DATA+load (align up)
Hojun-Cho
2026-06-07 12:26:57 +09:00
2c09d13ca3
wcc/cgen: #59 append/insert struct-literal value eval-order — eval-to-scratch pre-grow + precise copy (both-stage)
Hojun-Cho
2026-06-07 12:10:38 +09:00
39432f717c
wcc/cgen: #64+#68 tuple-literal cursor-fill decl-blind — massign + call-arg widen (both-stage)
Hojun-Cho
2026-06-07 11:23:48 +09:00
abd97e6c57
lib/getopt: printusage + printhelp
Hojun-Cho
2026-06-07 06:19:13 +09:00
f3750ae3ce
lib/io: empty() stream; wcc/cgen: #129 sretretsize + #130 global tagged-field store
Hojun-Cho
2026-06-07 06:19:13 +09:00
3ae24c22b8
lib/regex: #123 POSIX character classes [:class:] — charclass_map + compile/exec arms
Hojun-Cho
2026-06-07 03:10:55 +09:00
66d69537a5
wcc/cgen: #124 cross-module &fn in a const — N_DOT reloc + checker accept (both-stage)
Hojun-Cho
2026-06-06 23:34:46 +09:00
754944a755
wcc/cgen: #121 indexed tuple-element read + literal-store round-trip (both-stage)
Hojun-Cho
2026-06-06 22:23:43 +09:00
761cfa4524
wcc/cgen: #117 pin scalar-tuple-slice row (broad-arm in-suite net)
Hojun-Cho
2026-06-06 21:13:32 +09:00
28396f012b
wcc/cgen: #117 review — cite #120 at cstage tuple arm (cs-accept/ww-reject divergence)
Hojun-Cho
2026-06-06 20:54:39 +09:00
1b4f25ac45
wcc/cgen: #119 scalar &fn global DATA via the #117 reloc helper (both-stage)
Hojun-Cho
2026-06-06 20:28:50 +09:00
942abf0482
wcc/cgen: #117 const slice-of-(str,*fn) DATA + &fn->DATAR reloc (both-stage)
Hojun-Cho
2026-06-06 20:27:43 +09:00
df1928182e
wcc/cgen: #117 prep — factor emit_tuple_row backing-relative (byte-neutral)
Hojun-Cho
2026-06-06 20:02:32 +09:00
f8be2ae8dd
wcc/cgen: #116 non-literal tuple source into a tagged box (both-stage)
Hojun-Cho
2026-06-06 19:27:28 +09:00
da30f10f70
wcc_ww/check: #47 gap-B tuple-with-tagged case-arm variant-match (align-up)
Hojun-Cho
2026-06-06 17:36:10 +09:00
6a5bb3efc9
wcc/cgen: #47 gap-A tuple-in-union tagged-element store (both-stage)
Hojun-Cho
2026-06-06 16:57:42 +09:00
351abb0ab3
wcc/cgen: #58 indexed tagged-field read+assign cursor arm (both-stage)
Hojun-Cho
2026-06-06 16:21:45 +09:00
cc896bd078
wcc_ww/cgen: #55 tagged-source arg-widen into wider tagged slot (align-up)
Hojun-Cho
2026-06-06 15:15:13 +09:00
00d9580c9f
wcc/cgen: #84 uninit [N]T array zero-fill (both-stage)
Hojun-Cho
2026-06-06 14:10:17 +09:00
5d596206c6
wcc/cgen: #94 def-array indexed &-base leg (both-stage)
Hojun-Cho
2026-06-06 13:27:24 +09:00
26ba1ad1b5
wcc_ww/cgen+peellint: #109 close #101 primsize-alias family by construction
Hojun-Cho
2026-06-06 12:57:23 +09:00
4459a49d3a
wcc/cgen: #87 plain tagged-union module-global DATA + match SB-resolution (both-stage)
Hojun-Cho
2026-06-06 11:44:28 +09:00
3546673756
wcc_ww/cgen: #63 alias-named struct-lit fill via structlookupchain (let-init + sret-return)
Hojun-Cho
2026-06-06 10:36:16 +09:00
45f5415209
wcc_ww/cgen: #101 narrow-alias fill-stride via aliasprimsize SSoT
Hojun-Cho
2026-06-06 10:04:37 +09:00
c9cfa52624
wcc/check: #103/#108 inferred untyped-int defaults to int (8B), both stages
Hojun-Cho
2026-06-06 09:23:24 +09:00
fc50a27f3e
cgen: #95 c3 reviewer-fold — is/as gate exact-only, no widening leak
Hojun-Cho
2026-06-06 08:06:37 +09:00
56aac85f6f
cgen: #95 c2 structural variant fallback — both-stage fused
Hojun-Cho
2026-06-06 07:43:39 +09:00
34c86bd681
cgen: #95 c1 chain-membership variant arm — both-stage fused
Hojun-Cho
2026-06-06 07:40:32 +09:00
329481c920
wcc_ww/check: W3 #105 nested-arrlit gate chases the alias elem type
Hojun-Cho
2026-06-06 06:54:41 +09:00
4b118fa8f8
cgen: B7 emitter elem chases + tools/peellint gate — #5 alias-arc cs side closed by construction
Hojun-Cho
2026-06-06 05:51:05 +09:00
05f7af76d1
wcc_ww/cgen: W2 #102 indexed-elem field store + &-field gates chase the alias chain
Hojun-Cho
2026-06-06 04:57:03 +09:00
0077b115fb
cgen: B6-c5 reads/len/globals family single peels fold into type_chase_named — 8 lines, B6 territory closed
Hojun-Cho
2026-06-06 04:07:11 +09:00
c136f3c0f7
cgen: B6-c4 cast/is/try family single peels fold into type_chase_named — 10 lines
Hojun-Cho
2026-06-06 04:04:49 +09:00
7a85210b13
cgen: B6-c3 addr-of/field-walk/index spine single peels fold into type_chase_named — 14 lines
Hojun-Cho
2026-06-06 04:01:24 +09:00
9659a0dfbe
cgen: B6-c2 call-arg family single peels fold into type_chase_named — 8 lines, loud-preserving
Hojun-Cho
2026-06-06 03:51:34 +09:00
1f14becdf3
cgen: B6-c1 assign/reassign family single peels fold into type_chase_named — 9 lines, cs-only
Hojun-Cho
2026-06-06 03:48:54 +09:00
4cac1cbb89
wcc_ww/cgen: W1 #100 struct-lit fill gate keys off the chased stamped tinfo
Hojun-Cho
2026-06-06 03:09:54 +09:00
837fdb4753
cgen: B5-c4 #93 deref-index pointee chase — the one spurious MOVQ, #263-polarity
Hojun-Cho
2026-06-06 02:26:29 +09:00
140755d221
cgen: B5-c3 #89 cgreturn return-position widen — rt/vu chase, trace-first
Hojun-Cho
2026-06-06 02:22:57 +09:00
e36af4fe7e
cgen: B5-c2 #73 graduation — the 6 tripwired field gates chase, tripwire deleted
Hojun-Cho
2026-06-06 02:19:39 +09:00
1cc663f494
cgen: B5-c1 helper+funnel single peels fold into type_chase_named — 19 sites, cs-only
Hojun-Cho
2026-06-06 02:15:14 +09:00
bcd948de88
wcc_ww/check: c4 #80 bare-binder forrange dealiases the iterable's type expr
Hojun-Cho
2026-06-06 00:16:07 +09:00
10d886906f
wcc_ww/check: c3 spread-member + &len/cap base walks chase the full alias chain
Hojun-Cho
2026-06-06 00:12:50 +09:00
4e174099bd
cgen: c2 variant pass-2 structural fallback chases the full NAMED chain — both stages fused
Hojun-Cho
2026-06-06 00:08:04 +09:00