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

Reply via email to