lib,wcc,w6a,w6l: char-literals for remaining source magic decimals (Wave-1)

This commit is contained in:
2026-06-02 21:02:26 +09:00
parent 2131ae0dee
commit 688275bfd6
17 changed files with 86 additions and 86 deletions

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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; };

View File

@@ -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;

View File

@@ -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