commit 30bb17b6474bda34fc8ca30a56842091749835a6
parent 9bab1cf982e1112a7d12ba6e272ca17a7319923e
Author: erai <erai@omiltem.net>
Date: Wed, 9 Apr 2025 21:02:25 -0400
bootstrap
Diffstat:
M | cc0.c | | | 238 | ++++++++++++++++++++++++++++++++++++++++--------------------------------------- |
1 file changed, 120 insertions(+), 118 deletions(-)
diff --git a/cc0.c b/cc0.c
@@ -4588,11 +4588,10 @@ u zdie(u vmsg) {
v17;
return 0UL;
}
-u zdolex(u va, u vname) {
+u zdolex(u va, u vname, u vout) {
u vl = 0;
u vfd = 0;
u vtok = 0;
- u v5 = 0;
u v6 = 0;
u v7 = 0;
u v8 = 0;
@@ -4634,66 +4633,67 @@ u zdolex(u va, u vname) {
u v44 = 0;
u v45 = 0;
u v46 = 0;
- v5 = (u)zsetup_lex;
- v6 = va;
- v7 = ((u(*)())v5)(v6);
- vl = v7;
- v8 = (u)zopen;
- v9 = vname;
- v10 = 0UL;
+ u v47 = 0;
+ v6 = (u)zsetup_lex;
+ v7 = va;
+ v8 = ((u(*)())v6)(v7);
+ vl = v8;
+ v9 = (u)zopen;
+ v10 = vname;
v11 = 0UL;
- v12 = ((u(*)())v8)(v9, v10, v11);
- vfd = v12;
+ v12 = 0UL;
+ v13 = ((u(*)())v9)(v10, v11, v12);
+ vfd = v13;
if ((s)vfd >= (s)0UL) goto b5;
- v13 = (u)zdie;
- v14 = (u)"open failed";
- v15 = ((u(*)())v13)(v14);
- v15;
-b3: v16 = (u)zopen_lex;
- v17 = vl;
- v18 = vfd;
- v19 = ((u(*)())v16)(v17, v18);
- v19;
-b8: v20 = (u)zgettok;
- v21 = vl;
- v22 = ((u(*)())v20)(v21);
- vtok = v22;
+ v14 = (u)zdie;
+ v15 = (u)"open failed";
+ v16 = ((u(*)())v14)(v15);
+ v16;
+b3: v17 = (u)zopen_lex;
+ v18 = vl;
+ v19 = vfd;
+ v20 = ((u(*)())v17)(v18, v19);
+ v20;
+b8: v21 = (u)zgettok;
+ v22 = vl;
+ v23 = ((u(*)())v21)(v22);
+ vtok = v23;
if (vtok != -1UL) goto b13;
if (!*(u*)(vl + 48UL)) goto b23;
- v43 = 0UL;
-b24: if (!v43) goto b21;
- v44 = (u)zdie;
- v45 = (u)"problem";
- v46 = ((u(*)())v44)(v45);
- v46;
+ v44 = 0UL;
+b24: if (!v44) goto b21;
+ v45 = (u)zdie;
+ v46 = (u)"problem";
+ v47 = ((u(*)())v45)(v46);
+ v47;
b19: return 0UL;
b21: goto b19;
-b23: v43 = 1UL;
+b23: v44 = 1UL;
goto b24;
-b13: v23 = (u)zfputs;
- v24 = 0UL;
- v26 = *(u*)(vl + 32UL);
- v27 = vtok;
- v28 = ((u(*)())v26)(v27);
- v25 = v28;
- v29 = ((u(*)())v23)(v24, v25);
- v29;
- v30 = (u)zfputs;
- v31 = 0UL;
- v32 = (u)"\011'";
- v33 = ((u(*)())v30)(v31, v32);
- v33;
- v34 = (u)zfputb;
- v35 = 0UL;
- v36 = *(u*)(vl + 64UL) + *(u*)(vl + 72UL) * 1UL;
- v37 = *(u*)(vl + 80UL) - *(u*)(vl + 72UL);
- v38 = ((u(*)())v34)(v35, v36, v37);
- v38;
- v39 = (u)zfputs;
- v40 = 0UL;
- v41 = (u)"'\012";
- v42 = ((u(*)())v39)(v40, v41);
- v42;
+b13: v24 = (u)zfputs;
+ v25 = vout;
+ v27 = *(u*)(vl + 32UL);
+ v28 = vtok;
+ v29 = ((u(*)())v27)(v28);
+ v26 = v29;
+ v30 = ((u(*)())v24)(v25, v26);
+ v30;
+ v31 = (u)zfputs;
+ v32 = vout;
+ v33 = (u)"\011'";
+ v34 = ((u(*)())v31)(v32, v33);
+ v34;
+ v35 = (u)zfputb;
+ v36 = vout;
+ v37 = *(u*)(vl + 64UL) + *(u*)(vl + 72UL) * 1UL;
+ v38 = *(u*)(vl + 80UL) - *(u*)(vl + 72UL);
+ v39 = ((u(*)())v35)(v36, v37, v38);
+ v39;
+ v40 = (u)zfputs;
+ v41 = vout;
+ v42 = (u)"'\012";
+ v43 = ((u(*)())v40)(v41, v42);
+ v43;
goto b8;
b5: goto b3;
}
@@ -20013,7 +20013,7 @@ b47: v35 = 0UL;
goto b46;
b13: goto b11;
b10: if ((s)(*(u*)(vl + 88UL) - *(u*)(vl + 72UL)) < (s)(*(u*)(vl + 96UL) >> 1UL)) goto b16;
- *(u*)(vl + 96UL) = *(u*)(vl + 96UL) * 2UL + 256UL;
+ *(u*)(vl + 96UL) = *(u*)(vl + 96UL) * 2UL + 16UL * 1024UL;
v9 = (u)zalloc;
v10 = *(u*)(vl + 0UL);
v11 = *(u*)(vl + 96UL);
@@ -27810,6 +27810,7 @@ u zmain(u vargc, u vargv, u venvp) {
u v126 = 0;
u v127 = 0;
u v128 = 0;
+ u v129 = 0;
vlink = (u)&vinput;
v14 = (u)zsetup_alloc;
v15 = (u)&va;
@@ -27829,66 +27830,66 @@ u zmain(u vargc, u vargv, u venvp) {
b4: if ((s)vi < (s)vargc) goto b8;
vtmp = vinput;
b79: if (!vtmp) goto b85;
- v89 = 0UL;
-b86: if (!v89) goto b83;
+ v90 = 0UL;
+b86: if (!v90) goto b83;
if (!vshow) goto b91;
- v99 = (u)zshow_node;
- v100 = verr;
- v101 = vp;
- v102 = ((u(*)())v99)(v100, v101);
- v102;
- v103 = (u)zfflush;
- v104 = verr;
- v105 = ((u(*)())v103)(v104);
- v105;
+ v100 = (u)zshow_node;
+ v101 = verr;
+ v102 = vp;
+ v103 = ((u(*)())v100)(v101, v102);
+ v103;
+ v104 = (u)zfflush;
+ v105 = verr;
+ v106 = ((u(*)())v104)(v105);
+ v106;
return 0UL;
-b91: v106 = (u)zcompile;
- v107 = vc;
- v108 = vp;
- v109 = ((u(*)())v106)(v107, v108);
- v109;
+b91: v107 = (u)zcompile;
+ v108 = vc;
+ v109 = vp;
+ v110 = ((u(*)())v107)(v108, v109);
+ v110;
if (!vcout_filename) goto b97;
- v110 = (u)zopen_coutput;
- v111 = vc;
- v112 = vcout_filename;
- v113 = ((u(*)())v110)(v111, v112);
- v113;
- v114 = (u)zircout;
- v115 = vc;
- v116 = ((u(*)())v114)(v115);
- v116;
-b95: v117 = (u)zemit_builtin;
- v118 = vc;
- v119 = ((u(*)())v117)(v118);
- v119;
+ v111 = (u)zopen_coutput;
+ v112 = vc;
+ v113 = vcout_filename;
+ v114 = ((u(*)())v111)(v112, v113);
+ v114;
+ v115 = (u)zircout;
+ v116 = vc;
+ v117 = ((u(*)())v115)(v116);
+ v117;
+b95: v118 = (u)zemit_builtin;
+ v119 = vc;
+ v120 = ((u(*)())v118)(v119);
+ v120;
if (!vout_filename) goto b103;
- v120 = (u)zopen_output;
- v121 = *(u*)(vc + 48UL);
- v122 = vout_filename;
- v123 = ((u(*)())v120)(v121, v122);
- v123;
- v124 = (u)zwriteout;
- v125 = *(u*)(vc + 48UL);
- v126 = *(u*)(vc + 88UL);
- v127 = *(u*)(vc + 96UL);
- v128 = ((u(*)())v124)(v125, v126, v127);
- v128;
+ v121 = (u)zopen_output;
+ v122 = *(u*)(vc + 48UL);
+ v123 = vout_filename;
+ v124 = ((u(*)())v121)(v122, v123);
+ v124;
+ v125 = (u)zwriteout;
+ v126 = *(u*)(vc + 48UL);
+ v127 = *(u*)(vc + 88UL);
+ v128 = *(u*)(vc + 96UL);
+ v129 = ((u(*)())v125)(v126, v127, v128);
+ v129;
b101: return 0UL;
b103: goto b101;
b97: goto b95;
-b83: v90 = (u)zconcat_program;
- v91 = vp;
- v93 = (u)zparse;
- v94 = *(u*)(vc + 16UL);
- v95 = *(u*)(vtmp + 8UL);
- v96 = verr;
- v97 = ((u(*)())v93)(v94, v95, v96);
- v92 = v97;
- v98 = ((u(*)())v90)(v91, v92);
- vp = v98;
+b83: v91 = (u)zconcat_program;
+ v92 = vp;
+ v94 = (u)zparse;
+ v95 = *(u*)(vc + 16UL);
+ v96 = *(u*)(vtmp + 8UL);
+ v97 = verr;
+ v98 = ((u(*)())v94)(v95, v96, v97);
+ v93 = v98;
+ v99 = ((u(*)())v91)(v92, v93);
+ vp = v99;
vtmp = *(u*)(vtmp + 0UL);
goto b79;
-b85: v89 = 1UL;
+b85: v90 = 1UL;
goto b86;
b8: v26 = (u)zstrcmp;
v27 = *(u*)(vargv + vi * 8UL);
@@ -27992,21 +27993,22 @@ b67: if (!v70) goto b64;
b69: v78 = (u)zdolex;
v79 = *(u*)(vc + 0UL);
v80 = *(u*)(vargv + vi * 8UL);
- v81 = ((u(*)())v78)(v79, v80);
- v81;
+ v81 = 0UL;
+ v82 = ((u(*)())v78)(v79, v80, v81);
+ v82;
vi = vi + 1UL;
goto b4;
b71: goto b69;
b64: if ((u)*(b*)(*(u*)(vargv + vi * 8UL) + 0UL * 1UL) != 45UL) goto b76;
- v82 = (u)zdie;
- v83 = (u)"invalid argument";
- v84 = ((u(*)())v82)(v83);
- v84;
-b74: v85 = (u)zalloc;
- v86 = (u)&va;
- v87 = 16UL;
- v88 = ((u(*)())v85)(v86, v87);
- vtmp = v88;
+ v83 = (u)zdie;
+ v84 = (u)"invalid argument";
+ v85 = ((u(*)())v83)(v84);
+ v85;
+b74: v86 = (u)zalloc;
+ v87 = (u)&va;
+ v88 = 16UL;
+ v89 = ((u(*)())v86)(v87, v88);
+ vtmp = v89;
*(u*)(vtmp + 0UL) = 0UL;
*(u*)(vtmp + 8UL) = *(u*)(vargv + vi * 8UL);
*(u*)vlink = vtmp;