summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/other/vthunk1.C
blob: 90165628b4510a0a441406d9d155b780a04130d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// PR c++/12007 Multiple inheritance float pass by value fails
// { dg-do run }

extern "C" void abort (void);

class gvImpl
{
public:
  virtual void PutVal(float value){}
};

class foo { public: virtual void Bar(){} };

class myGv: public foo, public gvImpl
{
  void PutVal(float value){ if (value != 3.14159f) abort (); }
};

myGv x;
gvImpl* object = &x;

int main()
{
  object->PutVal(3.14159f);
  return 0;
}