OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-old/] [gcc-4.2.2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.other/] [vtbl2.C] - Diff between revs 154 and 816

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 154 Rev 816
// { dg-do run  }
// { dg-do run  }
// Copyright (C) 2000 Free Software Foundation, Inc.
// Copyright (C) 2000 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 8 Feb 2000 
// Contributed by Nathan Sidwell 8 Feb 2000 
// vtable construction reorganisation broke this
// vtable construction reorganisation broke this
// execution test
// execution test
#include 
#include 
static int fail = 0;
static int fail = 0;
void bad (char const *name)
void bad (char const *name)
{
{
  printf ("Bad %s\n", name);
  printf ("Bad %s\n", name);
  fail = 1;
  fail = 1;
}
}
void ok (char const *name)
void ok (char const *name)
{
{
  printf ("Ok %s\n", name);
  printf ("Ok %s\n", name);
}
}
struct Core
struct Core
{
{
  virtual ~Core ();
  virtual ~Core ();
  virtual void Wibble () {bad (__PRETTY_FUNCTION__);}
  virtual void Wibble () {bad (__PRETTY_FUNCTION__);}
  virtual void Wobble () {bad (__PRETTY_FUNCTION__);}
  virtual void Wobble () {bad (__PRETTY_FUNCTION__);}
  virtual void Bogus  () {bad (__PRETTY_FUNCTION__);}
  virtual void Bogus  () {bad (__PRETTY_FUNCTION__);}
};
};
struct Side
struct Side
{
{
  virtual ~Side ();
  virtual ~Side ();
  virtual void Arfle () {bad (__PRETTY_FUNCTION__);}
  virtual void Arfle () {bad (__PRETTY_FUNCTION__);}
  virtual void Barfle () {bad (__PRETTY_FUNCTION__);}
  virtual void Barfle () {bad (__PRETTY_FUNCTION__);}
  virtual void Gloop () {bad (__PRETTY_FUNCTION__);}
  virtual void Gloop () {bad (__PRETTY_FUNCTION__);}
  virtual void Glorp () {bad (__PRETTY_FUNCTION__);}
  virtual void Glorp () {bad (__PRETTY_FUNCTION__);}
  virtual void Glump () {bad (__PRETTY_FUNCTION__);}
  virtual void Glump () {bad (__PRETTY_FUNCTION__);}
  virtual void Bogus  () {bad (__PRETTY_FUNCTION__);}
  virtual void Bogus  () {bad (__PRETTY_FUNCTION__);}
};
};
struct Base : Core
struct Base : Core
{
{
  virtual ~Base ();
  virtual ~Base ();
  virtual void Bink () {bad (__PRETTY_FUNCTION__);}
  virtual void Bink () {bad (__PRETTY_FUNCTION__);}
  virtual void Bonk () {bad (__PRETTY_FUNCTION__);}
  virtual void Bonk () {bad (__PRETTY_FUNCTION__);}
  virtual void  Bogus () {bad (__PRETTY_FUNCTION__);}
  virtual void  Bogus () {bad (__PRETTY_FUNCTION__);}
};
};
struct Multi : Base, Side
struct Multi : Base, Side
{
{
  virtual ~Multi ();
  virtual ~Multi ();
  virtual void Stomped () {ok (__PRETTY_FUNCTION__);}
  virtual void Stomped () {ok (__PRETTY_FUNCTION__);}
  virtual void Bunk () {bad (__PRETTY_FUNCTION__);}
  virtual void Bunk () {bad (__PRETTY_FUNCTION__);}
  virtual void Bogus () {bad (__PRETTY_FUNCTION__);}
  virtual void Bogus () {bad (__PRETTY_FUNCTION__);}
};
};
struct Trail : Multi
struct Trail : Multi
{
{
  virtual ~Trail ();
  virtual ~Trail ();
};
};
Core::~Core () {}
Core::~Core () {}
Side::~Side () {}
Side::~Side () {}
Base::~Base () {}
Base::~Base () {}
Multi::~Multi () {}
Multi::~Multi () {}
Trail::~Trail () {}
Trail::~Trail () {}
void foo (Multi *ptr)
void foo (Multi *ptr)
{
{
  ptr->Stomped ();
  ptr->Stomped ();
}
}
int main ()
int main ()
{
{
  Multi m;
  Multi m;
  Trail t;
  Trail t;
  foo (&m);
  foo (&m);
  foo (&t);
  foo (&t);
  return fail != 0;
  return fail != 0;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.