*** orig/cc1.c 2012-02-21 16:29:43.000000000 -0800 --- cc1.c 2012-02-25 13:13:26.026038000 -0800 *************** *** 776,782 **** } if(!ext) strcpy(pline + i, ".C"); input = mustopen(pline, "r"); ! if(!files && iscons(stdout)) { strcpy(outfn + j, ".ASM"); output = mustopen(outfn, "w"); } --- 776,782 ---- } if(!ext) strcpy(pline + i, ".C"); input = mustopen(pline, "r"); ! if(!files && iscons(fileno(stdout))) { strcpy(outfn + j, ".ASM"); output = mustopen(outfn, "w"); } *** orig/cc3.c 2012-02-21 16:29:48.000000000 -0800 --- cc3.c 2012-02-25 23:42:28.389485300 -0800 *************** *** 48,53 **** --- 48,54 ---- expression(con, val) int *con, *val; { int is[7]; + is[0] = is[1] = is[2] = is[3] = is[4] = is[5] = is[6] = 0; if(level1(is)) fetch(is); *con = is[TC]; *val = is[CV]; *************** *** 56,61 **** --- 57,63 ---- test(label, parens) int label, parens; { int is[7]; int *before, *start; + is[0] = is[1] = is[2] = is[3] = is[4] = is[5] = is[6] = 0; if(parens) need("("); while(1) { setstage(&before, &start); *************** *** 101,106 **** --- 103,109 ---- level1(is) int is[]; { int k, is2[7], is3[2], oper, oper2; + is2[0] = is2[1] = is2[2] = is2[3] = is2[4] = is2[5] = is2[6] = 0; k = down1(level2, is); if(is[TC]) gen(GETw1n, is[CV]); if(match("|=")) {oper = oper2 = OR12;} *************** *** 145,150 **** --- 148,155 ---- level2(is1) int is1[]; { int is2[7], is3[7], k, flab, endlab, *before, *after; + is2[0] = is2[1] = is2[2] = is2[3] = is2[4] = is2[5] = is2[6] = 0; + is3[0] = is3[1] = is3[2] = is3[3] = is3[4] = is3[5] = is3[6] = 0; k = down1(level3, is1); /* expression 1 */ if(match("?") == 0) return k; dropout(k, NE10f, flab = getlabel(), is1); *************** *** 297,302 **** --- 302,308 ---- blanks(); if(ch == '[' || ch == '(') { int is2[7]; /* allocate only if needed */ + is2[0] = is2[1] = is2[2] = is2[3] = is2[4] = is2[5] = is2[6] = 0; while(1) { if(match("[")) { /* [subscript] */ if(ptr == 0) { *************** *** 422,428 **** if(match(",") == 0) break; } need(")"); ! if(streq(ptr + NAME, "CCARGC") == 0) gen(ARGCNTn, nargs >> LBPW); if(ptr) gen(CALLm, ptr); else gen(CALL1, 0); gen(ADDSP, csp + nargs); --- 428,434 ---- if(match(",") == 0) break; } need(")"); ! if(ptr && streq(ptr + NAME, "CCARGC") == 0) gen(ARGCNTn, nargs >> LBPW); if(ptr) gen(CALLm, ptr); else gen(CALL1, 0); gen(ADDSP, csp + nargs); *************** *** 624,629 **** --- 630,636 ---- while(1) { if(nextop(opstr)) { int is2[7]; /* allocate only if needed */ + is2[0] = is2[1] = is2[2] = is2[3] = is2[4] = is2[5] = is2[6] = 0; bump(opsize); opindex += opoff; down2(op[opindex], op2[opindex], level, is, is2); *** orig/unix.c 2012-02-23 16:38:45.172693100 -0800 --- unix.c 2012-02-25 13:14:25.446542400 -0800 *************** *** 6,14 **** --- 6,19 ---- } int iscons(int fd){ + return fd < 3; // VRS CYGWIN kludge return isatty(fd); } int avail(int abrt){ return 16000; // dummy implementation } + + int poll(pause) int pause; { // VRS dummy implementation + return 0; + }