c++/6544: G++ and illegal code: Internal compiler error in pop_binding, at cp/decl.c:1187

gcc@sammal.pp.fi gcc@sammal.pp.fi
Thu May 2 19:56:00 GMT 2002


>Number:         6544
>Category:       c++
>Synopsis:       G++ and illegal code: Internal compiler error in pop_binding, at cp/decl.c:1187
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          ice-on-illegal-code
>Submitter-Id:   net
>Arrival-Date:   Thu May 02 19:56:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Jukka Suomela
>Release:        gcc version 3.2 20020502 (experimental)
>Organization:
>Environment:
Debian Linux x86
>Description:
ICE on illegal code in latest G++ CVS version. G++-3.0.4 doesn't give ICE. Full preprocessed source code is shown in the How-To-Repeat section.

Full compiler output of "g++ -v -save-temps -c test.cc" follows:

Reading specs from /home/js/opt/gcc-cvs/lib/gcc-lib/i686-pc-linux-gnu/3.2/specs
Configured with: ../gcc/configure --prefix=/home/js/opt/gcc-cvs
Thread model: single
gcc version 3.2 20020502 (experimental)
 /home/js/opt/gcc-cvs/lib/gcc-lib/i686-pc-linux-gnu/3.2/cc1plus -E -lang-c++ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ test.cc test.ii
GNU CPP version 3.2 20020502 (experimental) (cpplib) (i386 Linux/ELF)
ignoring nonexistent directory "/home/js/opt/gcc-cvs/i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /home/js/opt/gcc-cvs/include/g++-v3
 /home/js/opt/gcc-cvs/include/g++-v3/i686-pc-linux-gnu
 /home/js/opt/gcc-cvs/include/g++-v3/backward
 /usr/local/include
 /home/js/opt/gcc-cvs/include
 /home/js/opt/gcc-cvs/lib/gcc-lib/i686-pc-linux-gnu/3.2/include
 /usr/include
End of search list.
 /home/js/opt/gcc-cvs/lib/gcc-lib/i686-pc-linux-gnu/3.2/cc1plus -fpreprocessed test.ii -quiet -dumpbase test.cc -version -o test.s
GNU CPP version 3.2 20020502 (experimental) (cpplib) (i386 Linux/ELF)
GNU C++ version 3.2 20020502 (experimental) (i686-pc-linux-gnu)
        compiled by GNU C version 3.2 20020502 (experimental).
test.cc:1: warning: all member functions in class `X<T>' are private
test.cc:2: no `X<T>::X()' member function declared in class `X<T>'
test.cc:2: template definition of non-template `X<T>::X()'
test.cc: In constructor `X<T>::X()':
test.cc:2: parse error before `;' token
test.cc:2: ISO C++ forbids declaration of `y' with no type
test.cc:2: parse error before `}' token
test.cc: In function `int foo()':
test.cc:3: Internal compiler error in pop_binding, at cp/decl.c:1187
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>How-To-Repeat:
# 1 "test.cc"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "test.cc"
template<class T> class X { void y(); };
template<class T> inline X<T>::X(); { y(); y(); }
int foo() {}
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-bugs mailing list