This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
c++/2809: ice on illegal template specialisation
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/2809: ice on illegal template specialisation
- From: Peter Schmid <schmid at snake dot iap dot physik dot tu-darmstadt dot de>
- Date: Sun, 13 May 2001 00:38:26 +0200
>Number: 2809
>Category: c++
>Synopsis: ice on illegal template specialisation
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-illegal-code
>Submitter-Id: net
>Arrival-Date: Sat May 12 14:46:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Peter Schmid
>Release: 3.0 20010503 (prerelease)
>Organization:
TU Darmstadt
>Environment:
System: Linux kiste 2.4.4 #38 Tue May 8 00:13:02 CEST 2001 i686 unknown
Architecture: i686
SuSE 7.1
glibc 2.2
GNU assembler version 2.11.90.0.4
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc/configure --enable-shared --disable-nls --enable-threads=posix --enable-long-long --enable-languages=c,c++,f77,objc
>Description:
The following illegal source code ts.C generates an internal compiler
error. If the template keyword is dropped in line 13 on the illegal
"template instantiation" the compilation does no longer crash.
>How-To-Repeat:
Source code ts.C
template <class T>
struct A
{
void f(T) {}
};
template<>
struct A<int>
{
void f(int) {}
};
template
void A<int>::f(int);
Compiling ts.C
g++ -v -c ts.C -W -Wall
Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0/specs
Configured with: ../gcc/configure --enable-shared --disable-nls --enable-threads=posix --enable-long-long --enable-languages=c,c++,f77,objc : (reconfigured) ../gcc/configure --enable-shared --disable-nls --enable-threads=posix --enable-long-long --enable-languages=c,c++,f77,objc : (reconfigured)
Thread model: posix
gcc version 3.0 20010503 (prerelease)
/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0/cc1plus -v -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem=posix -D__STDC_HOSTED__=1 -W -Wall -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ ts.C -D__GNUG__=3 -D_GNU_SOURCE -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -quiet -dumpbase ts.C -W -Wall -version -o /tmp/ccgvFFp1.s
GNU CPP version 3.0 20010503 (prerelease) (cpplib) (i386 Linux/ELF)
GNU C++ version 3.0 20010503 (prerelease) (i686-pc-linux-gnu)
compiled by GNU C version 3.0 20010503 (prerelease).
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include/g++-v3
/usr/local/include/g++-v3/i686-pc-linux-gnu
/usr/local/include
/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.0/include
/usr/local/i686-pc-linux-gnu/include
/usr/include
End of search list.
ts.C:14: Internal error: Segmentation fault
Please submit a full bug report, with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: