[Bug tree-optimization/33869] [4.3 Regression] ICE verify_ssa failed (missing definition for SSA_NAME)

tbm at cyrius dot com gcc-bugzilla@gcc.gnu.org
Tue Oct 23 10:48:00 GMT 2007



------- Comment #2 from tbm at cyrius dot com  2007-10-23 10:47 -------
/* Testcase by Martin Michlmayr <tbm@cyrius.com> */

template < const int dim > class Point
{
  public:
    Point ()
    {
    }
    void operator= (const Point & rhs);
  private:
    float m_elem[dim];
};

template < const int dim > void Point < dim >::operator= (const Point < dim >
&rhs)
{
  if (this == &rhs)
  for (int i = 0; i < dim; ++i)
    m_elem[i] = rhs.m_elem[i];
}
template < const int dim > class AxisBox
{
  public:
    AxisBox ()
    {
    }
    AxisBox (const Point < dim > &p1, const Point < dim > &p2, bool ordered =
false)
    {
      setCorners ();
    }
    AxisBox (const AxisBox & a):m_low (a.m_low), m_high (a.m_high)
    {
    }
    void setCorners (void);
  private:
    Point < dim > m_low, m_high;
};
template < const int dim > class RotBox
{
  public:
    AxisBox < dim > boundingBox () const;
  private:
    Point < dim > m_corner0;
};
template < const int dim > AxisBox < dim > RotBox < dim >::boundingBox () const
{
  Point < dim > min = m_corner0, max = m_corner0;
  return AxisBox < dim > (min, max, true);
}
template < const int dim > void AxisBox <dim> ::setCorners (void)
{
  const Point < dim > p2;
  m_high = p2;
}
template < typename Shape > class ShapeTerrainMod
{
  virtual AxisBox < 2 > bbox () const;
  Shape m_shape;
};
template < typename Shape > AxisBox < 2 > ShapeTerrainMod < Shape >::bbox
()const
{
  return m_shape.boundingBox ();
}
template class ShapeTerrainMod < RotBox < 2 > >;


-- 


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



More information about the Gcc-bugs mailing list