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()12class 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()22int main() 23 { 24 object->PutVal(3.14159f); 25 return 0; 26 } 27