here is C++ tescase, compile with -O2:
(reduced from mozilla's crash in nsAutoCompleteController::ClosePopup())
------------------------------------------------------------------------------
extern "C" void abort (void);

struct T
{
  virtual void foo (void);
};

struct A : T
{
};

struct C
{
  A *p;
  
  C ()
  {
    p = 0;
  }    
  
  operator A* () const
  {
    return p;
  }
};

int main (void)
{
  C c;
  T t;
  if (c == &t)
    return 0;
  if (c)
    abort ();
  return 0;
}
------------------------------------------------------------------------------

-- 
           Summary: -ftree-vrp produces wrong code
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: critical
          Priority: P2
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: belyshev at depni dot sinp dot msu dot ru
                CC: dnovillo at gcc dot gnu dot org,gcc-bugs at gcc dot gnu
                    dot org


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

Reply via email to