blob: e280a056381c0b445eee3d6d3e9cc0eae91e9dc9 [file] [log] [blame]
// { dg-do compile { target c++11 } }
// { dg-options "-Wzero-as-null-pointer-constant" }
struct A;
typedef int (A::*pointmemfun) (int);
typedef int (A::*pointdmem);
typedef int (*pointfun) (int);
pointmemfun pmfs;
pointdmem pdms;
pointfun pfs;
int* ps;
void f()
{
pointmemfun pmf(0); // { dg-warning "zero as null pointer" }
pointdmem pdm(0); // { dg-warning "zero as null pointer" }
pointfun pf(0); // { dg-warning "zero as null pointer" }
int* p(0); // { dg-warning "zero as null pointer" }
pointmemfun pmfn(nullptr);
pointdmem pdmn(nullptr);
pointfun pfn(nullptr);
int* pn(nullptr);
pmf = 0; // { dg-warning "zero as null pointer" }
pdm = 0; // { dg-warning "zero as null pointer" }
pf = 0; // { dg-warning "zero as null pointer" }
p = 0; // { dg-warning "zero as null pointer" }
pmf = nullptr;
pdm = nullptr;
pf = nullptr;
p = nullptr;
if (pmf)
;
if (pdm)
;
if (pf)
;
if (p)
;
if (!pmf)
;
if (!pdm)
;
if (!pf)
;
if (!p)
;
if (pmf == 0) // { dg-warning "14: zero as null pointer" }
;
if (pdm == 0) // { dg-warning "14: zero as null pointer" }
;
if (pf == 0) // { dg-warning "13: zero as null pointer" }
;
if (p == 0) // { dg-warning "12: zero as null pointer" }
;
if (0 == pmf) // { dg-warning "zero as null pointer" }
;
if (0 == pdm) // { dg-warning "zero as null pointer" }
;
if (0 == pf) // { dg-warning "zero as null pointer" }
;
if (0 == p) // { dg-warning "zero as null pointer" }
;
if (pmf != 0) // { dg-warning "zero as null pointer" }
;
if (pdm != 0) // { dg-warning "zero as null pointer" }
;
if (pf != 0) // { dg-warning "zero as null pointer" }
;
if (p != 0) // { dg-warning "zero as null pointer" }
;
if (0 != pmf) // { dg-warning "zero as null pointer" }
;
if (0 != pdm) // { dg-warning "zero as null pointer" }
;
if (0 != pf) // { dg-warning "zero as null pointer" }
;
if (0 != p) // { dg-warning "zero as null pointer" }
;
if (pmf == nullptr)
;
if (pdm == nullptr)
;
if (pf == nullptr)
;
if (p == nullptr)
;
if (nullptr == pmf)
;
if (nullptr == pdm)
;
if (nullptr == pf)
;
if (nullptr == p)
;
if (pmf != nullptr)
;
if (pdm != nullptr)
;
if (pf != nullptr)
;
if (p != nullptr)
;
if (nullptr != pmf)
;
if (nullptr != pdm)
;
if (nullptr != pf)
;
if (nullptr != p)
;
}