1 // PR c++/12007 Multiple inheritance float pass by value fails
2 // { dg-do run }
3 
4 extern "C" void abort (void);
5 
6 class gvImpl
7 {
8 public:
PutVal(float value)9   virtual void PutVal(float value){}
10 };
11 
Bar()12 class foo { public: virtual void Bar(){} };
13 
14 class myGv: public foo, public gvImpl
15 {
PutVal(float value)16   void PutVal(float value){ if (value != 3.14159f) abort (); }
17 };
18 
19 myGv x;
20 gvImpl* object = &x;
21 
main()22 int main()
23 {
24   object->PutVal(3.14159f);
25   return 0;
26 }
27