URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 149 |
Rev 154 |
// Tests for various visibility mismatch situations.
|
// Tests for various visibility mismatch situations.
|
|
|
// { dg-require-visibility "" }
|
// { dg-require-visibility "" }
|
|
|
// { dg-final { scan-not-hidden "_ZN1A1fEv" } }
|
// { dg-final { scan-not-hidden "_ZN1A1fEv" } }
|
|
|
struct __attribute ((visibility ("hidden"))) A
|
struct __attribute ((visibility ("hidden"))) A
|
{
|
{
|
// This is OK, A::f gets default visibility.
|
// This is OK, A::f gets default visibility.
|
__attribute ((visibility ("default"))) void f ();
|
__attribute ((visibility ("default"))) void f ();
|
};
|
};
|
|
|
void A::f() { }
|
void A::f() { }
|
|
|
// This gets a warning because B objects might rely
|
// This gets a warning because B objects might rely
|
// on hidden symbols from A.
|
// on hidden symbols from A.
|
struct B
|
struct B
|
{ // { dg-warning "visibility" }
|
{ // { dg-warning "visibility" }
|
A a;
|
A a;
|
};
|
};
|
|
|
// This one has explicit visibility, so it doesn't get a warning.
|
// This one has explicit visibility, so it doesn't get a warning.
|
struct __attribute ((visibility ("default"))) C
|
struct __attribute ((visibility ("default"))) C
|
{
|
{
|
A a;
|
A a;
|
};
|
};
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.