[Bug middle-end/17525] New: 4.0: ICE in emit_move_insn (non-BLKmode arg)

gcc-bugzilla at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Sep 16 19:27:00 GMT 2004



g++ gives an ICE on the source below:

$ ./cc1plus -quiet x.cc
x.cc: In member function `B& B::operator=(const B&)':
x.cc:14: internal compiler error: in emit_move_insn, at expr.c:2485
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
$

Here's where it's crashing:

2484      gcc_assert (mode != BLKmode
2485                  && (GET_MODE (y) == mode || GET_MODE (y) == VOIDmode));
2486

because here mode == BLKmode.

(gdb) call debug_rtx(x)
(reg:BLK 62)
(gdb) call debug_rtx(y)
(mem/s:BLK (reg:SI 59 [ D.1610 ]) [0 S4 A32])

Environment:
System: Linux karma 2.6.8.1 #20 Mon Sep 13 23:48:47 EDT 2004 i686 i686 i386 GNU/Linux
Architecture: i686

	<machine, os, target, libraries (multiple lines)>
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: /home/sss/gcc/gcc/configure --prefix=/usr/local/gcc --enable-threads=posix --enable-long-long --enable-languages=c,c++,f95

How-To-Repeat:

Compile the following (optimization not required):

--------------------------------------------------
struct A
{
  ~A();
  int a;
};

struct B : public A
{
  virtual ~B();
};

void run (B& b, B& b1)
{
  b1 = b;
}
--------------------------------------------------
------- Additional Comments From snyder at fnal dot gov  2004-09-16 19:27 -------
Fix:
	<how to correct or work around the problem, if known (multiple lines)>

-- 
           Summary: 4.0: ICE in emit_move_insn (non-BLKmode arg)
           Product: gcc
           Version: 0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: snyder at fnal dot gov
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17525



More information about the Gcc-bugs mailing list