comparison gcc/testsuite/g++.dg/warn/Wplacement-new-size-2.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
138 new (rbx.ax.a) int[5678]; 138 new (rbx.ax.a) int[5678];
139 } 139 }
140 140
141 void fBx1 () 141 void fBx1 ()
142 { 142 {
143 BAx bax1 = { 1, /* Ax = */ { 2, /* a[] = */ { 3 } } }; 143 BAx bax1 = { 1, /* Ax = */ { 2, /* a[] = */ {} } };
144 144
145 new (bax1.ax.a) char; 145 new (bax1.ax.a) char; // { dg-warning "placement" }
146 new (bax1.ax.a) char[2]; // { dg-warning "placement" } 146 new (bax1.ax.a) char[2]; // { dg-warning "placement" }
147 new (bax1.ax.a) Int16; // { dg-warning "placement" } 147 new (bax1.ax.a) Int16; // { dg-warning "placement" }
148 new (bax1.ax.a) Int32; // { dg-warning "placement" } 148 new (bax1.ax.a) Int32; // { dg-warning "placement" }
149 }
150
151 void fBx2 ()
152 {
153 BAx bax2 = { 1, /* Ax = */ { 2, /* a[] = */ { 3, 4 } } };
154
155 new (bax2.ax.a) char;
156 new (bax2.ax.a) char[2];
157 new (bax2.ax.a) char[3]; // { dg-warning "placement" }
158 new (bax2.ax.a) Int16;
159 new (bax2.ax.a) char[4]; // { dg-warning "placement" }
160 new (bax2.ax.a) Int32; // { dg-warning "placement" }
161 }
162
163 void fBx3 ()
164 {
165 BAx bax2 = { 1, /* Ax = */ { 3, /* a[] = */ { 4, 5, 6 } } };
166
167 new (bax2.ax.a) char;
168 new (bax2.ax.a) char[2];
169 new (bax2.ax.a) Int16;
170 new (bax2.ax.a) char[3];
171 new (bax2.ax.a) char[4]; // { dg-warning "placement" }
172 new (bax2.ax.a) Int32; // { dg-warning "placement" }
173 } 149 }
174 150
175 void fB0 (BA0 *pb0, BA0 &rb0) 151 void fB0 (BA0 *pb0, BA0 &rb0)
176 { 152 {
177 BA0 ba0; 153 BA0 ba0;