Bug 18764

Summary: gcc-2.96 crashes on bad code.
Product: [Retired] Red Hat Linux Reporter: Omnifarious <hopper>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED RAWHIDE QA Contact: David Lawrence <dkl>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-10-27 14:09:16 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:
Bug Depends On:    
Bug Blocks: 18524    
Attachments:
Description Flags
This is the preprocessor output that causes the coredump. none

Description Omnifarious 2000-10-10 02:13:12 UTC
Compiling a certain file with errors causes a compiler crash.  I will try
to attach the preprocessor output I saved with --save-temps.

g++ -v --save-temps -pipe -march=i686 -g -I../include tests/testvisitor.cxx
-L../generated/lib
g++: Warning: -pipe ignored since -save-temps specified
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../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) -g -Acpu(i386) -Amachine(i386) -Di386 -D__i386
-D__i386__ -D__pentiumpro -D__pentiumpro__ -D__tune_pentiumpro__
tests/testvisitor.cxx testvisitor.ii
GNU CPP version 2.96 20000731 (Red Hat Linux 7.0) (cpplib)
(i386 Linux/ELF)
ignoring nonexistent directory "/usr/local/include"
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
../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 testvisitor.ii -quiet
-dumpbase testvisitor.cxx -march=i686 -g -version -o testvisitor.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).
tests/testvisitor.cxx: In function `void iteratorTest (const StrChunkPtr
&)':
tests/testvisitor.cxx:44: variable `StrChunk::__iterator i' has initializer
but incomplete type
tests/testvisitor.cxx:44: invalid use of undefined type `class
StrChunk::__iterator'
../include/StrMod/StrChunk.h:65: forward declaration of `class
StrChunk::__iterator'
tests/testvisitor.cxx:45: variable `StrChunk::__iterator end' has
initializer but incomplete type
tests/testvisitor.cxx:45: invalid use of undefined type `class
StrChunk::__iterator'
../include/StrMod/StrChunk.h:65: forward declaration of `class
StrChunk::__iterator'
tests/testvisitor.cxx:48: Internal error #390.
tests/testvisitor.cxx:48: Internal compiler error in arg_assoc_type, at
../gcc/cp/decl2.c:4961
Please submit a full bug report.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

Compilation exited abnormally with code 1 at Thu Oct 5 10:31:19

Comment 1 Omnifarious 2000-10-10 02:15:14 UTC
Created attachment 3964 [details]
This is the preprocessor output that causes the coredump.

Comment 2 Jakub Jelinek 2000-10-27 14:09:13 UTC
Fix submitted to gcc-patches, if it is accepted, it will make it into
rawhide and upcoming gcc errata.

Comment 3 Jakub Jelinek 2000-11-13 09:12:47 UTC
Fixed in gcc-c++-2.96-63 in rawhide.