aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/opt/vtgc1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/opt/vtgc1.C')
-rw-r--r--gcc/testsuite/g++.dg/opt/vtgc1.C136
1 files changed, 0 insertions, 136 deletions
diff --git a/gcc/testsuite/g++.dg/opt/vtgc1.C b/gcc/testsuite/g++.dg/opt/vtgc1.C
deleted file mode 100644
index 511d45b36e7..00000000000
--- a/gcc/testsuite/g++.dg/opt/vtgc1.C
+++ /dev/null
@@ -1,136 +0,0 @@
-// { dg-do compile }
-// { dg-options "-fvtable-gc" }
-// Origin: Hans-Peter Nilsson <hp@bitrange.com>
-
-class Base0
-{
-public:
- Base0(); virtual ~Base0();
- virtual void f1();
- virtual void f2();
-private:
- int a_value;
-};
-
-class Base1 : public Base0
-{
-public:
- Base1(); virtual ~Base1();
- virtual void f1(), f2();
- virtual void f3();
-};
-
-class Base2 : public Base1
-{
-public:
- Base2(); virtual ~Base2();
- virtual void f1(), f2();
- virtual void f4();
-};
-
-class VbasedA : virtual public Base2
-{
-public:
- VbasedA(); virtual ~VbasedA();
- virtual void f1(), f2(), f3();
- virtual void f6();
-};
-
-class Side0
-{
-public:
- Side0(); virtual ~Side0();
- virtual void x1();
- virtual void xx();
-private:
- int ryan;
-};
-
-class Multisv0 : public Side0, virtual public Base2
-{
-public:
- Multisv0(); virtual ~Multisv0();
- virtual void f1(), f2();
- virtual void f3();
- virtual void f6();
- virtual void xx();
-};
-
-class Multivs1 : public Base2, virtual public Side0
-{
-public:
- Multivs1(); virtual ~Multivs1(); virtual void f1(); virtual void fx2();
- virtual void fx4(), fx5();
- virtual void f6();
- virtual void xx();
-};
-
-class Multiss2 : public Base2, public Side0
-{
-public:
- Multiss2(); virtual ~Multiss2(); virtual void f1(); virtual void fx2();
- virtual void fx4();
- virtual void f6();
- virtual void xx();
-};
-
-class Multivv3 : virtual public Base2, virtual public Side0
-{
-public:
- Multivv3(); virtual ~Multivv3(); virtual void f1(); virtual void fx2();
- virtual void fx4(), fx5();
- virtual void f6();
- virtual void xx();
-};
-
-Base0::Base0() {}
-Base0::~Base0() {}
-Base1::Base1() {}
-Base1::~Base1() {}
-Base2::Base2() {}
-Base2::~Base2() {}
-VbasedA::VbasedA() {}
-VbasedA::~VbasedA() {}
-Multisv0::Multisv0() {}
-Multisv0::~Multisv0() {}
-Multivs1::Multivs1() {}
-Multivs1::~Multivs1() {}
-Multiss2::Multiss2() {}
-Multiss2::~Multiss2() {}
-Multivv3::Multivv3() {}
-Multivv3::~Multivv3() {}
-Side0::Side0() {}
-Side0::~Side0() {}
-
-extern void x (VbasedA *);
-extern void x2 (Multisv0 *);
-extern void x3 (Multivs1 *);
-extern void x4 (Multiss2 *);
-extern void x5 (Multivv3 *);
-void y () { VbasedA ii; x(&ii);}
-void y2 () { Multisv0 ii; x2(&ii);}
-void y3 () { Multivs1 ii; x3(&ii);}
-void y4 () { Multiss2 ii; x4(&ii);}
-void y5 () { Multivv3 ii; x5(&ii);}
-void x (VbasedA *ii) { ii->f2();}
-void x2 (Multisv0 *ii) { ii->f2();}
-void x3 (Multivs1 *ii) { ii->f2();}
-void x4 (Multiss2 *ii) { ii->f2();}
-void x5 (Multivv3 *ii) { ii->f2();}
-
-// Use .* because of ia64's convention of marking symbols with "#", which
-// makes it through the c++filt.
-
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Multivv3.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*VTT for Multivv3.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Multiss2.*vtable for Base2" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Multivs1.*vtable for Base2" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*VTT for Multivs1.*vtable for Base2" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Multisv0.*vtable for Side0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*VTT for Multisv0.*vtable for Side0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Side0.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for VbasedA.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*VTT for VbasedA.*0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Base2.*vtable for Base1" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Base1.*vtable for Base0" } }
-// { dg-final { scan-assembler-dem "\.vtable_inherit\[ \t\]*vtable for Base0.*0" } }