Commit Graph

  • 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