This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/47987] New: ICE on legal code (when attempting to inline non-implicitly instantiated template member function)
- From: "niemayer at isg dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 4 Mar 2011 11:37:20 +0000
- Subject: [Bug c++/47987] New: ICE on legal code (when attempting to inline non-implicitly instantiated template member function)
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47987
Summary: ICE on legal code (when attempting to inline
non-implicitly instantiated template member function)
Product: gcc
Version: 4.5.2
Status: UNCONFIRMED
Severity: critical
Priority: P3
Component: c++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: niemayer@isg.de
Created attachment 23540
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23540
preprocessed and gzipped legal C++ code causing ICE with gcc 4.5.[0-2]
When compiling the attached "crash.ii" file using gcc 4.5.[012] with
> gcc -O3 -fno-implicit-templates -c crash.ii -o crash.o
gcc crashes with a segmentation fault:
> crashtest.cxx: In static member function 'static bool LKV::MatchEntity::init_text_2_3(const LKV::Str&, LKV::Str&, LKV::Str&, LKV::Array<long unsigned int, true, LKV::_T<LKV::AbsPtr>, long unsigned int>*, LKV::Array<long unsigned int, true, LKV::_T<LKV::AbsPtr>, long unsigned int>*)':
crashtest.cxx:130:3:
> internal compiler error: Segmentation fault
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.
The same code is compiled fine by gcc 4.4.*, it also compiles fine with
-O[0-2].
Notice that this code is part of a library that uses explicit template
instantiations, intriguingly when compiling with "-fimplicit-templates", gcc
4.5.* does not crash - which let's me wonder how "just doing less" can actually
trigger such a bug :-)