view gcc/testsuite/g++.dg/inherit/conv3.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR 31074
// Bug: The reference cast wasn't finding the desired static_cast followed by
// const_cast interpretation.

struct Shape
{
  Shape() {}
  virtual ~Shape() {}
};

struct Loop
{
  Loop() {}
  virtual ~Loop() {}
  virtual void func() {}
};

struct Rect :
  public Shape,
  public Loop
{
  Rect() {}
  virtual ~Rect() {}
};

int main ()
{
  const Rect* rect = new Rect();
  Loop &l = ((Loop&)(*rect));
  return (&l != (const Loop *)rect);
}