From: Armin R. <ar...@us...> - 2003-10-04 09:28:33
|
Update of /cvsroot/psyco/psyco/c In directory sc8-pr-cvs1:/tmp/cvs-serv31857/c Modified Files: Makefile codegen.c Log Message: multiplication overflow was not detected correctly Index: Makefile =================================================================== RCS file: /cvsroot/psyco/psyco/c/Makefile,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** Makefile 23 Sep 2003 15:43:56 -0000 1.20 --- Makefile 4 Oct 2003 09:28:25 -0000 1.21 *************** *** 70,74 **** build_ext: build_py - rm -f ${BUILDDIR}/current @echo ------------------------------------------- @echo ${BUILD_VERSION} --- 70,73 ---- *************** *** 76,80 **** gcc ${LD_FLAGS} ${C_FLAGS} -DALL_STATIC=1 psyco.c -o ${OUTPUT} echo ${BUILD_VERSION} > ${OUTDIR}/build-version ! ln -s ${LIBDIR} ${BUILDDIR}/current build_py: --- 75,79 ---- gcc ${LD_FLAGS} ${C_FLAGS} -DALL_STATIC=1 psyco.c -o ${OUTPUT} echo ${BUILD_VERSION} > ${OUTDIR}/build-version ! cd ..; $(python) setup.py install build_py: Index: codegen.c =================================================================== RCS file: /cvsroot/psyco/psyco/c/codegen.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** codegen.c 23 Sep 2003 15:43:56 -0000 1.2 --- codegen.c 4 Oct 2003 09:28:25 -0000 1.3 *************** *** 689,694 **** return int_mul_i(po, v1, b, ovf); } ! return BINARY_INSTR_MUL(false, ovf && is_rtnonneg(v1->source) ! && is_rtnonneg(v2->source)); } --- 689,694 ---- return int_mul_i(po, v1, b, ovf); } ! return BINARY_INSTR_MUL(ovf, ovf && is_rtnonneg(v1->source) ! && is_rtnonneg(v2->source)); } *************** *** 784,788 **** return integer_rshift_i(po, v1, LONG_BIT-1); } ! return BINARY_INSTR_RSHIFT(false); } --- 784,788 ---- return integer_rshift_i(po, v1, LONG_BIT-1); } ! return BINARY_INSTR_RSHIFT(is_nonneg(v1->source)); } |