lib,wcc,w6a,w6l: char-literals for remaining source magic decimals (Wave-1)
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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; };
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user