------- 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