Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 21340

Summary: G++ ICE in print_operand_address
Product: [Retired] Red Hat Raw Hide Reporter: Will Newton <will>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-11-27 14:16:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Will Newton 2000-11-26 03:16:21 UTC
The .ii file is here:

http://www.misconception.org.uk/will/Convex.ii

An ICE is generated when compiling a legal piece of C++.

Comment 1 Jakub Jelinek 2000-11-26 17:23:57 UTC
I miss there the actual command line which triggers it
(you'll get it when you run the g++ command with -v, what I'm interested in
is something like:
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cc1plus Convex.ii -quiet -dumpbase Convex.cpp -O2 -version -o Convex.s
). I've tried to see which of -O0/-O1/-O2 -fpic/-O3 would trigger it and
none did, so it presumably depends on some special options passed to it.

Comment 2 Will Newton 2000-11-26 19:50:37 UTC
c++ -DHAVE_CONFIG_H -I. -I. -I.. -I../modules -I/usr/lib/sigc++/include -Wall
-DDEBUG -I/usr/local/include -save-temps -v -Wp,-MD,.deps/Convex.pp -c
Convex.cpp  -fPIC -DPIC -o Convex.lo
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
gcc version 2.96 20000731 (Red Hat Linux 7.0)
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cpp0 -lang-c++ -D__GNUG__=2 -v -I. -I.
-I.. -I../modules -I/usr/lib/sigc++/include -I/usr/local/include -D__GNUC__=2
-D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__
-D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -Wall -Acpu(i386)
-Amachine(i386) -Di386 -D__i386 -D__i386__ -D__tune_i386__ -D__PIC__ -D__pic__
-DHAVE_CONFIG_H -DDEBUG -DPIC -MD .deps/Convex.pp Convex.cpp Convex.ii
GNU CPP version 2.96 20000731 (Red Hat Linux 7.0) (cpplib)
 (i386 Linux/ELF)
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
ignoring duplicate directory "."
ignoring duplicate directory "/usr/local/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 ..
 /usr/lib/sigc++/include
 /usr/local/include
 /usr/include/g++-3
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i386-redhat-linux/2.96/cc1plus Convex.ii -quiet -dumpbase
Convex.cpp -Wall -version -fPIC -o Convex.s
GNU C++ version 2.96 20000731 (Red Hat Linux 7.0) (i386-redhat-linux) compiled
by GNU C version 2.96 20000731 (Red Hat Linux 7.0).
Convex.cpp: In function `bool intersect (const Convex &, const Convex 
&, const Transform &, const Transform &, Vector &)':
Convex.cpp:236: Internal compiler error in print_operand_address, at 
config/i386/i386.c:3434
Please submit a full bug report.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make: *** [Convex.lo] Error 1



Comment 3 Jakub Jelinek 2000-11-27 14:16:10 UTC
Thanks for the report, fix for this will appear in gcc-c++-2.96-65
(works in my tree).