URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
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) */
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.