// PR c++/69850 // { dg-do compile } // { dg-options "-Wnonnull-compare" } template struct A { static void foo (T *x) { x->bar (); } }; template struct B { T b; void operator= (B) { A::foo (&b); } }; struct C { void bar () { delete[] this; } // { dg-bogus "nonnull argument" } }; struct D { B d; }; struct G { D g[6]; void baz (); }; int a; void G::baz () { g[a] = g[1]; }