view gcc/testsuite/g++.dg/warn/Wnonnull-compare-3.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR c++/69850
// { dg-do compile }
// { dg-options "-Wnonnull-compare" }

template <typename T>
struct A {
  static void foo (T *x) { x->bar (); }
};
template <typename T>
struct B {
  T b;
  void operator= (B) { A<T>::foo (&b); }
};
struct C {
  void bar () { delete[] this; }	// { dg-bogus "nonnull argument" }
};
struct D { B<C> d; };
struct G {
  D g[6];
  void baz ();
};
int a;

void
G::baz ()
{
  g[a] = g[1];
}