URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 301 |
Rev 338 |
// Test that we can refer to the address of a base member of a null pointer
|
// Test that we can refer to the address of a base member of a null pointer
|
// to get its offset. The standard says that offsetof shall not be used on
|
// to get its offset. The standard says that offsetof shall not be used on
|
// non-POD classes, but there seems to be no such restriction on the common
|
// non-POD classes, but there seems to be no such restriction on the common
|
// implementation thereof.
|
// implementation thereof.
|
|
|
// Yes, this is bad, naughty, evil code. But it seems to be well-formed.
|
// Yes, this is bad, naughty, evil code. But it seems to be well-formed.
|
// So we'll just warn.
|
// So we'll just warn.
|
|
|
// { dg-do run }
|
// { dg-do run }
|
|
|
struct A { int i; };
|
struct A { int i; };
|
|
|
struct B: public A {
|
struct B: public A {
|
virtual void f ();
|
virtual void f ();
|
};
|
};
|
|
|
struct C: public B { };
|
struct C: public B { };
|
|
|
int main ()
|
int main ()
|
{
|
{
|
return ((__SIZE_TYPE__) &((C*)0)->i) != sizeof(void*); // { dg-warning "offsetof|invalid" "" }
|
return ((__SIZE_TYPE__) &((C*)0)->i) != sizeof(void*); // { dg-warning "offsetof|invalid" "" }
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.