This is the mail archive of the gcc-regression@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]

Re: GCC build failed with your patch on 2000-11-29T18:50:00Z.


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]