This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

c++/2809: ice on illegal template specialisation



>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:


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]