vthunk1.C   [plain text]


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