diff --git a/selfhost/cmd/w6c/main.combined.ww b/selfhost/cmd/w6c/main.combined.ww index 1b55e310..1b4161cb 100644 --- a/selfhost/cmd/w6c/main.combined.ww +++ b/selfhost/cmd/w6c/main.combined.ww @@ -11392,11 +11392,10 @@ fn fieldsize(c: *cgen, tnode: *node) i32 = { }; fn registerstruct(c: *cgen, name: str, srcmod: str, tstruct: *node) void = { - let si: *structinfo = amalloc(c.a, 80u64): *structinfo; - si.sname = name; - si.smod = srcmod; - si.fields = nil; - si.totsize = 0; + let si: *structinfo = alloc(structinfo{ + sname = name, + smod = srcmod, + })!; let head: *fieldinfo = nil; let tail: *fieldinfo = nil; let off: i32 = 0; @@ -11414,11 +11413,12 @@ fn registerstruct(c: *cgen, name: str, srcmod: str, tstruct: *node) void = { if ((off & (aln - 1)) != 0) { off = (off + aln - 1) & ~(aln - 1); }; - let fi: *fieldinfo = amalloc(c.a, 48u64): *fieldinfo; - fi.fname = f.str; - fi.foff = off; - fi.fsz = sz; - fi.tnode = f.lhs; + let fi: *fieldinfo = alloc(fieldinfo{ + fname = f.str, + foff = off, + fsz = sz, + tnode = f.lhs, + })!; if (head == nil) { head = fi; tail = fi; } else { tail.finext = fi; tail = fi; }; off += sz; diff --git a/selfhost/cmd/wcc/cgenutil.ww b/selfhost/cmd/wcc/cgenutil.ww index 2ed8fa93..63e85775 100644 --- a/selfhost/cmd/wcc/cgenutil.ww +++ b/selfhost/cmd/wcc/cgenutil.ww @@ -2181,11 +2181,10 @@ fn fieldsize(c: *cgen, tnode: *node) i32 = { }; fn registerstruct(c: *cgen, name: str, srcmod: str, tstruct: *node) void = { - let si: *structinfo = amalloc(c.a, 80u64): *structinfo; - si.sname = name; - si.smod = srcmod; - si.fields = nil; - si.totsize = 0; + let si: *structinfo = alloc(structinfo{ + sname = name, + smod = srcmod, + })!; let head: *fieldinfo = nil; let tail: *fieldinfo = nil; let off: i32 = 0; @@ -2203,11 +2202,12 @@ fn registerstruct(c: *cgen, name: str, srcmod: str, tstruct: *node) void = { if ((off & (aln - 1)) != 0) { off = (off + aln - 1) & ~(aln - 1); }; - let fi: *fieldinfo = amalloc(c.a, 48u64): *fieldinfo; - fi.fname = f.str; - fi.foff = off; - fi.fsz = sz; - fi.tnode = f.lhs; + let fi: *fieldinfo = alloc(fieldinfo{ + fname = f.str, + foff = off, + fsz = sz, + tnode = f.lhs, + })!; if (head == nil) { head = fi; tail = fi; } else { tail.finext = fi; tail = fi; }; off += sz; diff --git a/selfhost/cmd/wwdump/main.combined.ww b/selfhost/cmd/wwdump/main.combined.ww index e83c0d98..a80a57e8 100644 --- a/selfhost/cmd/wwdump/main.combined.ww +++ b/selfhost/cmd/wwdump/main.combined.ww @@ -11392,11 +11392,10 @@ fn fieldsize(c: *cgen, tnode: *node) i32 = { }; fn registerstruct(c: *cgen, name: str, srcmod: str, tstruct: *node) void = { - let si: *structinfo = amalloc(c.a, 80u64): *structinfo; - si.sname = name; - si.smod = srcmod; - si.fields = nil; - si.totsize = 0; + let si: *structinfo = alloc(structinfo{ + sname = name, + smod = srcmod, + })!; let head: *fieldinfo = nil; let tail: *fieldinfo = nil; let off: i32 = 0; @@ -11414,11 +11413,12 @@ fn registerstruct(c: *cgen, name: str, srcmod: str, tstruct: *node) void = { if ((off & (aln - 1)) != 0) { off = (off + aln - 1) & ~(aln - 1); }; - let fi: *fieldinfo = amalloc(c.a, 48u64): *fieldinfo; - fi.fname = f.str; - fi.foff = off; - fi.fsz = sz; - fi.tnode = f.lhs; + let fi: *fieldinfo = alloc(fieldinfo{ + fname = f.str, + foff = off, + fsz = sz, + tnode = f.lhs, + })!; if (head == nil) { head = fi; tail = fi; } else { tail.finext = fi; tail = fi; }; off += sz;