Unrecognized insn internal error in egcs 1.1.2

george@moberg.com george@moberg.com
Mon Aug 2 09:30:00 GMT 1999


On 02-Aug-99 Joe Buck wrote:
> 
>> OK, I'm pulling my hair out.  1.1.2 is giving me this weird error on
>> Linux IA32 while compiling a C++ program.  Should I update to 2.95?
> 
> Since you only provide a code fragment, not a complete input, no one
> can tell whether or not 2.95 fixes the bug you are seeing.

Unfortunately the complete input is rather huge.  I'll try to pare it down. 
Does all of this stuff spit out by the compiler (below) provide any clues?  Does
anyone have any idea exactly what this output means?


TransformConnectionComponent.cpp: In method `void
CTransformConnectionComponent::_OpenDataConnection(const char *, const char *)':
TransformConnectionComponent.cpp:178: internal error--unrecognizable insn:
(insn 284 624 286 (set (reg:SI 48)
        (mem/s:SI (plus:SI (mem:SI (reg:SI 88))
                (const_int 12)))) -1 (insn_list 624 (nil))
    (nil))
../../egcs-1.1.2/gcc/toplev.c:1367: Internal compiler error in function
fatal_insn





> Also, you say "Linux IA32" but that wouldn't be enough info.  There have
> been bugs with conditional move instructions (enabled only for i686,
> not for i586) in the past that have produced things like this.

The compiler is running on a Pentium II.  If you look at the command line,
you'll notice that I don't explicitly set the architecture for which I'm
compiling:

eg_g++ -g -c -Wall -ansi -pedantic -D_DEBUG -I.
-I/usr/local/libmrc/include -I../../common -Itransforms -D_GNU_SOURCE
-D_REENTRANT -DPLATFORM_LINUX=1 -DEXPORT= -fno-implicit-templates
-fnew-exceptions -fasynchronous-exceptions -fvtable-thunks -fexceptions
TransformConnectionComponent.cpp -o TransformConnectionComponent.otd

Am I getting i686 or i586 (or i486?) if I compiled egcs using its default
compilation rules on a Pentium II machine?

For the record, I get the error both with and without -g, and with and without
-O2.
---
George T. Talbot
<george@moberg.com>



More information about the Gcc mailing list