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