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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.old-deja/] [g++.abi/] [layout1.C] - Diff between revs 305 and 338

Only display areas with differences | Details | Blame | View Log

Rev 305 Rev 338
// { dg-do run  }
// { dg-do run  }
// Origin: Mark Mitchell 
// Origin: Mark Mitchell 
#if defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100
#if defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100
struct R
struct R
{
{
  virtual void r ();
  virtual void r ();
};
};
struct S
struct S
{
{
  virtual void f ();
  virtual void f ();
};
};
struct T : virtual public S
struct T : virtual public S
{
{
  virtual void g ();
  virtual void g ();
};
};
struct U : public R, virtual public T
struct U : public R, virtual public T
{
{
  virtual void h ();
  virtual void h ();
};
};
struct V : public R, virtual public S, virtual public T
struct V : public R, virtual public S, virtual public T
{
{
  virtual void v ();
  virtual void v ();
};
};
struct U1
struct U1
{
{
  R r;
  R r;
  T t;
  T t;
};
};
int main ()
int main ()
{
{
  if (sizeof (U) != sizeof (U1))
  if (sizeof (U) != sizeof (U1))
    return 1;
    return 1;
  if (sizeof (V) != sizeof (U1))
  if (sizeof (V) != sizeof (U1))
    return 2;
    return 2;
}
}
#else /* !(defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100) */
#else /* !(defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100) */
int main ()
int main ()
{
{
}
}
#endif /* !(defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100) */
#endif /* !(defined (__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100) */
 
 

powered by: WebSVN 2.1.0

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