// PR c++/69850 // { dg-do compile } // { dg-options "-Wnonnull-compare" } struct D { virtual ~D (); void foo () const { delete this; } // { dg-bogus "nonnull argument" } template friend struct A; }; template struct A { static void bar (T *x) { x->foo (); } }; template struct B { T b; void baz () { A::bar (&b); } }; class C { class E : public D { ~E (); }; void baz (); B c; }; void C::baz () { c.baz (); }