This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/31277] New: incorrect c++ code produces g++ internal error
- From: "ineiev at yahoo dot co dot uk" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Mar 2007 08:53:37 -0000
- Subject: [Bug c++/31277] New: incorrect c++ code produces g++ internal error
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The code is
template<class a>class b{friend b<a>a::c();};
template<class a>b<a>a::c(){return b<a>();}
The preprocessed code is
# 1 "stupid.cc"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "stupid.cc"
template<class a>class b{friend b<a>a::c();};
template<class a>b<a>a::c(){return b<a>();}
gcc was built on Fedora Core 4; configured with command:
../gcc-4.1.2/configure --prefix=$HOME/gcc412 --enable-languages=c,c++
the command line producing error is
g++ -v --save-temp -Wall -c stupid.cc 2> err
the error message is:
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1.2/configure --prefix=/home/dti/gcc412
--enable-languages=c,c++
Thread model: posix
gcc version 4.1.2
/home/dti/gcc412/libexec/gcc/i686-pc-linux-gnu/4.1.2/cc1plus -E -quiet -v
-D_GNU_SOURCE stupid.cc -mtune=pentiumpro -Wall -fpch-preprocess -o stupid.ii
ignoring nonexistent directory
"/home/dti/gcc412/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dti/gcc412/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../include/c++/4.1.2
/home/dti/gcc412/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../include/c++/4.1.2/i686-pc-linux-gnu
/home/dti/gcc412/lib/gcc/i686-pc-linux-gnu/4.1.2/../../../../include/c++/4.1.2/backward
/usr/local/include
/home/dti/gcc412/include
/home/dti/gcc412/lib/gcc/i686-pc-linux-gnu/4.1.2/include
/usr/include
End of search list.
/home/dti/gcc412/libexec/gcc/i686-pc-linux-gnu/4.1.2/cc1plus -fpreprocessed
stupid.ii -quiet -dumpbase stupid.cc -mtune=pentiumpro -auxbase stupid -Wall
-version -o stupid.s
GNU C++ version 4.1.2 (i686-pc-linux-gnu)
compiled by GNU C version 4.0.0 20050519 (Red Hat 4.0.0-8).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64266
Compiler executable checksum: bf947049f66570c1ab11b37642201042
stupid.cc:2: internal compiler error: in is_ancestor, at cp/name-lookup.c:2236
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
g++ 4.0.4 made similarly produces Segmentation fault:
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.0.4/configure --prefix=/home/dti/gcc404
--enable-languages=c,c++
Thread model: posix
gcc version 4.0.4
/home/dti/gcc404/libexec/gcc/i686-pc-linux-gnu/4.0.4/cc1plus -quiet -v
-D_GNU_SOURCE stupid.cc -quiet -dumpbase stupid.cc -mtune=pentiumpro -auxbase
stupid -Wall -version -o /tmp/cc85lGkB.s
ignoring nonexistent directory
"/home/dti/gcc404/lib/gcc/i686-pc-linux-gnu/4.0.4/../../../../i686-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/home/dti/gcc404/lib/gcc/i686-pc-linux-gnu/4.0.4/../../../../include/c++/4.0.4
/home/dti/gcc404/lib/gcc/i686-pc-linux-gnu/4.0.4/../../../../include/c++/4.0.4/i686-pc-linux-gnu
/home/dti/gcc404/lib/gcc/i686-pc-linux-gnu/4.0.4/../../../../include/c++/4.0.4/backward
/usr/local/include
/home/dti/gcc404/include
/home/dti/gcc404/lib/gcc/i686-pc-linux-gnu/4.0.4/include
/usr/include
End of search list.
GNU C++ version 4.0.4 (i686-pc-linux-gnu)
compiled by GNU C version 4.0.0 20050519 (Red Hat 4.0.0-8).
GGC heuristics: --param ggc-min-expand=64 --param ggc-min-heapsize=64266
stupid.cc:2: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
g++ 3.4.6 works fine (complains about the stupid.cc with no internal error)
--
Summary: incorrect c++ code produces g++ internal error
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ineiev at yahoo dot co dot uk
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=31277