URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Only display areas with differences |
Details |
Blame |
View Log
Rev 305 |
Rev 338 |
// { dg-do assemble }
|
// { dg-do assemble }
|
// Test that referring to an ambiguous base in name lookup prevents
|
// Test that referring to an ambiguous base in name lookup prevents
|
// access to the field, even though the field is not ambiguous.
|
// access to the field, even though the field is not ambiguous.
|
|
|
|
|
struct A {
|
struct A {
|
int i;
|
int i;
|
};
|
};
|
struct B: virtual A { };
|
struct B: virtual A { };
|
struct C: public B { };
|
struct C: public B { };
|
struct D: public B { };
|
struct D: public B { };
|
struct E: public C, public D {
|
struct E: public C, public D {
|
void f ();
|
void f ();
|
};
|
};
|
|
|
void E::f() {
|
void E::f() {
|
B::i = 0; // { dg-error "" } B is ambiguous
|
B::i = 0; // { dg-error "" } B is ambiguous
|
}
|
}
|
|
|
void f () {
|
void f () {
|
E e;
|
E e;
|
e.B::i = 0; // { dg-error "" } B is ambiguous
|
e.B::i = 0; // { dg-error "" } B is ambiguous
|
}
|
}
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.