/* No devirtualization happens here, but A::foo should not end up as reachable
   because the constructor of A is unreachable and therefore the virtual
   method table referring to A::foo is optimized out.  */
/* { dg-do run } */
/* { dg-options "-O2 -fdump-tree-ssa"  } */
class B {
public:
  virtual int foo(void)
{
  return 0;
}
};
namespace {
class A : public B {
public:
  virtual int foo(void)
{
  return 1;
}
};
}
class B a, *b=&a;

int main()
{
  if (0)
    {
    class A a;
    a.foo();
    }
  return b->foo();
}

/* { dg-final { scan-tree-dump-not "A::foo" "ssa"} } */
