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

Reply via email to