// 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; }