From 688275bfd6fd362e64ac607becad45758cee2f52 Mon Sep 17 00:00:00 2001 From: Hojun-Cho Date: Tue, 2 Jun 2026 21:02:26 +0900 Subject: [PATCH] lib,wcc,w6a,w6l: char-literals for remaining source magic decimals (Wave-1) --- lib/encoding/base32/base32.ww | 4 +-- lib/os/os.ww | 4 +-- lib/path/path.ww | 4 +-- lib/strconv/strconv.ww | 2 +- lib/temp/temp.ww | 2 +- lib/ww/ast.ww | 14 +++++----- lib/ww/parse/parse.ww | 2 +- selfhost/cmd/w6a/main.combined.ww | 10 +++---- selfhost/cmd/w6a/obj.ww | 6 ++--- selfhost/cmd/w6c/main.combined.ww | 40 ++++++++++++++-------------- selfhost/cmd/w6l/main.combined.ww | 10 +++---- selfhost/cmd/w6l/out.ww | 6 ++--- selfhost/cmd/wcc/cgen.ww | 16 +++++------ selfhost/cmd/wcc/cgenutil.ww | 2 +- selfhost/cmd/ww/main.combined.ww | 4 +-- selfhost/cmd/wwdump/main.combined.ww | 40 ++++++++++++++-------------- selfhost/test/smoke.combined.ww | 6 ++--- 17 files changed, 86 insertions(+), 86 deletions(-) diff --git a/lib/encoding/base32/base32.ww b/lib/encoding/base32/base32.ww index 1e22e6d2..4e796565 100644 --- a/lib/encoding/base32/base32.ww +++ b/lib/encoding/base32/base32.ww @@ -78,7 +78,7 @@ fn encgroup(dst: []u8, j: i32, src: []u8, i: i32, n: i32, hex: bool) void = { if (n == 3) { keep = 5; }; if (n == 4) { keep = 7; }; let k: i32 = keep; - for (k < 8) { dst[j + k] = 61u8; k += 1; }; // '=' + for (k < 8) { dst[j + k] = '='; k += 1; }; }; }; @@ -136,7 +136,7 @@ fn decodeinto(dst: []u8, src: []u8, hex: bool) (i32 | invalid) = { let k: i32 = 0; for (k < 8) { let c: u8 = src[i + k]; - if (c == 61u8) { // '=' + if (c == '=') { if (i + 8 != end) { return (i + k): invalid; }; last = true; v[k] = 0u8; diff --git a/lib/os/os.ww b/lib/os/os.ww index 3d9f4744..e6360fab 100644 --- a/lib/os/os.ww +++ b/lib/os/os.ww @@ -324,7 +324,7 @@ export fn mkdirs(path: str, mode: i32) (void | oserror) = { // trigger an empty mkdir. let i: i32 = 1; for (i < n) { - if (pathbuf[i] == 47u8) { // '/' + if (pathbuf[i] == '/') { pathbuf[i] = 0u8; let r: i32 = syscall2(nr.MKDIR, (&pathbuf[0]): i64, mode: i64): i32; @@ -443,7 +443,7 @@ export fn getenv(name: str) (str | void) = { j += 1; }; if (matched) { - if (entry[name.len] == 61u8) { // '=' + if (entry[name.len] == '=') { let val: *u8 = entry + ((name.len + 1): u64); let n: i32 = 0; for (val[n] != 0u8) { n += 1; }; diff --git a/lib/path/path.ww b/lib/path/path.ww index 8e7d1867..5422e38b 100644 --- a/lib/path/path.ww +++ b/lib/path/path.ww @@ -7,7 +7,7 @@ package path; import strings; -def SEP: u8 = 47u8; // '/' +def SEP: u8 = '/'; // abs — `p` is an absolute path (starts with '/'). export fn abs(p: str) bool = { @@ -75,7 +75,7 @@ export fn extension(p: str) str = { let b: str = basename(p); let i: i32 = b.len - 1; for (i > 0) { - if (b[i] == 46u8) { // '.' + if (b[i] == '.') { let r: str; r.ptr = b.ptr + (i: u64); r.len = b.len - i; diff --git a/lib/strconv/strconv.ww b/lib/strconv/strconv.ww index c2bc48cf..04c346b7 100644 --- a/lib/strconv/strconv.ww +++ b/lib/strconv/strconv.ww @@ -129,7 +129,7 @@ let i64tos_buf: [65]u8 = [0...]; // 64 binary digits plus '-' export fn i64tos(i: i64, b: base) str = { if (i >= 0) { return u64tos(i: u64, b); }; - i64tos_buf[0] = 45u8; // '-' + i64tos_buf[0] = '-'; // `(-i): u64`: for I64_MIN, -i wraps (two's complement) back to the // I64_MIN bit pattern; reinterpreting to u64 yields the true // magnitude 9223372036854775808. ref/hare/strconv/itos.ha:25. Probed diff --git a/lib/temp/temp.ww b/lib/temp/temp.ww index 1cd53a5b..628206bf 100644 --- a/lib/temp/temp.ww +++ b/lib/temp/temp.ww @@ -144,7 +144,7 @@ fn puthex(off: i32, v: u64) i32 = { fn makenamed(dir: str) i32 = { let off: i32 = 0; off = puts(off, dir); - pathbuf[off] = 47u8; off += 1; // '/' + pathbuf[off] = '/'; off += 1; off = puts(off, "temp."); off = puthex(off, nextrand()); pathbuf[off] = 0u8; diff --git a/lib/ww/ast.ww b/lib/ww/ast.ww index 0d771241..fdd24c27 100644 --- a/lib/ww/ast.ww +++ b/lib/ww/ast.ww @@ -237,17 +237,17 @@ fn putc1(fd: i32, b: u8) void = { }; fn putq(fd: i32, s: str) void = { - putc1(fd, 34u8); // '"' + putc1(fd, '"'); let i: i32 = 0; for (i < s.len) { let c: u8 = s[i]; - if (c == 34u8) { // '"' + if (c == '"') { os.write(fd, "\\\"".ptr, 2u64); - } else { if (c == 92u8) { // '\\' + } else { if (c == '\\') { os.write(fd, "\\\\".ptr, 2u64); - } else { if (c == 10u8) { // '\n' + } else { if (c == '\n') { os.write(fd, "\\n".ptr, 2u64); - } else { if (c == 9u8) { // '\t' + } else { if (c == '\t') { os.write(fd, "\\t".ptr, 2u64); } else { if (c < 32u8) { let hi: u8 = c >> 4u8; @@ -285,7 +285,7 @@ fn pr(fd: i32, n: *node, d: i32) void = { return; }; ind(fd, d); - putc1(fd, 40u8); // '(' + putc1(fd, '('); let nm: str = nkname(n.kind); os.write(fd, nm.ptr, nm.len: u64); @@ -340,7 +340,7 @@ fn pr(fd: i32, n: *node, d: i32) void = { if (n.kind == nkind.N_TYPEDECL) { if (n.exported != 0) { os.write(fd, " export".ptr, 7u64); }; }; - putc1(fd, 10u8); // '\n' + putc1(fd, '\n'); if (n.attr != nil) { ind(fd, d + 1); diff --git a/lib/ww/parse/parse.ww b/lib/ww/parse/parse.ww index 8b038511..79c154dd 100644 --- a/lib/ww/parse/parse.ww +++ b/lib/ww/parse/parse.ww @@ -126,7 +126,7 @@ fn joindotted(head: str, tail: str) str = { let i: u64 = 0u64; let j: i32 = 0; for (j < head.len) { buf[i] = head[j]; i += 1u64; j += 1; }; - buf[i] = 46u8; // '.' + buf[i] = '.'; i += 1u64; j = 0; for (j < tail.len) { buf[i] = tail[j]; i += 1u64; j += 1; }; diff --git a/selfhost/cmd/w6a/main.combined.ww b/selfhost/cmd/w6a/main.combined.ww index 461a521c..bdc12b93 100644 --- a/selfhost/cmd/w6a/main.combined.ww +++ b/selfhost/cmd/w6a/main.combined.ww @@ -422,7 +422,7 @@ export fn mkdirs(path: str, mode: i32) (void | oserror) = { // trigger an empty mkdir. let i: i32 = 1; for (i < n) { - if (pathbuf[i] == 47u8) { // '/' + if (pathbuf[i] == '/') { pathbuf[i] = 0u8; let r: i32 = syscall2(nr.MKDIR, (&pathbuf[0]): i64, mode: i64): i32; @@ -541,7 +541,7 @@ export fn getenv(name: str) (str | void) = { j += 1; }; if (matched) { - if (entry[name.len] == 61u8) { // '=' + if (entry[name.len] == '=') { let val: *u8 = entry + ((name.len + 1): u64); let n: i32 = 0; for (val[n] != 0u8) { n += 1; }; @@ -4842,9 +4842,9 @@ export fn emitelf(a: *asm_, fd: i32) i32 = { let i: i32 = 0; for (i < 64) { eh[i] = 0u8; i += 1; }; eh[0] = 127u8; // 0x7f - eh[1] = 69u8; // 'E' - eh[2] = 76u8; // 'L' - eh[3] = 70u8; // 'F' + eh[1] = 'E'; + eh[2] = 'L'; + eh[3] = 'F'; eh[4] = ELFCLASS64; eh[5] = ELFDATA2LSB; eh[6] = EV_CURRENT_W: u8; diff --git a/selfhost/cmd/w6a/obj.ww b/selfhost/cmd/w6a/obj.ww index bb014b2d..61afd2a0 100644 --- a/selfhost/cmd/w6a/obj.ww +++ b/selfhost/cmd/w6a/obj.ww @@ -263,9 +263,9 @@ export fn emitelf(a: *asm_, fd: i32) i32 = { let i: i32 = 0; for (i < 64) { eh[i] = 0u8; i += 1; }; eh[0] = 127u8; // 0x7f - eh[1] = 69u8; // 'E' - eh[2] = 76u8; // 'L' - eh[3] = 70u8; // 'F' + eh[1] = 'E'; + eh[2] = 'L'; + eh[3] = 'F'; eh[4] = ELFCLASS64; eh[5] = ELFDATA2LSB; eh[6] = EV_CURRENT_W: u8; diff --git a/selfhost/cmd/w6c/main.combined.ww b/selfhost/cmd/w6c/main.combined.ww index e3e43010..54e03110 100644 --- a/selfhost/cmd/w6c/main.combined.ww +++ b/selfhost/cmd/w6c/main.combined.ww @@ -422,7 +422,7 @@ export fn mkdirs(path: str, mode: i32) (void | oserror) = { // trigger an empty mkdir. let i: i32 = 1; for (i < n) { - if (pathbuf[i] == 47u8) { // '/' + if (pathbuf[i] == '/') { pathbuf[i] = 0u8; let r: i32 = syscall2(nr.MKDIR, (&pathbuf[0]): i64, mode: i64): i32; @@ -541,7 +541,7 @@ export fn getenv(name: str) (str | void) = { j += 1; }; if (matched) { - if (entry[name.len] == 61u8) { // '=' + if (entry[name.len] == '=') { let val: *u8 = entry + ((name.len + 1): u64); let n: i32 = 0; for (val[n] != 0u8) { n += 1; }; @@ -6088,7 +6088,7 @@ let i64tos_buf: [65]u8 = [0...]; // 64 binary digits plus '-' export fn i64tos(i: i64, b: base) str = { if (i >= 0) { return u64tos(i: u64, b); }; - i64tos_buf[0] = 45u8; // '-' + i64tos_buf[0] = '-'; // `(-i): u64`: for I64_MIN, -i wraps (two's complement) back to the // I64_MIN bit pattern; reinterpreting to u64 yields the true // magnitude 9223372036854775808. ref/hare/strconv/itos.ha:25. Probed @@ -7854,17 +7854,17 @@ fn putc1(fd: i32, b: u8) void = { }; fn putq(fd: i32, s: str) void = { - putc1(fd, 34u8); // '"' + putc1(fd, '"'); let i: i32 = 0; for (i < s.len) { let c: u8 = s[i]; - if (c == 34u8) { // '"' + if (c == '"') { os.write(fd, "\\\"".ptr, 2u64); - } else { if (c == 92u8) { // '\\' + } else { if (c == '\\') { os.write(fd, "\\\\".ptr, 2u64); - } else { if (c == 10u8) { // '\n' + } else { if (c == '\n') { os.write(fd, "\\n".ptr, 2u64); - } else { if (c == 9u8) { // '\t' + } else { if (c == '\t') { os.write(fd, "\\t".ptr, 2u64); } else { if (c < 32u8) { let hi: u8 = c >> 4u8; @@ -7902,7 +7902,7 @@ fn pr(fd: i32, n: *node, d: i32) void = { return; }; ind(fd, d); - putc1(fd, 40u8); // '(' + putc1(fd, '('); let nm: str = nkname(n.kind); os.write(fd, nm.ptr, nm.len: u64); @@ -7957,7 +7957,7 @@ fn pr(fd: i32, n: *node, d: i32) void = { if (n.kind == nkind.N_TYPEDECL) { if (n.exported != 0) { os.write(fd, " export".ptr, 7u64); }; }; - putc1(fd, 10u8); // '\n' + putc1(fd, '\n'); if (n.attr != nil) { ind(fd, d + 1); @@ -8769,7 +8769,7 @@ fn joindotted(head: str, tail: str) str = { let i: u64 = 0u64; let j: i32 = 0; for (j < head.len) { buf[i] = head[j]; i += 1u64; j += 1; }; - buf[i] = 46u8; // '.' + buf[i] = '.'; i += 1u64; j = 0; for (j < tail.len) { buf[i] = tail[j]; i += 1u64; j += 1; }; @@ -17109,7 +17109,7 @@ fn structlookup(c: *cgen, name: str) *structinfo = { // prevents same-leaf structs in two modules from collapsing. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; @@ -31820,7 +31820,7 @@ fn aliaslookup(c: *cgen, name: str) *node = { // collapsing into whichever entry appears first in the chain. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; @@ -32008,7 +32008,7 @@ fn enumlookup(c: *cgen, name: str) *enumtype = { // same-leaf enums in two modules from collapsing. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; @@ -32318,7 +32318,7 @@ fn localadd(c: *cgen, name: str, sz: i32, tnode: *node) i32 = { // cg_tagscr / cg_retscr / cg_sretscr same-fn caches in // cmd/w6c/cgen.c (#26 / #15). if (name.len > 0) { - if (name[0] == 64u8) { // '@' + if (name[0] == '@') { let asz: i32 = sz; if (asz < 8) { asz = 8; }; if ((asz & 7) != 0) { asz = (asz + 7) & ~7; }; @@ -32506,20 +32506,20 @@ fn mklabel(c: *cgen, prefix: str) str = { buf[i] = mname[j]; i += 1; j += 1; }; - if (mname.len > 0) { buf[i] = 46u8; i += 1; }; // '.' + if (mname.len > 0) { buf[i] = '.'; i += 1; }; let fname: str = c.fnname; j = 0; for (j < fname.len) { buf[i] = fname[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; j = 0; for (j < prefix.len) { buf[i] = prefix[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; let ns: str = strconv.i64tos(c.labelseq: i64, strconv.base.DEC); let n: i32 = ns.len; let dk: i32 = 0; @@ -32552,13 +32552,13 @@ fn emitlabel(s: str) void = { fn mkscratchname(c: *cgen, prefix: str) str = { let buf: [128]u8; let i: i32 = 0; - buf[i] = 46u8; i += 1; // '.' + buf[i] = '.'; i += 1; let j: i32 = 0; for (j < prefix.len) { buf[i] = prefix[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; let ns: str = strconv.i64tos(c.labelseq: i64, strconv.base.DEC); let n: i32 = ns.len; let dk: i32 = 0; diff --git a/selfhost/cmd/w6l/main.combined.ww b/selfhost/cmd/w6l/main.combined.ww index 866819da..43656863 100644 --- a/selfhost/cmd/w6l/main.combined.ww +++ b/selfhost/cmd/w6l/main.combined.ww @@ -422,7 +422,7 @@ export fn mkdirs(path: str, mode: i32) (void | oserror) = { // trigger an empty mkdir. let i: i32 = 1; for (i < n) { - if (pathbuf[i] == 47u8) { // '/' + if (pathbuf[i] == '/') { pathbuf[i] = 0u8; let r: i32 = syscall2(nr.MKDIR, (&pathbuf[0]): i64, mode: i64): i32; @@ -541,7 +541,7 @@ export fn getenv(name: str) (str | void) = { j += 1; }; if (matched) { - if (entry[name.len] == 61u8) { // '=' + if (entry[name.len] == '=') { let val: *u8 = entry + ((name.len + 1): u64); let n: i32 = 0; for (val[n] != 0u8) { n += 1; }; @@ -4955,9 +4955,9 @@ export fn emitelf(l: *lnk, fd: i32, base: u64, entry: u64) i32 = { // --- Ehdr (64 bytes) --- hdr[0u64] = 127u8; // 0x7f - hdr[1u64] = 69u8; // 'E' - hdr[2u64] = 76u8; // 'L' - hdr[3u64] = 70u8; // 'F' + hdr[1u64] = 'E'; + hdr[2u64] = 'L'; + hdr[3u64] = 'F'; hdr[4u64] = ELFCLASS64; hdr[5u64] = ELFDATA2LSB; hdr[6u64] = EV_CURRENT: u8; diff --git a/selfhost/cmd/w6l/out.ww b/selfhost/cmd/w6l/out.ww index aeb297af..8cf8b3da 100644 --- a/selfhost/cmd/w6l/out.ww +++ b/selfhost/cmd/w6l/out.ww @@ -94,9 +94,9 @@ export fn emitelf(l: *lnk, fd: i32, base: u64, entry: u64) i32 = { // --- Ehdr (64 bytes) --- hdr[0u64] = 127u8; // 0x7f - hdr[1u64] = 69u8; // 'E' - hdr[2u64] = 76u8; // 'L' - hdr[3u64] = 70u8; // 'F' + hdr[1u64] = 'E'; + hdr[2u64] = 'L'; + hdr[3u64] = 'F'; hdr[4u64] = ELFCLASS64; hdr[5u64] = ELFDATA2LSB; hdr[6u64] = EV_CURRENT: u8; diff --git a/selfhost/cmd/wcc/cgen.ww b/selfhost/cmd/wcc/cgen.ww index b679bdb3..d9614d9b 100644 --- a/selfhost/cmd/wcc/cgen.ww +++ b/selfhost/cmd/wcc/cgen.ww @@ -115,7 +115,7 @@ fn aliaslookup(c: *cgen, name: str) *node = { // collapsing into whichever entry appears first in the chain. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; @@ -303,7 +303,7 @@ fn enumlookup(c: *cgen, name: str) *enumtype = { // same-leaf enums in two modules from collapsing. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; @@ -613,7 +613,7 @@ fn localadd(c: *cgen, name: str, sz: i32, tnode: *node) i32 = { // cg_tagscr / cg_retscr / cg_sretscr same-fn caches in // cmd/w6c/cgen.c (#26 / #15). if (name.len > 0) { - if (name[0] == 64u8) { // '@' + if (name[0] == '@') { let asz: i32 = sz; if (asz < 8) { asz = 8; }; if ((asz & 7) != 0) { asz = (asz + 7) & ~7; }; @@ -801,20 +801,20 @@ fn mklabel(c: *cgen, prefix: str) str = { buf[i] = mname[j]; i += 1; j += 1; }; - if (mname.len > 0) { buf[i] = 46u8; i += 1; }; // '.' + if (mname.len > 0) { buf[i] = '.'; i += 1; }; let fname: str = c.fnname; j = 0; for (j < fname.len) { buf[i] = fname[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; j = 0; for (j < prefix.len) { buf[i] = prefix[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; let ns: str = strconv.i64tos(c.labelseq: i64, strconv.base.DEC); let n: i32 = ns.len; let dk: i32 = 0; @@ -847,13 +847,13 @@ fn emitlabel(s: str) void = { fn mkscratchname(c: *cgen, prefix: str) str = { let buf: [128]u8; let i: i32 = 0; - buf[i] = 46u8; i += 1; // '.' + buf[i] = '.'; i += 1; let j: i32 = 0; for (j < prefix.len) { buf[i] = prefix[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; let ns: str = strconv.i64tos(c.labelseq: i64, strconv.base.DEC); let n: i32 = ns.len; let dk: i32 = 0; diff --git a/selfhost/cmd/wcc/cgenutil.ww b/selfhost/cmd/wcc/cgenutil.ww index 21619605..2d9f9370 100644 --- a/selfhost/cmd/wcc/cgenutil.ww +++ b/selfhost/cmd/wcc/cgenutil.ww @@ -1495,7 +1495,7 @@ fn structlookup(c: *cgen, name: str) *structinfo = { // prevents same-leaf structs in two modules from collapsing. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; diff --git a/selfhost/cmd/ww/main.combined.ww b/selfhost/cmd/ww/main.combined.ww index 941c6cc5..12b83b62 100644 --- a/selfhost/cmd/ww/main.combined.ww +++ b/selfhost/cmd/ww/main.combined.ww @@ -422,7 +422,7 @@ export fn mkdirs(path: str, mode: i32) (void | oserror) = { // trigger an empty mkdir. let i: i32 = 1; for (i < n) { - if (pathbuf[i] == 47u8) { // '/' + if (pathbuf[i] == '/') { pathbuf[i] = 0u8; let r: i32 = syscall2(nr.MKDIR, (&pathbuf[0]): i64, mode: i64): i32; @@ -541,7 +541,7 @@ export fn getenv(name: str) (str | void) = { j += 1; }; if (matched) { - if (entry[name.len] == 61u8) { // '=' + if (entry[name.len] == '=') { let val: *u8 = entry + ((name.len + 1): u64); let n: i32 = 0; for (val[n] != 0u8) { n += 1; }; diff --git a/selfhost/cmd/wwdump/main.combined.ww b/selfhost/cmd/wwdump/main.combined.ww index c1ae3580..e5ffde99 100644 --- a/selfhost/cmd/wwdump/main.combined.ww +++ b/selfhost/cmd/wwdump/main.combined.ww @@ -422,7 +422,7 @@ export fn mkdirs(path: str, mode: i32) (void | oserror) = { // trigger an empty mkdir. let i: i32 = 1; for (i < n) { - if (pathbuf[i] == 47u8) { // '/' + if (pathbuf[i] == '/') { pathbuf[i] = 0u8; let r: i32 = syscall2(nr.MKDIR, (&pathbuf[0]): i64, mode: i64): i32; @@ -541,7 +541,7 @@ export fn getenv(name: str) (str | void) = { j += 1; }; if (matched) { - if (entry[name.len] == 61u8) { // '=' + if (entry[name.len] == '=') { let val: *u8 = entry + ((name.len + 1): u64); let n: i32 = 0; for (val[n] != 0u8) { n += 1; }; @@ -6088,7 +6088,7 @@ let i64tos_buf: [65]u8 = [0...]; // 64 binary digits plus '-' export fn i64tos(i: i64, b: base) str = { if (i >= 0) { return u64tos(i: u64, b); }; - i64tos_buf[0] = 45u8; // '-' + i64tos_buf[0] = '-'; // `(-i): u64`: for I64_MIN, -i wraps (two's complement) back to the // I64_MIN bit pattern; reinterpreting to u64 yields the true // magnitude 9223372036854775808. ref/hare/strconv/itos.ha:25. Probed @@ -7854,17 +7854,17 @@ fn putc1(fd: i32, b: u8) void = { }; fn putq(fd: i32, s: str) void = { - putc1(fd, 34u8); // '"' + putc1(fd, '"'); let i: i32 = 0; for (i < s.len) { let c: u8 = s[i]; - if (c == 34u8) { // '"' + if (c == '"') { os.write(fd, "\\\"".ptr, 2u64); - } else { if (c == 92u8) { // '\\' + } else { if (c == '\\') { os.write(fd, "\\\\".ptr, 2u64); - } else { if (c == 10u8) { // '\n' + } else { if (c == '\n') { os.write(fd, "\\n".ptr, 2u64); - } else { if (c == 9u8) { // '\t' + } else { if (c == '\t') { os.write(fd, "\\t".ptr, 2u64); } else { if (c < 32u8) { let hi: u8 = c >> 4u8; @@ -7902,7 +7902,7 @@ fn pr(fd: i32, n: *node, d: i32) void = { return; }; ind(fd, d); - putc1(fd, 40u8); // '(' + putc1(fd, '('); let nm: str = nkname(n.kind); os.write(fd, nm.ptr, nm.len: u64); @@ -7957,7 +7957,7 @@ fn pr(fd: i32, n: *node, d: i32) void = { if (n.kind == nkind.N_TYPEDECL) { if (n.exported != 0) { os.write(fd, " export".ptr, 7u64); }; }; - putc1(fd, 10u8); // '\n' + putc1(fd, '\n'); if (n.attr != nil) { ind(fd, d + 1); @@ -8769,7 +8769,7 @@ fn joindotted(head: str, tail: str) str = { let i: u64 = 0u64; let j: i32 = 0; for (j < head.len) { buf[i] = head[j]; i += 1u64; j += 1; }; - buf[i] = 46u8; // '.' + buf[i] = '.'; i += 1u64; j = 0; for (j < tail.len) { buf[i] = tail[j]; i += 1u64; j += 1; }; @@ -17109,7 +17109,7 @@ fn structlookup(c: *cgen, name: str) *structinfo = { // prevents same-leaf structs in two modules from collapsing. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; @@ -31820,7 +31820,7 @@ fn aliaslookup(c: *cgen, name: str) *node = { // collapsing into whichever entry appears first in the chain. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; @@ -32008,7 +32008,7 @@ fn enumlookup(c: *cgen, name: str) *enumtype = { // same-leaf enums in two modules from collapsing. let i: i32 = name.len - 1; for (i >= 0) { - if (name[i] == 46u8) { // '.' + if (name[i] == '.') { let pkg: str; pkg.ptr = name.ptr; pkg.len = i; @@ -32318,7 +32318,7 @@ fn localadd(c: *cgen, name: str, sz: i32, tnode: *node) i32 = { // cg_tagscr / cg_retscr / cg_sretscr same-fn caches in // cmd/w6c/cgen.c (#26 / #15). if (name.len > 0) { - if (name[0] == 64u8) { // '@' + if (name[0] == '@') { let asz: i32 = sz; if (asz < 8) { asz = 8; }; if ((asz & 7) != 0) { asz = (asz + 7) & ~7; }; @@ -32506,20 +32506,20 @@ fn mklabel(c: *cgen, prefix: str) str = { buf[i] = mname[j]; i += 1; j += 1; }; - if (mname.len > 0) { buf[i] = 46u8; i += 1; }; // '.' + if (mname.len > 0) { buf[i] = '.'; i += 1; }; let fname: str = c.fnname; j = 0; for (j < fname.len) { buf[i] = fname[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; j = 0; for (j < prefix.len) { buf[i] = prefix[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; let ns: str = strconv.i64tos(c.labelseq: i64, strconv.base.DEC); let n: i32 = ns.len; let dk: i32 = 0; @@ -32552,13 +32552,13 @@ fn emitlabel(s: str) void = { fn mkscratchname(c: *cgen, prefix: str) str = { let buf: [128]u8; let i: i32 = 0; - buf[i] = 46u8; i += 1; // '.' + buf[i] = '.'; i += 1; let j: i32 = 0; for (j < prefix.len) { buf[i] = prefix[j]; i += 1; j += 1; }; - buf[i] = 95u8; i += 1; // '_' + buf[i] = '_'; i += 1; let ns: str = strconv.i64tos(c.labelseq: i64, strconv.base.DEC); let n: i32 = ns.len; let dk: i32 = 0; diff --git a/selfhost/test/smoke.combined.ww b/selfhost/test/smoke.combined.ww index 1d0e2687..54419c8b 100644 --- a/selfhost/test/smoke.combined.ww +++ b/selfhost/test/smoke.combined.ww @@ -422,7 +422,7 @@ export fn mkdirs(path: str, mode: i32) (void | oserror) = { // trigger an empty mkdir. let i: i32 = 1; for (i < n) { - if (pathbuf[i] == 47u8) { // '/' + if (pathbuf[i] == '/') { pathbuf[i] = 0u8; let r: i32 = syscall2(nr.MKDIR, (&pathbuf[0]): i64, mode: i64): i32; @@ -541,7 +541,7 @@ export fn getenv(name: str) (str | void) = { j += 1; }; if (matched) { - if (entry[name.len] == 61u8) { // '=' + if (entry[name.len] == '=') { let val: *u8 = entry + ((name.len + 1): u64); let n: i32 = 0; for (val[n] != 0u8) { n += 1; }; @@ -6088,7 +6088,7 @@ let i64tos_buf: [65]u8 = [0...]; // 64 binary digits plus '-' export fn i64tos(i: i64, b: base) str = { if (i >= 0) { return u64tos(i: u64, b); }; - i64tos_buf[0] = 45u8; // '-' + i64tos_buf[0] = '-'; // `(-i): u64`: for I64_MIN, -i wraps (two's complement) back to the // I64_MIN bit pattern; reinterpreting to u64 yields the true // magnitude 9223372036854775808. ref/hare/strconv/itos.ha:25. Probed