------- Comment #4 from pinskia at gcc dot gnu dot org  2009-12-24 05:40 -------
Here is a reduced testcase without the include:
struct complex
{
  complex(float b = 0.0, float c = 0.0) { __real__ a = b; __imag__ a = c; }
  _Complex float a;
};

struct A {
   virtual int value() const=0;
};

struct B : virtual public A {
   bool isOne() const { return A::value() == 1; }
};

struct C : public B {
   int value() const { return 1; }
};

struct D {
   void foo(complex x) const;
};

void callFoo()
{
   C c;
   D d;
   if (c.isOne()) d.foo(0);
}

---- CUT ----
Note making the complex a non-POD makes the warning go away.

Also it works on the trunk.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c++                         |middle-end
           Keywords|                            |diagnostic
      Known to work|                            |4.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42488

Reply via email to