The following crashes g++-4.1.1:

template < typename T >
void boom ( T & a ) {
  T tmp = a;
}

template < typename T >
void null_op ( void ) {}

typedef void(&F)( void );

int main ( void ) {
  F f = &null_op<int>;
  boom( f );
}


gcc> /added/pkg/gcc-4.1.1/usr/bin/g++ -v       
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.1.1/configure --prefix=/added/pkg/gcc-4.1.1/usr
--with-ld=/usr/i686-pc-linux-gnu/binutils-bin/2.16.1/ld --enable-debug
--enable-libstdcxx-debug --enable-concept-checks
--with-as=/usr/i686-pc-linux-gnu/binutils-bin/2.16.1/as
--host=i686-pc-linux-gnu : (reconfigured) ../gcc-4.1.1/configure
--prefix=/added/pkg/gcc-4.1.1/usr
--with-ld=/usr/i686-pc-linux-gnu/binutils-bin/2.16.1/ld --enable-debug
--enable-libstdcxx-debug --enable-concept-checks
--with-as=/usr/i686-pc-linux-gnu/binutils-bin/2.16.1/as
--host=i686-pc-linux-gnu
Thread model: posix
gcc version 4.1.1


My g++-3.4.6 (gentoo) does not crash on the code.


Best

Kai-Uwe Bux


-- 
           Summary: ICE on invalid code in digest_init at cp/typeck2.c:709
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: jkherciueh at gmx dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30046

Reply via email to