seen with 4.3 and newer template <typename T> class Temp { int Val; public: operator T&(void) { return Val; }
virtual T& operator=(T a ) { Val = a; return Val; } }; class Int : public Temp<int> { public: Int& operator=(int a) { return (*this); } }; Program received signal SIGSEGV, Segmentation fault. cp_build_unary_op (code=ADDR_EXPR, xarg=<value optimized out>, noconvert=<value optimized out>, complain=3) at ../../src/gcc/cp/typeck.c:4671 4671 return error_mark_node; -- Summary: ICE in cp_build_unary_op at cp/typeck.c:4671 Product: gcc Version: 4.4.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: doko at ubuntu dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44628