view gcc/testsuite/g++.dg/overload/virtual2.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
line wrap: on
line source

// PR c++/52746
// { dg-do run }

extern "C" int printf(const char*,...);
extern "C" void abort();
bool db;

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

struct B : public A
{
  virtual ~B() { db = true; }
};

template<int> void test()
{
  B * b = new B;
  A * a = b;
  a->~A();
  ::operator delete(b);
}

int main()
{
  test<0>();
  if (!db)
    abort();
}