Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / testsuite / g++.dg / cpp0x / Wzero-as-null-pointer-constant-1.C
bloba9dd155475de01c033d88fc410b77afd1945d18f
1 // { dg-do compile { target c++11 } }
2 // { dg-options "-Wzero-as-null-pointer-constant" }
4 struct A;
6 typedef int (A::*pointmemfun) (int);
7 typedef int (A::*pointdmem);
8 typedef int (*pointfun) (int);
10 pointmemfun pmfs;
11 pointdmem   pdms;
12 pointfun    pfs;
13 int*        ps;
15 void f()
17   pointmemfun pmf(0);   // { dg-warning "zero as null pointer" }
18   pointdmem   pdm(0);   // { dg-warning "zero as null pointer" }
19   pointfun    pf(0);    // { dg-warning "zero as null pointer" }
20   int*        p(0);     // { dg-warning "zero as null pointer" }
22   pointmemfun pmfn(nullptr);
23   pointdmem   pdmn(nullptr);
24   pointfun    pfn(nullptr);
25   int*        pn(nullptr);
27   pmf = 0;              // { dg-warning "zero as null pointer" }
29   pdm = 0;              // { dg-warning "zero as null pointer" }
31   pf = 0;               // { dg-warning "zero as null pointer" }
33   p = 0;                // { dg-warning "zero as null pointer" }
35   pmf = nullptr;
37   pdm = nullptr;
39   pf = nullptr;
41   p = nullptr;
43   if (pmf)
44     ;
45   
46   if (pdm)
47     ;
49   if (pf)
50     ;
52   if (p)
53     ;
55   if (!pmf)
56     ;
57   
58   if (!pdm)
59     ;
61   if (!pf)
62     ;
64   if (!p)
65     ;
67   if (pmf == 0)         // { dg-warning "zero as null pointer" }
68     ;
69   
70   if (pdm == 0)         // { dg-warning "zero as null pointer" }
71     ;
73   if (pf == 0)          // { dg-warning "zero as null pointer" }
74     ;
76   if (p == 0)           // { dg-warning "zero as null pointer" }
77     ;
79   if (0 == pmf)         // { dg-warning "zero as null pointer" }
80     ;
81   
82   if (0 == pdm)         // { dg-warning "zero as null pointer" }
83     ;
85   if (0 == pf)          // { dg-warning "zero as null pointer" }
86     ;
88   if (0 == p)           // { dg-warning "zero as null pointer" }
89     ;
91   if (pmf != 0)         // { dg-warning "zero as null pointer" }
92     ;
93   
94   if (pdm != 0)         // { dg-warning "zero as null pointer" }
95     ;
97   if (pf != 0)          // { dg-warning "zero as null pointer" }
98     ;
100   if (p != 0)           // { dg-warning "zero as null pointer" }
101     ;
103   if (0 != pmf)         // { dg-warning "zero as null pointer" }
104     ;
105   
106   if (0 != pdm)         // { dg-warning "zero as null pointer" }
107     ;
109   if (0 != pf)          // { dg-warning "zero as null pointer" }
110     ;
112   if (0 != p)           // { dg-warning "zero as null pointer" }
113     ;
115   if (pmf == nullptr)
116     ;
118   if (pdm == nullptr)
119     ;
121   if (pf == nullptr)
122     ;
124   if (p == nullptr)
125     ;
127   if (nullptr == pmf)
128     ;
130   if (nullptr == pdm)
131     ;
133   if (nullptr == pf)
134     ;
136   if (nullptr == p)
137     ;
139   if (pmf != nullptr)
140     ;
142   if (pdm != nullptr)
143     ;
145   if (pf != nullptr)
146     ;
148   if (p != nullptr)
149     ;
151   if (nullptr != pmf)
152     ;
154   if (nullptr != pdm)
155     ;
157   if (nullptr != pf)
158     ;
160   if (nullptr != p)
161     ;