diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/net35.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/net35.C | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net35.C b/gcc/testsuite/g++.old-deja/g++.mike/net35.C new file mode 100644 index 000000000..bded913c0 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.mike/net35.C @@ -0,0 +1,28 @@ +// { dg-do run } +extern "C" int printf(const char *, ...); + +class A { + public: + char *x; +}; + +class B1:public virtual A { }; + +class B2:public virtual A { }; + +class C:public B1, public B2 { +public: + C() { } +}; + +int main() { + C c; + printf("&c.x = %x\n", &c.x); + printf("&c.B1::x = %x\n", &c.B1::x); + printf("&c.B2::x = %x\n", &c.B2::x); + printf("&c.A::x = %x\n", &c.A::x); + if (&c.x != &c.B1::x + || &c.x != &c.B2::x + || &c.x != &c.A::x) + return 1; +} |