From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Schmid To: gcc-gnats@gcc.gnu.org Subject: c++/2809: ice on illegal template specialisation Date: Sat, 12 May 2001 14:46:00 -0000 Message-id: <200105122238.AAA17829@snake.iap.physik.tu-darmstadt.de> X-SW-Source: 2001-05/msg00319.html List-Id: >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 struct A { void f(T) {} }; template<> struct A { void f(int) {} }; template void A::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 for instructions. >Fix: >Release-Note: >Audit-Trail: >Unformatted: