view gcc/testsuite/g++.dg/lto/20080904_0.C @ 111:04ced10e8804

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

// { dg-lto-do run }

/* This test will fail to link if the vtable for Derived is not emitted.  */

class Base {
public:
  Base(char *buf, unsigned len)
    : _buf(buf),
      _len(len)
  {}

  virtual int length () { return _len; }

private:
  char * _buf;
  unsigned _len;
};

class Derived : public Base {
public:
  Derived(char *buf, unsigned len)
    : Base(buf, len),
      _ctr(len)
  {}

  virtual int length () { return _ctr; }

private:
  unsigned _ctr;
};

int main ()
{
  Derived *d = new Derived (new char[256], 256);

  return 0;
}