diff -ruN ./makefile ../../awk-new/awk/makefile --- ./makefile 2005-05-03 13:55:49.000000000 -0700 +++ ../../awk-new/awk/makefile 2005-05-03 14:06:31.000000000 -0700 @@ -48,7 +48,7 @@ vcvars32.bat buildwin.bat mac.code awk.1 a.out: ytab.o $(OFILES) - $(CC) $(CFLAGS) ytab.o $(OFILES) $(ALLOC) -lm + $(CC) $(CFLAGS) ytab.o $(OFILES) $(ALLOC) -lm -o a.out $(OFILES): awk.h ytab.h proto.h diff -ruN ./run.c ../../awk-new/awk/run.c --- ./run.c 2005-05-03 13:55:50.000000000 -0700 +++ ../../awk-new/awk/run.c 2005-05-03 14:26:56.000000000 -0700 @@ -1024,6 +1024,7 @@ FATAL("division by zero in mod"); modf(i/j, &v); i = i - j * v; + if (i == -0) i = 0; break; case UMINUS: i = -i; --- ./run.c 2005-06-23 14:32:34.000000000 -0700 +++ /tmp/run.c 2005-06-23 14:44:29.000000000 -0700 @@ -1122,6 +1122,7 @@ FATAL("division by zero in %%="); modf(xf/yf, &v); xf = xf - yf * v; + if (xf == -0) xf = 0; break; case POWEQ: if (yf >= 0 && modf(yf, &v) == 0.0) /* pos integer exponent */