[Bug c++/33035] New: ICE on local class destructor. Regression?
vasili dot burdo at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Aug 9 11:50:00 GMT 2007
gcc-4.3-20070727 fails with ICE on code:
-----------------------------------
template<class A>
struct a {
template<class B>
struct b {
template<class C>
void f()
{
struct g
{
~g() {}//<--here
};
}
};
};
-----------------------------------
Compiler output is:
-----------------------------------
G++ -v -save-temps gcc-err.cpp
Using built-in specs.
Target: i686-pc-mingw32
Configured with: ../gcc-4.3-20070727/configure --disable-bootstrap
--enable-languages=c,c++ --with-gcc --with-gnu-ld --with-gnu-as --with-dwarf2
--without-stabs --disable-sjlj-exceptions --prefix=/mingw
--libexecdir=/mingw/lib --disable-werror --enable-threads --disable-nls
--disable-win32-registry --disable-shared --disable-libssp
--disable-libstdcxx-debug --disable-concept-checks
Thread model: win32
gcc version 4.3.0 20070727 (experimental)
d:/TOOLS/GCC/lib/gcc/i686-pc-mingw32/4.3.0/cc1plus.exe -E -quiet -v -iprefix
d:\tools\gcc\bin\../lib/gcc/i686-pc-mingw32/4.3.0/ gcc-err.cpp -mtune=generic
-fpch-preprocess -o gcc-err.ii
#include "..." search starts here:
#include <...> search starts here:
d:\TOOLS\GCC/include
d:\TOOLS\GCC/local/include
d:\TOOLS\GCC/win32api/include
d:/prj/libs/include
d:/prj/libs/boost
d:\tools\gcc\bin\../lib/gcc/i686-pc-mingw32/4.3.0/include
d:\tools\gcc\bin\../lib/gcc/i686-pc-mingw32/4.3.0/include-fixed
d:/TOOLS/GCC/include/c++/4.3.0
d:/TOOLS/GCC/include/c++/4.3.0/i686-pc-mingw32
d:/TOOLS/GCC/include/c++/4.3.0/backward
d:/TOOLS/GCC/include
d:/TOOLS/GCC/include
d:/TOOLS/GCC/lib/gcc/i686-pc-mingw32/4.3.0/include
d:/TOOLS/GCC/lib/gcc/i686-pc-mingw32/4.3.0/include-fixed
d:/TOOLS/GCC/lib/gcc/i686-pc-mingw32/4.3.0/include-fixed
d:/TOOLS/GCC/include
End of search list.
d:/TOOLS/GCC/lib/gcc/i686-pc-mingw32/4.3.0/cc1plus.exe -fpreprocessed
gcc-err.ii -quiet -dumpbase gcc-err.cpp -mtune=generic -auxbase gcc-err
-version -o gcc-err.s
GNU C++ version 4.3.0 20070727 (experimental) (i686-pc-mingw32)
compiled by GNU C version 4.2.0, GMP version 4.2.1, MPFR version 2.2.0.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b6f7d618f50d2b0792a732058b53d781
gcc-err.cpp: In member function 'void a<A>::b<B>::f()':
gcc-err.cpp:10: internal compiler error: tree check: expected class 'type',
have 'declaration' (function_decl) in push_template_decl_real, at cp/pt.c:3917
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
-----------------------------------
3.4.2, 4.1.1 and 4.2.0 compile it well.
--
Summary: ICE on local class destructor. Regression?
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: vasili dot burdo at gmail dot com
GCC build triplet: i686-pc-mingw32
GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33035
More information about the Gcc-bugs
mailing list