This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The attached testcase, distilled from ncurses, fails on powerpc-linux due to getting the loop count wrong. $ gcc-curr/gcc/xgcc -Bgcc-curr/gcc/ -O2 -o loop loop.c $ ./loop Segmentation fault (core dumped) Fixed like this: * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust by absolute loop increment, not loop increment. Currently bootstrapping powerpc-linux. Assuming bootstrap and regression tests pass, I'd like to commit the patch and testcase to both mainline and 3.2 branch. OK? Index: gcc/doloop.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/doloop.c,v retrieving revision 1.23 diff -u -p -r1.23 doloop.c --- gcc/doloop.c 22 Sep 2002 14:09:30 -0000 1.23 +++ gcc/doloop.c 26 Sep 2002 03:39:30 -0000 @@ -668,8 +668,8 @@ doloop_modify_runtime (loop, iterations_ fprintf (loop_dump_stream, "Doloop: Basic induction var skips initial incr.\n"); - diff = expand_simple_binop (mode, PLUS, diff, increment, diff, - unsigned_p, OPTAB_LIB_WIDEN); + diff = expand_simple_binop (mode, PLUS, diff, GEN_INT (abs_inc), + diff, unsigned_p, OPTAB_LIB_WIDEN); } } -- Alan Modra IBM OzLabs - Linux Technology Centre
Attachment:
loop.c
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |