GCC build failed with your patch on 2000-11-29T18:50:00Z.
Jakub Jelinek
jakub@redhat.com
Wed Nov 29 13:07:00 GMT 2000
On Wed, Nov 29, 2000 at 07:36:36PM +0000, GCC regression checker wrote:
> c++io.cc: In member function `void
> std::__basic_file<_CharT>::_M_open_mode(std::_Ios_Openmode, int&, int&,
> char*) [with _CharT = char]':
> c++io.cc:255: instantiated from here
> c++io.cc:71: Internal compiler error in can_store_by_pieces, at expr.c:2326
> Please submit a full bug report.
> See <URL: http://www.gnu.org/software/gcc/bugs.html > for instructions.
As ia32 has no pre or post decrement, it did not show up during bootstrap on
i386-redhat-linux.
Fixed thusly (commited, I hope it falls under obvious bugfix rule):
2000-11-29 Jakub Jelinek <jakub@redhat.com>
* expr.c (can_store_by_pieces): Reinitialize max_size for reverse
tests.
--- gcc/expr.c.jj Wed Nov 29 19:32:25 2000
+++ gcc/expr.c Wed Nov 29 22:04:56 2000
@@ -2263,7 +2263,7 @@ can_store_by_pieces (len, constfun, cons
PTR constfundata;
unsigned int align;
{
- unsigned HOST_WIDE_INT max_size = MOVE_MAX_PIECES + 1, l;
+ unsigned HOST_WIDE_INT max_size, l;
HOST_WIDE_INT offset = 0;
enum machine_mode mode, tmode;
enum insn_code icode;
@@ -2286,6 +2286,7 @@ can_store_by_pieces (len, constfun, cons
{
l = len;
mode = VOIDmode;
+ max_size = MOVE_MAX_PIECES + 1;
while (max_size > 1)
{
for (tmode = GET_CLASS_NARROWEST_MODE (MODE_INT);
Jakub
More information about the Gcc-regression
mailing list