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] |
David Edelsohn wrote: > > http://gcc.gnu.org/ml/gcc-patches/2003-04/msg00469.html David, sorry for missing your email. > I tracked this down to the translate_vect being too small. It is >not dynamic or dependent on the number of descriptions. The error I >received was for index 261 out of bounds for size 250. Bumping the >allocation size to 300 allowed things to proceed. Is there any particular >reason for the choice of 250? I don't know if you want to make the >allocator dynamic for this value or have it scale with some input. > 250 is only initial length. The vector is expanded by VLA_HWINT_EXPAND. The problem as I see is in loop which has condition insn <= description->insn_num. It is a typo. It should be <. I've commited a patch to fix it. So you could try it. http://gcc.gnu.org/ml/gcc-patches/2003-04/msg00987.html Thanks for reporting the problem. Vlad > Is this okay for now? > > * genautomata.c (output_translate_vect): Increase allocation size > to 300. > >Index: genautomata.c >=================================================================== >RCS file: /cvs/gcc/gcc/gcc/genautomata.c,v >retrieving revision 1.39 >diff -c -p -r1.39 genautomata.c >*** genautomata.c 13 Mar 2003 03:48:27 -0000 1.39 >--- genautomata.c 7 Apr 2003 18:55:36 -0000 >*************** output_translate_vect (automaton) >*** 7668,7674 **** > int insn_value; > vla_hwint_t translate_vect; > >! VLA_HWINT_CREATE (translate_vect, 250, "translate vector"); > VLA_HWINT_EXPAND (translate_vect, description->insns_num); > for (insn_value = 0; insn_value <= description->insns_num; insn_value++) > /* Undefined value */ >--- 7668,7674 ---- > int insn_value; > vla_hwint_t translate_vect; > >! VLA_HWINT_CREATE (translate_vect, 300, "translate vector"); > VLA_HWINT_EXPAND (translate_vect, description->insns_num); > for (insn_value = 0; insn_value <= description->insns_num; insn_value++) > /* Undefined value */
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |