diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.robertl/eb52.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.robertl/eb52.C | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.robertl/eb52.C b/gcc/testsuite/g++.old-deja/g++.robertl/eb52.C new file mode 100644 index 000000000..4607c1c23 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.robertl/eb52.C @@ -0,0 +1,37 @@ +// { dg-do assemble } +class base { +protected: + virtual void f(); +}; + +class d1 : public virtual base { +protected: + void f(); +}; + +void d1::f() +{ + base::f(); +} + +class dd1 : public virtual d1 { +protected: + void f(); +}; + +void dd1::f() +{ + d1::f(); + base::f(); +} + +class d1_and_base : public virtual d1, public virtual base { +protected: + void f(); +}; + +void d1_and_base::f() +{ + d1::f(); + base::f(); +} |