]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
Handle C++11 <math.h> overloads on Solaris 12
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
ef3a7506
RO
12015-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2
3 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): New test.
4 * configure.ac: Use it.
5 * configure: Regenerate.
6 * config.h.in: Regenerate.
7
8 * include/c_global/cmath [__cplusplus >= 201103L]
9 (std::fpclassify): Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
10 (std::isfinite): Likewise.
11 (std::isinf): Likewise.
12 (std::isnan): Likewise.
13 (std::isnormal): Likewise.
14 (std::signbit): Likewise.
15 (std::isgreater): Likewise.
16 (std::isgreaterequal): Likewise.
17 (std::isless): Likewise.
18 (std::islessequal): Likewise.
19 (std::islessgreater): Likewise.
20 (std::isunordered): Likewise.
21 (std::acosh): Likewise.
22 (std::asinh): Likewise.
23 (std::atanh): Likewise.
24 (std::cbrt): Likewise.
25 (std::copysign): Likewise.
26 (std::erf): Likewise.
27 (std::erfc): Likewise.
28 (std::exp2): Likewise.
29 (std::expm1): Likewise.
30 (std::fdim): Likewise.
31 (std::fma): Likewise.
32 (std::fmax): Likewise.
33 (std::fmin): Likewise.
34 (std::hypot): Likewise.
35 (std::ilogb): Likewise.
36 (std::lgamma): Likewise.
37 (std::llrint): Likewise.
38 (std::llround): Likewise.
39 (std::log1p): Likewise.
40 (std::log2): Likewise.
41 (std::logb): Likewise.
42 (std::lrint): Likewise.
43 (std::lround): Likewise.
44 (std::nearbyint): Likewise.
45 (std::nextafter): Likewise.
46 (std::nexttoward): Likewise.
47 (std::remainder): Likewise.
48 (std::remquo): Likewise.
49 (std::rint): Likewise.
50 (std::round): Likewise.
51 (std::scalbln): Likewise.
52 (std::scalbn): Likewise.
53 (std::tgamma): Likewise.
54 (std::trunc): Likewise.
55 * include/tr1/cmath [_GLIBCXX_USE_C99_MATH_TR1] (std::tr1::acosh):
56 Wrap in !__CORRECT_ISO_CPP11_MATH_H_PROTO.
57 (std::tr1::asinh): Likewise.
58 (std::tr1::atanh): Likewise.
59 (std::tr1::cbrt): Likewise.
60 (std::tr1::copysign): Likewise.
61 (std::tr1::erf): Likewise.
62 (std::tr1::erfc): Likewise.
63 (std::tr1::exp2): Likewise.
64 (std::tr1::expm1): Likewise.
65 (std::tr1::fabs): Likewise.
66 (std::tr1::fdim): Likewise.
67 (std::tr1::fma): Likewise.
68 (std::tr1::fmax): Likewise.
69 (std::tr1::fmin): Likewise.
70 (std::tr1::hypot): Likewise.
71 (std::tr1::ilogb): Likewise.
72 (std::tr1::lgamma): Likewise.
73 (std::tr1::llrint): Likewise.
74 (std::tr1::llround): Likewise.
75 (std::tr1::log1p): Likewise.
76 (std::tr1::log2): Likewise.
77 (std::tr1::logb): Likewise.
78 (std::tr1::lrint): Likewise.
79 (std::tr1::lround): Likewise.
80 (std::tr1::nearbyint): Likewise.
81 (std::tr1::nextafter): Likewise.
82 (std::tr1::nexttoward): Likewise.
83 (std::tr1::remainder): Likewise.
84 (std::tr1::remquo): Likewise.
85 (std::tr1::rint): Likewise.
86 (std::tr1::scalbln): Likewise.
87 (std::tr1::scalbn): Likewise.
88 (std::tr1::tgamma): Likewise.
89 (std::tr1::trunc): Likewise.
90 (std::tr1::pow): Likewise.
91
92 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
93 Restrict dg-xfail-if, dg-excess-errors to *-*-solaris2.1[01]*.
94
3b589313
DE
952015-11-21 David Edelsohn <dje.gcc@gmail.com>
96
97 * testsuite/23_containers/vector/profile/vector.cc: Add maxdata
98 option on AIX.
99
cdccafd9
JK
1002015-11-20 Jan Kratochvil <jan.kratochvil@redhat.com>
101
102 PR libstdc++/68448
103 * python/hook.in: Call register_libstdcxx_printers.
104 * python/libstdcxx/v6/__init__.py: Wrap it to
105 register_libstdcxx_printers.
106
5f0b7c95
JW
1072015-11-17 Jonathan Wakely <jwakely@redhat.com>
108
cdccafd9 109 PR libstdc++/66059
5f0b7c95
JW
110 * include/std/utility (_Build_index_tuple): Optimise.
111
46d825c5
DE
1122015-11-16 Doug Evans <dje@google.com>
113
114 PR libstdc++/67440
115 * python/libstdcxx/v6/printers.py (find_type): Handle "const" in
116 type name.
117 * testsuite/libstdc++-prettyprinters/debug.cc: Add test for
118 const set<int>.
119 * testsuite/libstdc++-prettyprinters/simple.cc: Ditto.
120 * testsuite/libstdc++-prettyprinters/simple11.cc: Ditto.
121
356510ac
JW
1222015-11-15 Jonathan Wakely <jwakely@redhat.com>
123
124 PR libstdc++/68353
125 * include/bits/basic_string.h: Test value of _GLIBCXX_USE_C99_WCHAR
126 not whether it is defined.
127 * include/ext/vstring.h: Likewise.
128
301d1d00
AT
1292015-11-14 Andreas Tobler <andreast@gcc.gnu.org>
130
131 * acinclude.m4 (GLIBCXX_ENABLE_CLOCALE): Change locale implementation
132 from darwin to DragonFly.
133 * configure: Regenerate.
134 * config/os/bsd/freebsd/ctype_configure_char.cc: Improve locale
135 support, do it the same as DragonFly.
136 * config/os/bsd/freebsd/os_defines.h: Add fine grained C99 defines.
137
230b4ede
JW
1382015-11-14 Jonathan Wakely <jwakely@redhat.com>
139
140 * testsuite/21_strings/basic_string/capacity/char/18654.cc: Use
141 real minimum capacity.
142 * testsuite/21_strings/basic_string/capacity/wchar_t/18654.cc:
143 Likewise.
144
bfc6afd9
DE
1452015-11-13 David Edelsohn <dje.gcc@gmail.com>
146
147 * testsuite/experimental/random/randint.cc: Add dg-add-options tls.
148
5ae465c5
JW
1492015-11-13 Jonathan Wakely <jwakely@redhat.com>
150
151 * include/Makefile.am: Add new header.
152 * include/Makefile.in: Regenerate.
153 * include/experimental/random: New.
154 * testsuite/experimental/random/randint.cc: New.
155
4216708a
JM
1562015-11-13 John Marino <gnugcc@marino.st>
157
158 * testsuite/22_locale/codecvt/always_noconv/char/wrapped_env.cc:
159 Use portable locale name
160 * testsuite/22_locale/codecvt/always_noconv/char/wrapped_locale.cc:
161 Likewise.
162 * testsuite/22_locale/codecvt/always_noconv/wchar_t/2.cc: Likewise.
163 * testsuite/22_locale/codecvt/always_noconv/wchar_t/3.cc: Likewise.
164 * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_env.cc:
165 Likewise.
166 * testsuite/22_locale/codecvt/always_noconv/wchar_t/wrapped_locale.cc:
167 Likewise.
168 * testsuite/22_locale/codecvt/encoding/char/wrapped_env.cc: Likewise.
169 * testsuite/22_locale/codecvt/encoding/char/wrapped_locale.cc:
170 Likewise.
171 * testsuite/22_locale/codecvt/encoding/wchar_t/2.cc: Likewise.
172 * testsuite/22_locale/codecvt/encoding/wchar_t/3.cc: Likewise.
173 * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_env.cc:
174 Likewise.
175 * testsuite/22_locale/codecvt/encoding/wchar_t/wrapped_locale.cc:
176 Likewise.
177 * testsuite/22_locale/codecvt/in/char/wrapped_env.cc: Likewise.
178 * testsuite/22_locale/codecvt/in/char/wrapped_locale.cc: Likewise.
179 * testsuite/22_locale/codecvt/in/wchar_t/2.cc: Likewise.
180 * testsuite/22_locale/codecvt/in/wchar_t/wrapped_env.cc: Likewise.
181 * testsuite/22_locale/codecvt/in/wchar_t/wrapped_locale.cc: Likewise.
182 * testsuite/22_locale/codecvt/length/char/wrapped_env.cc: Likewise.
183 * testsuite/22_locale/codecvt/length/char/wrapped_locale.cc: Likewise.
184 * testsuite/22_locale/codecvt/length/wchar_t/2.cc: Likewise.
185 * testsuite/22_locale/codecvt/length/wchar_t/3.cc: Likewise.
186 * testsuite/22_locale/codecvt/length/wchar_t/wrapped_env.cc: Likewise.
187 * testsuite/22_locale/codecvt/length/wchar_t/wrapped_locale.cc:
188 Likewise.
189 * testsuite/22_locale/codecvt/max_length/char/wrapped_env.cc: Likewise.
190 * testsuite/22_locale/codecvt/max_length/char/wrapped_locale.cc:
191 Likewise.
192 * testsuite/22_locale/codecvt/max_length/wchar_t/2.cc: Likewise.
193 * testsuite/22_locale/codecvt/max_length/wchar_t/3.cc: Likewise.
194 * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_env.cc:
195 Likewise.
196 * testsuite/22_locale/codecvt/max_length/wchar_t/wrapped_locale.cc:
197 Likewise.
198 * testsuite/22_locale/codecvt/out/char/wrapped_env.cc: Likewise.
199 * testsuite/22_locale/codecvt/out/char/wrapped_locale.cc: Likewise.
200 * testsuite/22_locale/codecvt/out/wchar_t/2.cc: Likewise.
201 * testsuite/22_locale/codecvt/out/wchar_t/7.cc: Likewise.
202 * testsuite/22_locale/codecvt/out/wchar_t/wrapped_env.cc: Likewise.
203 * testsuite/22_locale/codecvt/out/wchar_t/wrapped_locale.cc: Likewise.
204 * testsuite/22_locale/codecvt/unshift/char/wrapped_env.cc: Likewise.
205 * testsuite/22_locale/codecvt/unshift/char/wrapped_locale.cc: Likewise.
206 * testsuite/22_locale/codecvt/unshift/wchar_t/2.cc: Likewise.
207 * testsuite/22_locale/codecvt/unshift/wchar_t/3.cc: Likewise.
208 * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_env.cc: Likewise.
209 * testsuite/22_locale/codecvt/unshift/wchar_t/wrapped_locale.cc:
210 Likewise.
211 * testsuite/22_locale/codecvt_byname/50714.cc: Likewise.
212 * testsuite/22_locale/collate/compare/char/1.cc: Likewise.
213 * testsuite/22_locale/collate/compare/char/2.cc: Likewise.
214 * testsuite/22_locale/collate/compare/char/3.cc: Likewise.
215 * testsuite/22_locale/collate/compare/char/wrapped_env.cc: Likewise.
216 * testsuite/22_locale/collate/compare/char/wrapped_locale.cc: Likewise.
217 * testsuite/22_locale/collate/compare/wchar_t/1.cc: Likewise.
218 * testsuite/22_locale/collate/compare/wchar_t/2.cc: Likewise.
219 * testsuite/22_locale/collate/compare/wchar_t/3.cc: Likewise.
220 * testsuite/22_locale/collate/compare/wchar_t/wrapped_env.cc: Likewise.
221 * testsuite/22_locale/collate/compare/wchar_t/wrapped_locale.cc:
222 Likewise.
223 * testsuite/22_locale/collate/hash/char/2.cc: Likewise.
224 * testsuite/22_locale/collate/hash/char/wrapped_env.cc: Likewise.
225 * testsuite/22_locale/collate/hash/char/wrapped_locale.cc: Likewise.
226 * testsuite/22_locale/collate/hash/wchar_t/2.cc: Likewise.
227 * testsuite/22_locale/collate/hash/wchar_t/wrapped_env.cc: Likewise.
228 * testsuite/22_locale/collate/hash/wchar_t/wrapped_locale.cc: Likewise.
229 * testsuite/22_locale/collate/transform/char/2.cc: Likewise.
230 * testsuite/22_locale/collate/transform/char/3.cc: Likewise.
231 * testsuite/22_locale/collate/transform/char/wrapped_env.cc: Likewise.
232 * testsuite/22_locale/collate/transform/char/wrapped_locale.cc:
233 Likewise.
234 * testsuite/22_locale/collate/transform/wchar_t/2.cc: Likewise.
235 * testsuite/22_locale/collate/transform/wchar_t/3.cc: Likewise.
236 * testsuite/22_locale/collate/transform/wchar_t/wrapped_env.cc:
237 Likewise.
238 * testsuite/22_locale/collate/transform/wchar_t/wrapped_locale.cc:
239 Likewise.
240 * testsuite/22_locale/collate_byname/named_equivalence.cc: Likewise.
241 * testsuite/22_locale/ctype/cons/char/wrapped_env.cc: Likewise.
242 * testsuite/22_locale/ctype/cons/char/wrapped_locale.cc: Likewise.
243 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
244 * testsuite/22_locale/ctype/is/char/wrapped_env.cc: Likewise.
245 * testsuite/22_locale/ctype/is/char/wrapped_locale.cc: Likewise.
246 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
247 * testsuite/22_locale/ctype/is/wchar_t/wrapped_env.cc: Likewise.
248 * testsuite/22_locale/ctype/is/wchar_t/wrapped_locale.cc: Likewise.
249 * testsuite/22_locale/ctype/narrow/char/wrapped_env.cc: Likewise.
250 * testsuite/22_locale/ctype/narrow/char/wrapped_locale.cc: Likewise.
251 * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_env.cc: Likewise.
252 * testsuite/22_locale/ctype/narrow/wchar_t/wrapped_locale.cc: Likewise.
253 * testsuite/22_locale/ctype/scan/char/wrapped_env.cc: Likewise.
254 * testsuite/22_locale/ctype/scan/char/wrapped_locale.cc: Likewise.
255 * testsuite/22_locale/ctype/scan/wchar_t/wrapped_env.cc: Likewise.
256 * testsuite/22_locale/ctype/scan/wchar_t/wrapped_locale.cc: Likewise.
257 * testsuite/22_locale/ctype/to/char/wrapped_env.cc: Likewise.
258 * testsuite/22_locale/ctype/to/char/wrapped_locale.cc: Likewise.
259 * testsuite/22_locale/ctype/to/wchar_t/wrapped_env.cc: Likewise.
260 * testsuite/22_locale/ctype/to/wchar_t/wrapped_locale.cc: Likewise.
261 * testsuite/22_locale/ctype/widen/char/wrapped_env.cc: Likewise.
262 * testsuite/22_locale/ctype/widen/char/wrapped_locale.cc: Likewise.
263 * testsuite/22_locale/ctype/widen/wchar_t/2.cc: Likewise.
264 * testsuite/22_locale/ctype/widen/wchar_t/wrapped_env.cc: Likewise.
265 * testsuite/22_locale/ctype/widen/wchar_t/wrapped_locale.cc: Likewise.
266 * testsuite/22_locale/facet/2.cc: Likewise.
267 * testsuite/22_locale/locale/cons/12352.cc: Likewise.
268 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
269 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
270 * testsuite/22_locale/locale/cons/2.cc: Likewise.
271 * testsuite/22_locale/locale/cons/38365.cc: Likewise.
272 * testsuite/22_locale/locale/cons/38368.cc: Likewise.
273 * testsuite/22_locale/locale/cons/4.cc: Likewise.
274 * testsuite/22_locale/locale/cons/40184.cc: Likewise.
275 * testsuite/22_locale/locale/cons/7.cc: Likewise.
276 * testsuite/22_locale/locale/global_locale_objects/14071.cc: Likewise.
277 * testsuite/22_locale/locale/global_locale_objects/2.cc: Likewise.
278 * testsuite/22_locale/messages/13631.cc: Likewise.
279 * testsuite/22_locale/messages/members/char/1.cc: Likewise.
280 * testsuite/22_locale/messages/members/char/2.cc: Likewise.
281 * testsuite/22_locale/messages/members/char/3.cc: Likewise.
282 * testsuite/22_locale/messages/members/char/wrapped_env.cc: Likewise.
283 * testsuite/22_locale/messages/members/char/wrapped_locale.cc:
284 Likewise.
285 * testsuite/22_locale/messages_byname/named_equivalence.cc: Likewise.
286 * testsuite/22_locale/money_get/get/char/1.cc: Likewise.
287 * testsuite/22_locale/money_get/get/char/10.cc: Likewise.
288 * testsuite/22_locale/money_get/get/char/11.cc: Likewise.
289 * testsuite/22_locale/money_get/get/char/11528.cc: Likewise.
290 * testsuite/22_locale/money_get/get/char/12.cc: Likewise.
291 * testsuite/22_locale/money_get/get/char/13.cc: Likewise.
292 * testsuite/22_locale/money_get/get/char/15.cc: Likewise.
293 * testsuite/22_locale/money_get/get/char/16.cc: Likewise.
294 * testsuite/22_locale/money_get/get/char/17.cc: Likewise.
295 * testsuite/22_locale/money_get/get/char/18.cc: Likewise.
296 * testsuite/22_locale/money_get/get/char/2.cc: Likewise.
297 * testsuite/22_locale/money_get/get/char/3.cc: Likewise.
298 * testsuite/22_locale/money_get/get/char/4.cc: Likewise.
299 * testsuite/22_locale/money_get/get/char/wrapped_env.cc: Likewise.
300 * testsuite/22_locale/money_get/get/char/wrapped_locale.cc: Likewise.
301 * testsuite/22_locale/money_get/get/wchar_t/1.cc: Likewise.
302 * testsuite/22_locale/money_get/get/wchar_t/10.cc: Likewise.
303 * testsuite/22_locale/money_get/get/wchar_t/11.cc: Likewise.
304 * testsuite/22_locale/money_get/get/wchar_t/11528.cc: Likewise.
305 * testsuite/22_locale/money_get/get/wchar_t/12.cc: Likewise.
306 * testsuite/22_locale/money_get/get/wchar_t/13.cc: Likewise.
307 * testsuite/22_locale/money_get/get/wchar_t/15.cc: Likewise.
308 * testsuite/22_locale/money_get/get/wchar_t/16.cc: Likewise.
309 * testsuite/22_locale/money_get/get/wchar_t/17.cc: Likewise.
310 * testsuite/22_locale/money_get/get/wchar_t/18.cc: Likewise.
311 * testsuite/22_locale/money_get/get/wchar_t/2.cc: Likewise.
312 * testsuite/22_locale/money_get/get/wchar_t/3.cc: Likewise.
313 * testsuite/22_locale/money_get/get/wchar_t/4.cc: Likewise.
314 * testsuite/22_locale/money_get/get/wchar_t/wrapped_env.cc: Likewise.
315 * testsuite/22_locale/money_get/get/wchar_t/wrapped_locale.cc:
316 Likewise.
317 * testsuite/22_locale/money_put/put/char/1.cc: Likewise.
318 * testsuite/22_locale/money_put/put/char/2.cc: Likewise.
319 * testsuite/22_locale/money_put/put/char/3.cc: Likewise.
320 * testsuite/22_locale/money_put/put/char/9780-3.cc: Likewise.
321 * testsuite/22_locale/money_put/put/char/wrapped_env.cc: Likewise.
322 * testsuite/22_locale/money_put/put/char/wrapped_locale.cc: Likewise.
323 * testsuite/22_locale/money_put/put/wchar_t/1.cc: Likewise.
324 * testsuite/22_locale/money_put/put/wchar_t/2.cc: Likewise.
325 * testsuite/22_locale/money_put/put/wchar_t/3.cc: Likewise.
326 * testsuite/22_locale/money_put/put/wchar_t/wrapped_env.cc: Likewise.
327 * testsuite/22_locale/money_put/put/wchar_t/wrapped_locale.cc:
328 Likewise.
329 * testsuite/22_locale/moneypunct/40712.cc: Likewise.
330 * testsuite/22_locale/moneypunct/members/char/2.cc: Likewise.
331 * testsuite/22_locale/moneypunct/members/char/wrapped_env.cc:
332 Likewise.
333 * testsuite/22_locale/moneypunct/members/char/wrapped_locale.cc:
334 Likewise.
335 * testsuite/22_locale/moneypunct/members/wchar_t/2.cc: Likewise.
336 * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_env.cc:
337 Likewise.
338 * testsuite/22_locale/moneypunct/members/wchar_t/wrapped_locale.cc:
339 Likewise.
340 * testsuite/22_locale/moneypunct_byname/named_equivalence.cc:
341 Likewise.
342 * testsuite/22_locale/num_get/get/char/1.cc: Likewise.
343 * testsuite/22_locale/num_get/get/char/3.cc: Likewise.
344 * testsuite/22_locale/num_get/get/char/5.cc: Likewise.
345 * testsuite/22_locale/num_get/get/char/6.cc: Likewise.
346 * testsuite/22_locale/num_get/get/char/9.cc: Likewise.
347 * testsuite/22_locale/num_get/get/char/wrapped_env.cc: Likewise.
348 * testsuite/22_locale/num_get/get/char/wrapped_locale.cc: Likewise.
349 * testsuite/22_locale/num_get/get/wchar_t/1.cc: Likewise.
350 * testsuite/22_locale/num_get/get/wchar_t/3.cc: Likewise.
351 * testsuite/22_locale/num_get/get/wchar_t/5.cc: Likewise.
352 * testsuite/22_locale/num_get/get/wchar_t/6.cc: Likewise.
353 * testsuite/22_locale/num_get/get/wchar_t/9.cc: Likewise.
354 * testsuite/22_locale/num_get/get/wchar_t/wrapped_env.cc: Likewise.
355 * testsuite/22_locale/num_get/get/wchar_t/wrapped_locale.cc: Likewise.
356 * testsuite/22_locale/num_put/put/char/1.cc: Likewise.
357 * testsuite/22_locale/num_put/put/char/20909.cc: Likewise.
358 * testsuite/22_locale/num_put/put/char/20914.cc: Likewise.
359 * testsuite/22_locale/num_put/put/char/3.cc: Likewise.
360 * testsuite/22_locale/num_put/put/char/5.cc: Likewise.
361 * testsuite/22_locale/num_put/put/char/9780-2.cc: Likewise.
362 * testsuite/22_locale/num_put/put/char/wrapped_env.cc: Likewise.
363 * testsuite/22_locale/num_put/put/char/wrapped_locale.cc: Likewise.
364 * testsuite/22_locale/num_put/put/wchar_t/1.cc: Likewise.
365 * testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
366 * testsuite/22_locale/num_put/put/wchar_t/20914.cc: Likewise.
367 * testsuite/22_locale/num_put/put/wchar_t/3.cc: Likewise.
368 * testsuite/22_locale/num_put/put/wchar_t/5.cc: Likewise.
369 * testsuite/22_locale/num_put/put/wchar_t/wrapped_env.cc: Likewise.
370 * testsuite/22_locale/num_put/put/wchar_t/wrapped_locale.cc: Likewise.
371 * testsuite/22_locale/numpunct/members/char/2.cc: Likewise.
372 * testsuite/22_locale/numpunct/members/char/3.cc: Likewise.
373 * testsuite/22_locale/numpunct/members/char/wrapped_env.cc: Likewise.
374 * testsuite/22_locale/numpunct/members/char/wrapped_locale.cc:
375 Likewise.
376 * testsuite/22_locale/numpunct/members/wchar_t/2.cc: Likewise.
377 * testsuite/22_locale/numpunct/members/wchar_t/wrapped_env.cc:
378 Likewise.
379 * testsuite/22_locale/numpunct/members/wchar_t/wrapped_locale.cc:
380 Likewise.
381 * testsuite/22_locale/numpunct_byname/named_equivalence.cc: Likewise.
382 * testsuite/22_locale/time_get/date_order/char/wrapped_env.cc:
383 Likewise.
384 * testsuite/22_locale/time_get/date_order/char/wrapped_locale.cc:
385 Likewise.
386 * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_env.cc:
387 Likewise.
388 * testsuite/22_locale/time_get/date_order/wchar_t/wrapped_locale.cc:
389 Likewise.
390 * testsuite/22_locale/time_get/get/char/2.cc: Likewise.
391 * testsuite/22_locale/time_get/get/wchar_t/2.cc: Likewise.
392 * testsuite/22_locale/time_get/get_date/char/12750.cc: Likewise.
393 * testsuite/22_locale/time_get/get_date/char/2.cc: Likewise.
394 * testsuite/22_locale/time_get/get_date/char/26701.cc: Likewise.
395 * testsuite/22_locale/time_get/get_date/char/wrapped_env.cc: Likewise.
396 * testsuite/22_locale/time_get/get_date/char/wrapped_locale.cc:
397 Likewise.
398 * testsuite/22_locale/time_get/get_date/wchar_t/12750.cc: Likewise.
399 * testsuite/22_locale/time_get/get_date/wchar_t/2.cc: Likewise.
400 * testsuite/22_locale/time_get/get_date/wchar_t/26701.cc: Likewise.
401 * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Likewise.
402 * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_env.cc:
403 Likewise.
404 * testsuite/22_locale/time_get/get_date/wchar_t/wrapped_locale.cc:
405 Likewise.
406 * testsuite/22_locale/time_get/get_monthname/char/2.cc: Likewise.
407 * testsuite/22_locale/time_get/get_monthname/char/wrapped_env.cc:
408 Likewise.
409 * testsuite/22_locale/time_get/get_monthname/char/wrapped_locale.cc:
410 Likewise.
411 * testsuite/22_locale/time_get/get_monthname/wchar_t/2.cc: Likewise.
412 * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_env.cc:
413 Likewise.
414 * testsuite/22_locale/time_get/get_monthname/wchar_t/wrapped_locale.cc:
415 Likewise.
416 * testsuite/22_locale/time_get/get_time/char/1.cc: Likewise.
417 * testsuite/22_locale/time_get/get_time/char/2.cc: Likewise.
418 * testsuite/22_locale/time_get/get_time/char/wrapped_env.cc:
419 Likewise.
420 * testsuite/22_locale/time_get/get_time/char/wrapped_locale.cc:
421 Likewise.
422 * testsuite/22_locale/time_get/get_time/wchar_t/1.cc: Likewise.
423 * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
424 * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_env.cc:
425 Likewise.
426 * testsuite/22_locale/time_get/get_time/wchar_t/wrapped_locale.cc:
427 Likewise.
428 * testsuite/22_locale/time_get/get_weekday/char/2.cc: Likewise.
429 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc: Likewise.
430 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
431 * testsuite/22_locale/time_get/get_weekday/char/wrapped_env.cc:
432 Likewise.
433 * testsuite/22_locale/time_get/get_weekday/char/wrapped_locale.cc:
434 Likewise.
435 * testsuite/22_locale/time_get/get_weekday/wchar_t/2.cc: Likewise.
436 * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_env.cc:
437 Likewise.
438 * testsuite/22_locale/time_get/get_weekday/wchar_t/wrapped_locale.cc:
439 Likewise.
440 * testsuite/22_locale/time_get/get_year/char/wrapped_env.cc: Likewise.
441 * testsuite/22_locale/time_get/get_year/char/wrapped_locale.cc:
442 Likewise.
443 * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_env.cc:
444 Likewise.
445 * testsuite/22_locale/time_get/get_year/wchar_t/wrapped_locale.cc:
446 Likewise.
447 * testsuite/22_locale/time_put/put/char/17038.cc: Likewise.
448 * testsuite/22_locale/time_put/put/char/2.cc: Likewise.
449 * testsuite/22_locale/time_put/put/char/3.cc: Likewise.
450 * testsuite/22_locale/time_put/put/char/4.cc: Likewise.
451 * testsuite/22_locale/time_put/put/char/6.cc: Likewise.
452 * testsuite/22_locale/time_put/put/char/7.cc: Likewise.
453 * testsuite/22_locale/time_put/put/char/8.cc: Likewise.
454 * testsuite/22_locale/time_put/put/char/9780-1.cc: Likewise.
455 * testsuite/22_locale/time_put/put/char/wrapped_env.cc: Likewise.
456 * testsuite/22_locale/time_put/put/char/wrapped_locale.cc: Likewise.
457 * testsuite/22_locale/time_put/put/wchar_t/17038.cc: Likewise.
458 * testsuite/22_locale/time_put/put/wchar_t/2.cc: Likewise.
459 * testsuite/22_locale/time_put/put/wchar_t/3.cc: Likewise.
460 * testsuite/22_locale/time_put/put/wchar_t/4.cc: Likewise.
461 * testsuite/22_locale/time_put/put/wchar_t/6.cc: Likewise.
462 * testsuite/22_locale/time_put/put/wchar_t/7.cc: Likewise.
463 * testsuite/22_locale/time_put/put/wchar_t/8.cc: Likewise.
464 * testsuite/22_locale/time_put/put/wchar_t/wrapped_env.cc: Likewise.
465 * testsuite/22_locale/time_put/put/wchar_t/wrapped_locale.cc: Likewise.
466 * testsuite/27_io/basic_filebuf/imbue/char/13007.cc: Likewise.
467 * testsuite/27_io/basic_filebuf/imbue/char/13171-1.cc: Likewise.
468 * testsuite/27_io/basic_filebuf/imbue/char/13171-2.cc: Likewise.
469 * testsuite/27_io/basic_filebuf/imbue/char/13171-4.cc: Likewise.
470 * testsuite/27_io/basic_filebuf/imbue/char/13582-2.cc: Likewise.
471 * testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc: Likewise.
472 * testsuite/27_io/basic_filebuf/imbue/char/2.cc: Likewise.
473 * testsuite/27_io/basic_filebuf/imbue/char/9322.cc: Likewise.
474 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13007.cc: Likewise.
475 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13171-3.cc: Likewise.
476 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-2.cc: Likewise.
477 * testsuite/27_io/basic_filebuf/imbue/wchar_t/13582-3.cc: Likewise.
478 * testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc: Likewise.
479 * testsuite/27_io/basic_filebuf/imbue/wchar_t/2.cc: Likewise.
480 * testsuite/27_io/basic_filebuf/imbue/wchar_t/9322.cc: Likewise.
481 * testsuite/27_io/basic_filebuf/underflow/wchar_t/9520.cc: Likewise.
482 * testsuite/27_io/basic_ios/copyfmt/char/2.cc: Likewise.
483 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/2.cc:
484 Likewise.
485 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/2.cc:
486 Likewise.
487 * testsuite/27_io/basic_streambuf/cons/57394.cc: Likewise.
488 * testsuite/27_io/basic_streambuf/imbue/char/13007-2.cc: Likewise.
489 * testsuite/27_io/basic_streambuf/imbue/char/9322.cc: Likewise.
490 * testsuite/27_io/basic_streambuf/imbue/wchar_t/13007-2.cc: Likewise.
491 * testsuite/27_io/basic_streambuf/imbue/wchar_t/9322.cc: Likewise.
492 * testsuite/27_io/basic_stringbuf/imbue/char/9322.cc: Likewise.
493 * testsuite/27_io/basic_stringbuf/imbue/wchar_t/9322.cc: Likewise.
494 * testsuite/27_io/manipulators/extended/get_money/char/1.cc: Likewise.
495 * testsuite/27_io/manipulators/extended/get_money/wchar_t/1.cc:
496 Likewise.
497 * testsuite/27_io/manipulators/extended/get_time/char/2.cc: Likewise.
498 * testsuite/27_io/manipulators/extended/get_time/wchar_t/2.cc:
499 Likewise.
500 * testsuite/27_io/manipulators/extended/put_money/char/1.cc: Likewise.
501 * testsuite/27_io/manipulators/extended/put_money/wchar_t/1.cc:
502 Likewise.
503 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: Likewise.
504 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc:
505 Likewise.
506 * testsuite/27_io/objects/wchar_t/13582-1_xin.cc: Likewise.
507 * testsuite/27_io/objects/wchar_t/9520.cc: Likewise.
508 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): Check
509 for named locale as appropriate for target.
510 * testsuite/util/testsuite_hooks.h (ISO_8859): Define macro to form
511 target's preferred form of locale name.
512
23c64853
JY
5132015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com>
514 Jonathan Wakely <jwakely@redhat.com>
515
516 PR libstdc++/58393
517 PR libstdc++/61580
518 * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with
519 -std=c++11 as well as -std=c++98, and define separate macros for each.
520 Cache the results of checking for complex math and wide character
521 functions. Reformat for readability.
522 * config.h.in: Regenerate.
523 * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to
524 either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to
525 language standard in use.
526 * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace
527 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
528 * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise.
529 * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise.
530 * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO,
531 _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR.
532 * configure: Regenerate.
533 * include/bits/basic_string.h: Make numeric conversion functions
534 depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or
535 _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
536 * include/ext/vstring.h: Likewise.
537 * include/bits/locale_facets.tcc (std::num_put::_M_insert_float):
538 Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
539 * include/bits/locale_facets_nonio.tcc (std::money_put::do_put):
540 Likewise.
541 * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with
542 _GLIBCXX_USE_C99_MATH.
543 * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with
544 _GLIBCXX_USE_C99_WCHAR.
545 * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with
546 _GLIBCXX_USE_C99_STDIO.
547 * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with
548 _GLIBCXX_USE_C99_STDLIB.
549 * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with
550 _GLIBCXX_USE_C99_WCHAR.
551 * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with
552 _GLIBCXX_USE_C99_STDIO.
553 * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with
554 _GLIBCXX_USE_C99_STDLIB.
555 * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with
556 _GLIBCXX_USE_C99_WCHAR.
557 * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with
558 _GLIBCXX_USE_C99_STDIO.
559 * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with
560 _GLIBCXX_USE_C99_STDLIB.
561 * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with
562 _GLIBCXX_USE_C99_WCHAR.
563 * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with
564 _GLIBCXX_USE_C99_STDLIB.
565 * src/c++98/locale_facets.cc (std::__num_base::_S_format_float):
566 Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
567 * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace
568 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
569 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
570 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc
571 (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
572 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
573 stof.cc: Likewise.
574 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
575 stoi.cc: Likewise.
576 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
577 stol.cc: Likewise.
578 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
579 stold.cc: Likewise.
580 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
581 stoll.cc: Likewise.
582 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
583 stoul.cc: Likewise.
584 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
585 stoull.cc: Likewise.
586 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/
587 to_wstring.cc: Likewise.
588 * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace
589 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
590 * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise.
591 * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions):
592 Change preprocessor #if conditional so that it uses
593 _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and
594 _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99.
595 * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace
596 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH.
597 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace
598 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO.
599 * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace
600 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB.
601 * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise.
602 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace
603 _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR.
604 * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with
605 _GLIBCXX_USE_C99_STDIO.
606
011b25e4
JW
6072015-11-13 Jonathan Wakely <jwakely@redhat.com>
608
609 * include/experimental/bits/shared_ptr.h: Tweak comments.
610
930d5602
FY
6112015-11-13 Fan You <youfan.noey@gmail.com>
612 Jonathan Wakely <jwakely@redhat.com>
613
614 * include/Makefile.am: Add new header.
615 * include/Makefile.in: Regenerate.
616 * include/experimental/bits/shared_ptr.h: New.
617 * include/experimental/memory: Include new header.
618 * testsuite/experimental/memory/shared_ptr/assign/assign.cc: New.
619 * testsuite/experimental/memory/shared_ptr/cast/cast.cc: New.
620 * testsuite/experimental/memory/shared_ptr/comparison/comparison.cc:
621 New.
622 * testsuite/experimental/memory/shared_ptr/cons/alias_ctor.cc: New.
623 * testsuite/experimental/memory/shared_ptr/cons/alloc_ctor.cc: New.
624 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor.cc: New.
625 * testsuite/experimental/memory/shared_ptr/cons/copy_ctor_neg.cc: New.
626 * testsuite/experimental/memory/shared_ptr/cons/default_ctor.cc: New.
627 * testsuite/experimental/memory/shared_ptr/cons/move_ctor.cc: New.
628 * testsuite/experimental/memory/shared_ptr/cons/pointer_ctor.cc: New.
629 * testsuite/experimental/memory/shared_ptr/cons/unique_ptr_ctor.cc:
630 New.
631 * testsuite/experimental/memory/shared_ptr/cons/weak_ptr_ctor.cc: New.
632 * testsuite/experimental/memory/shared_ptr/dest/dest.cc: New.
633 * testsuite/experimental/memory/shared_ptr/modifiers/reset.cc: New.
634 * testsuite/experimental/memory/shared_ptr/modifiers/swap.cc: New.
635 * testsuite/experimental/memory/shared_ptr/observers/bool_conv.cc:
636 New.
637 * testsuite/experimental/memory/shared_ptr/observers/operators.cc:
638 New.
639 * testsuite/experimental/memory/shared_ptr/observers/owner_before.cc:
640 New.
641 * testsuite/experimental/memory/shared_ptr/observers/use_count.cc: New.
642
80144045
JW
6432015-11-13 Jonathan Wakely <jwakely@redhat.com>
644
645 * include/Makefile.am: Add new header.
646 * include/Makefile.in: Regenerate.
647 * include/experimental/memory_resource: Add feature-test macro.
648 * include/experimental/regex: New.
649 * include/experimental/deque: Add alias template using PMR.
650 * include/experimental/forward_list: Likewise.
651 * include/experimental/list: Likewise.
652 * include/experimental/map: Likewise.
653 * include/experimental/set: Likewise.
654 * include/experimental/string: Likewise.
655 * include/experimental/unordered_map: Likewise.
656 * include/experimental/unordered_set: Likewise.
657 * include/experimental/vector: Likewise.
658
bfeffbd1
FY
6592015-11-13 Fan You <youfan.noey@gmail.com>
660
661 * include/Makefile.am: Add new headers.
662 * include/Makefile.in: Regenerate.
663 * include/bits/uses_allocator.h (__erased_type): Define.
664 (__uses_allocator_helper): Check for __erased_type.
665 * include/experimental/memory_resource: New.
666 * include/experimental/utlity: New.
667 * testsuite/experimental/type_erased_allocator/1.cc: New.
668 * testsuite/experimental/type_erased_allocator/1_neg.cc: New.
669 * testsuite/experimental/type_erased_allocator/2.cc: New.
670 * testsuite/experimental/type_erased_allocator/uses_allocator.cc: New.
671
f022ab03
JW
6722015-11-12 Jonathan Wakely <jwakely@redhat.com>
673
fbfae2f0
JW
674 PR libstdc++/56158
675 * include/bits/ios_base.h (_Ios_Fmtflags, _Ios_Openmode, _Ios_Iostate):
676 Define enumerators to ensure all values of type int are valid values
677 of the enumeration type.
678 * testsuite/27_io/ios_base/types/fmtflags/case_label.cc: Add new cases.
679 * testsuite/27_io/ios_base/types/iostate/case_label.cc: Likewise.
680 * testsuite/27_io/ios_base/types/openmode/case_label.cc: Likewise.
681
f022ab03
JW
682 * include/std/thread: Include <cerrno> for EINTR.
683
c3a6648b
VV
6842015-11-12 Ville Voutilainen <ville.voutilainen@gmail.com>
685
686 Implement D0013R2, logical type traits.
687
688 * include/experimental/type_traits (conjunction, disjunction,
689 negation, conjunction_v, disjunction_v, negation_v): New.
690 * include/std/type_traits (conjunction, disjunction, negation):
691 Likewise.
692 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
693 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
694 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
695 Likewise.
696 * testsuite/experimental/type_traits/value.cc: Likewise.
697 * testsuite/20_util/logical_traits/requirements/explicit_instantiation.cc: New.
698 * testsuite/20_util/logical_traits/requirements/typedefs.cc: Likewise.
699 * testsuite/20_util/logical_traits/value.cc: Likewise.
700
53dc6fb8
JW
7012015-11-12 Jonathan Wakely <jwakely@redhat.com>
702
703 * include/experimental/bits/string_view.tcc: Fix doxygen @file.
704
f55e699d
JW
7052015-11-11 Jonathan Wakely <jwakely@redhat.com>
706
c5bd8d52
JW
707 * libsupc++/new_handler.cc: Fix for explicit constructor change.
708
f55e699d
JW
709 PR libstdc++/60421
710 * include/std/thread (this_thread::sleep_for): Retry on EINTR.
711 (this_thread::sleep_until): Retry if time not reached.
712 * src/c++11/thread.cc (__sleep_for): Retry on EINTR.
713 * testsuite/30_threads/this_thread/60421.cc: Test interruption and
714 non-steady clocks.
715
e3907f12 7162015-11-11 Ville Voutilainen <ville.voutilainen@gmail.com>
269fa2a9
VV
717
718 LWG 2510, make the default constructors of library tag types
719 explicit.
720 * include/bits/mutex.h (defer_lock_t, try_lock_t,
721 adopt_lock_t): Add an explicit default constructor.
722 * include/bits/stl_pair.h (piecewise_construct_t): Likewise.
723 * include/bits/uses_allocator.h (allocator_arg_t): Likewise.
724 * libsupc++/new (nothrow_t): Likewise.
725 * testsuite/17_intro/tag_type_explicit_ctor.cc: New.
726
832ca6ac
JW
7272015-11-11 Jonathan Wakely <jwakely@redhat.com>
728
729 PR libstdc++/64651
730 * libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration
731 to __exception_ptr namespace.
732 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL.
733 Remove unnecessary test variables.
734
fb933335
JW
7352015-11-10 Jonathan Wakely <jwakely@redhat.com>
736
d4a9dffb
JW
737 PR libstdc++/68190
738 * include/bits/stl_multiset.h (multiset::find): Fix return types.
739 * include/bits/stl_set.h (set::find): Likewise.
740 * testsuite/23_containers/map/operations/2.cc: Test find return types.
741 * testsuite/23_containers/multimap/operations/2.cc: Likewise.
742 * testsuite/23_containers/multiset/operations/2.cc: Likewise.
743 * testsuite/23_containers/set/operations/2.cc: Likewise.
744
60baa188
JW
745 * doc/xml/manual/status_cxx2017.xml: Update.
746 * doc/html/*: Regenerate.
747
fb933335
JW
748 * include/bits/functional_hash.h: Fix grammar in comment.
749
ec494945
FD
7502015-11-09 François Dumont <fdumont@gcc.gnu.org>
751
752 * include/bits/stl_algo.h
753 (partial_sort_copy): Instantiate std::iterator_traits only if concept
754 checks.
755 (lower_bound): Likewise.
756 (upper_bound): Likewise.
757 (equal_range): Likewise.
758 (binary_search): Likewise.
759 * include/bits/stl_heap.h (pop_heap): Likewise.
760
277ec793
KT
7612015-11-06 Kai Tietz <ktietz70@googlemail.com>
762
763 * testsuite/26_numerics/complex/requirements/constexpr.cc
764 * testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
765 Use constexpr where needed.
766
9a4bbd5d
DM
7672015-11-06 David Malcolm <dmalcolm@redhat.com>
768
769 * testsuite/lib/libstdc++.exp (v3_target_compile): Add
770 -fno-diagnostics-show-caret -fdiagnostics-color=never to
771 option's additional_flags.
772
34148d68
JM
7732015-11-03 Jason Merrill <jason@redhat.com>
774
775 * libsupc++/new: Declare sized deletes.
776
f7632193
VV
7772015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com>
778
779 Make the default constructors of tuple and pair conditionally explicit.
780 * include/std/type_traits (is_unsigned, __is_array_unknown_bounds,
781 __is_default_constructible_atom, __is_default_constructible_safe,
782 __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast,
783 __is_nt_default_constructible_impl, is_nothrow_default_constructible,
784 is_nothrow_constructible, is_nothrow_assignable,
785 is_trivially_constructible, is_trivially_copy_constructible,
786 is_trivially_move_constructible, is_trivially_assignable,
787 is_trivially_copy_assignable, is_trivially_move_assignable,
788 is_trivially_destructible): Simplify.
789 * include/std/type_traits (
790 __do_is_implicitly_default_constructible_impl,
791 __is_implicitly_default_constructible_impl,
792 __is_implicitly_default_constructible_safe,
793 __is_implicitly_default_constructible): New.
794 * include/bits/stl_pair.h (pair::pair()): Use it.
795 * include/std/tuple (tuple<_T1, _T2>::tuple): Use it.
796 * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New.
797 * include/std/tuple (tuple<_Types...>::tuple()): Use it.
798 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
32fec2c8
PC
799 * testsuite/20_util/is_implicitly_default_constructible/
800 requirements/explicit_instantiation.cc: New.
801 * testsuite/20_util/is_implicitly_default_constructible/requirements/
802 typedefs.cc: Likewise.
803 * testsuite/20_util/is_implicitly_default_constructible/value.cc:
804 Likewise.
f7632193 805 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
32fec2c8
PC
806 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
807 Likewise.
f7632193
VV
808 * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise.
809 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
810
93e95400
JW
8112015-10-24 Jonathan Wakely <jwakely@redhat.com>
812
813 * include/std/functional (__invoke_impl): New overloads.
814 (__invoke): Replace with a single function calling __invoke_impl.
815 (invoke): Add C++17 std::invoke.
816 (reference_wrapper::operator()): Qualify call to __invoke.
817 (_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs.
818 (_Mem_fn_base): Remove unused typedefs and implement call operator in
819 terms of __invoke.
820 * include/std/future (__future_base::_Async_state_commonV2): Do not
821 pass reference_wrapper as object argument to call_once.
822 * include/std/type_traits (result_of): Define nested __invoke_type.
823 Handle reference_wrapper as per LWG 2219.
824 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives.
825 * testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests
826 using member functions of reference_wrapper.
827
6fbd5984
JW
8282015-10-24 Jonathan Wakely <jwakely@redhat.com>
829
830 * include/std/future (async): Use deferred function on exception.
831 * testsuite/30_threads/async/except.cc: New.
832
f9badf71
JW
8332015-10-21 Jonathan Wakely <jwakely@redhat.com>
834
835 * include/std/type_traits (__cpp_lib_bool_constant): Define.
836
fe29811c
JW
8372015-10-16 Jonathan Wakely <jwakely@redhat.com>
838
839 * doc/xml/manual/configure.xml: Document
840 --enable-libstdcxx-filesystem-ts option.
841 * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a.
842 * doc/xml/manual/using.xml: Likewise.
843 * doc/html/*: Regenerate.
844
6b6254db
AR
8452015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com>
846
847 * testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable
848 N from const int N = 200000 to const unsigned int N = 10000.
849 Delete useless fill_ascending function call.
850
750002e0
SN
8512015-10-15 Szabolcs Nagy <szabolcs.nagy@arm.com>
852
853 * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for
854 unsupported compiler output.
855
141aa58b
NF
8562015-10-13 Nathan Froyd <froydnj@gcc.gnu.org>
857
858 * config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead
859 of x86intrin.h, and only do so when __SSE3__
860 * include/ext/random: Include emmintrin.h instead of x86intrin.h
861
3c97fe77
JM
8622015-10-11 Joseph Myers <joseph@codesourcery.com>
863
864 * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
865 *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
866 __cxa_thread_atexit_impl.
867 * configure: Regenerate.
868
7b5fde83
JW
8692015-10-09 Jonathan Wakely <jwakely@redhat.com>
870
871 * include/experimental/erase_if.h: Move to ...
872 * include/experimental/bits/erase_if.h: New.
873 * include/experimental/fs_dir.h: Move to ...
874 * include/experimental/bits/fs_dir.h: New.
875 * include/experimental/fs_fwd.h: Move to ...
876 * include/experimental/bits/fs_fwd.h: New.
877 * include/experimental/fs_ops.h: Move to ...
878 * include/experimental/bits/fs_ops.h: New.
879 * include/experimental/fs_path.h: Move to ...
880 * include/experimental/bits/fs_path.h: New.
881 * include/experimental/string_view.tcc: Move to ...
882 * include/experimental/bits/string_view.tcc: New.
883 * include/Makefile.am: Add include/experimental/bits sub-directory.
884 * include/Makefile.in: Regenerate.
885 * include/experimental/filesystem: Adjust includes.
886 * include/experimental/map: Likewise.
887 * include/experimental/set: Likewise.
888 * include/experimental/string_view: Likewise.
889 * include/experimental/unordered_map: Likewise.
890 * include/experimental/unordered_set: Likewise.
891
057ce497
VV
8922015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com>
893
894 PR 67844.
895 * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject
896 conversions from tuple types same as the target tuple.
897 * testsuite/20_util/tuple/67844.cc: New.
898 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add
899 a missing copyright header.
900
8b756210
JW
9012015-10-03 Jonathan Wakely <jwakely@redhat.com>
902
acfdd51f
JW
903 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support
904 for _Manager_alloc.
905
f4cfe221
JW
906 * src/c++98/locale.cc: Fix comment.
907 * src/c++98/locale_init.cc: Likewise.
908
1ca9de51
JW
909 * testsuite/21_strings/basic_string/literals/types.cc: Guard use of
910 wchar_t with _GLIBCXX_USE_WCHAR_T.
911 * testsuite/21_strings/basic_string/literals/values.cc: Likewise.
912 * testsuite/21_strings/basic_string/requirements/citerators.cc:
913 Likewise.
914 * testsuite/22_locale/messages/13631.cc: Likewise.
915 * testsuite/experimental/string_view/literals/types.cc: Likewise.
916 * testsuite/experimental/string_view/literals/values.cc: Likewise.
917
8b756210
JW
918 * src/filesystem/Makefile.am: Add cxx11_abi_sources.
919 * src/filesystem/Makefile.in: Regenerate.
920 * src/filesystem/cow-dir.cc: New.
921 * src/filesystem/cow-ops.cc: New.
922 * src/filesystem/cow-path.cc: New.
923 * src/filesystem/dir.cc: Define macro for new ABI.
924 * src/filesystem/ops.cc: Likewise.
925 * src/filesystem/path.cc: Likewise.
926
7b65155f
JW
9272015-10-02 Jonathan Wakely <jwakely@redhat.com>
928
ee216d80
JW
929 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
930 Minor tweaks to match narrow char version.
931
c980d0b4
JW
932 * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard
933 explicit instantiation with check for new ABI.
934 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
935 Likewise. Use wchar_t as char_type.
936
783aa06e
JW
937 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
938 (basic_string::front() const, basic_string::back() const): Use
939 noexcept instead of _GLIBCXX_NOEXCEPT macro.
940 (__versa_string::front, __versa_string::back): Likewise.
941
38cccb0b
JW
942 * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.
943
7fcdbdd2
JW
944 * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T]
945 (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable.
946 * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T]
947 (path::wstring, path::generic_wstring): Disable.
948 * src/filesystem/path.cc (path::_S_convert_loc)
949 [!_GLIBCXX_USE_WCHAR_T]: Skip conversion.
950 * testsuite/experimental/filesystem/path/assign/assign.cc: Check for
951 wchar_t support.
952 * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise.
953 * testsuite/experimental/filesystem/path/construct/range.cc: Likewise.
954
43222a5e
JW
955 * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic
956 name for paths. Prefer snprintf to sprintf.
957
7b65155f
JW
958 PR libstdc++/67747
959 * src/filesystem/dir.cc (native_readdir): Remove.
960 (_Dir::advance): Use readdir instead of native_readdir.
961 (recursive_directory_iterator(const path&, directory_options,
962 error_code*)): Use swap instead of reset.
963
f14decaf
JW
9642015-10-01 Jonathan Wakely <jwakely@redhat.com>
965
7b8089a3
JW
966 * doc/html/manual/errno.html: Add new file.
967
f14decaf
JW
968 * doc/xml/manual/diagnostics.xml: Document use of errno.
969 * doc/html/*: Regenerate.
970 * config/locale/generic/c_locale.cc (_Save_errno): New helper.
971 (__convert_to_v): Use _Save_errno.
972 * include/ext/string_conversions.h (__stoa): Only restore errno when
973 it isn't set to non-zero.
974
9702ee6a
FD
9752015-09-30 François Dumont <fdumont@gcc.gnu.org>
976 Jonathan Wakely <jwakely@redhat.com>
977
978 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
979 Move...
980 * config/locale/gnu/c++locale_internal.h: ...here in std namespace.
981 * config/locale/gnu/c_locale.cc: Move implementation of latter here.
982 * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates.
983 * src/c++98/Makefile.in: Regenerate.
984 * config/abi/pre/gnu.ver: Adjust.
985
eea10f8c
MK
9862015-09-30 Matthias Klose <doko@ubuntu.com>
987
988 * config/cpu/alpha, config/cpu/ia64: Remove empty directories.
989
ce535a96
JW
9902015-09-29 Jonathan Wakely <jwakely@redhat.com>
991
6d601106
JW
992 * include/ext/string_conversions.h (__stoa): Save and restore errno.
993 * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc:
994 New.
995
b5988229
JW
996 PR libstdc++/67583
997 * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call
998 with mismatched arguments.
999 * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise.
1000
ce535a96
JW
1001 PR libstdc++/65393
1002 * config/abi/pre/gnu.ver: Export new symbols.
1003 * include/std/thread (thread::_State, thread::_State_impl): New types.
1004 (thread::_M_start_thread): Add overload taking unique_ptr<_State>.
1005 (thread::_M_make_routine): Remove.
1006 (thread::_S_make_state): Add.
1007 (thread::_Impl_base, thread::_Impl, thread::_M_start_thread)
1008 [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally.
1009 * src/c++11/thread.cc (execute_native_thread_routine): Rename to
1010 execute_native_thread_routine_compat and re-define to use _State.
1011 (thread::_State::~_State()): Define.
1012 (thread::_M_make_thread): Define new overload.
1013 (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old
1014 overloads conditionally.
1015
80400b04
JW
10162015-09-28 Jonathan Wakely <jwakely@redhat.com>
1017
1018 * include/std/condition_variable (condition_variable::wait): Add
1019 noexcept.
1020 * src/c++11/condition_variable.cc (condition_variable::wait): Call
1021 std::terminate on error (DR 2135).
1022
5e2f2cd5
VV
10232015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com>
1024
1025 Avoid creating dangling references in case of nested tuples
1026 for tuple constructors that construct from other tuples.
1027 * include/std/tuple (_TC::_NonNestedTuple): New.
1028 * include/std/tuple (tuple::_TNTC): New.
1029 * include/std/tuple (tuple(const tuple<_UElements...>&),
1030 tuple(tuple<_UElements...>&&): Use _TNTC.
1031 * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New.
1032
9bc50282
JW
10332015-09-24 Jonathan Wakely <jwakely@redhat.com>
1034
1035 PR libstdc++/67707
1036 * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize
1037 empty object.
1038 * testsuite/23_containers/deque/allocator/move.cc: Check moved-from
1039 deque.
1040
07dc170b
JW
10412015-09-23 Jonathan Wakely <jwakely@redhat.com>
1042
1043 * src/filesystem/ops.cc (canonical): Simplify error handling and
1044 limit number of symlinks that can be resolved.
1045
36670311
JW
10462015-09-23 Jonathan Wakely <jwakely@redhat.com>
1047
429ee11a
JW
1048 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_
1049 prefix from HAVE_STRUCT_DIRENT_D_TYPE.
1050 * config.h.in: Regenerate.
1051 * configure: Regenerate.
1052 * include/experimental/fs_dir.h (operator==, operator==):
1053 Use owner_before instead of pointer equality.
1054 (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
1055 * src/filesystem/dir.cc (ErrorCode): Remove.
1056 (_Dir::advance): Change ErrorCode parameter to error_code*, add
1057 directory_options parameter and check it on error.
1058 (opendir): Rename to open_dir to avoid clashing with macro. Change
1059 ErrorCode parameter to error_code*.
1060 (make_shared_dir): Remove.
1061 (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno.
1062 (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove.
1063 (directory_iterator(const path&, directory_options, error_code*)):
1064 Pass options to _Dir::advance and create non-end iterator on error.
1065 (recursive_directory_iterator(const path&, directory_options,
1066 error_code*)): Clear error_code on ignored error, create non-end
1067 iterator otherwise.
1068 (recursive_directory_iterator::increment): Pass _M_options to
1069 _Dir::advance.
1070 (recursive_directory_iterator::pop): Likewise.
1071 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
1072 New.
1073 * testsuite/experimental/filesystem/iterators/
1074 recursive_directory_iterator.cc: New.
1075
36670311
JW
1076 * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers.
1077 (create_directories): Fix error handling.
1078 * testsuite/experimental/filesystem/operations/create_directories.cc:
1079 New.
1080
561cfdec
JW
10812015-09-21 Jonathan Wakely <jwakely@redhat.com>
1082
1083 PR libstdc++/67647
1084 * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
1085 (basic_string::shrink_to_fit): Fix #endif placement.
1086
236d76c4
TS
10872015-09-19 Tim Shen <timshen@google.com>
1088
1089 PR libstdc++/67361
1090 * include/bits/regex_error.h: Add __throw_regex_error that
1091 supports string.
1092 * include/bits/regex_automaton.h: Add more specific exception
1093 messages.
1094 * include/bits/regex_automaton.tcc: Likewise.
1095 * include/bits/regex_compiler.h: Likewise.
1096 * include/bits/regex_compiler.tcc: Likewise.
1097 * include/bits/regex_scanner.h: Likewise.
1098 * include/bits/regex_scanner.tcc: Likewise.
1099
7215aaed
JW
11002015-09-18 Jonathan Wakely <jwakely@redhat.com>
1101
1102 * include/precompiled/extc++.h: Fix bootstrap error due to
1103 unconditional inclusion of <ext/enc_filebuf.h>.
1104 * include/ext/random: Check for definition of UINT32_C.
1105
05c0e3eb
CM
11062015-09-17 Catherine Moore <clm@codesourcery.com>
1107
1108 * src/c++11/debug.cc: Include <cstdio>.
1109
0b546684
GP
11102015-09-17 Gerald Pfeifer <gerald@pfeifer.com>
1111
1112 * src/c++11/random.cc: Include <cerrno>.
1113
814e52ca
FD
11142015-09-17 François Dumont <fdumont@gcc.gnu.org>
1115
1116 * include/debug/formatter.h
1117 (_Error_formatter::_Parameter::_M_print_field): Deprecate.
1118 (_Error_formatter::_Parameter::_M_print_description): Likewise.
1119 (_Error_formatter::_M_format_word): Likewise.
1120 (_Error_formatter::_M_print_word): Likewise.
1121 (_Error_formatter::_M_print_string): Likewise.
1122 (_Error_formatter::_M_get_max_length): Likewise.
1123 (_Error_formatter::_M_max_length): Delete.
1124 (_Error_formatter::_M_indent): Likewise.
1125 (_Error_formatter::_M_column): Likewise.
1126 (_Error_formatter::_M_first_line): Likewise.
1127 (_Error_formatter::_M_wordwrap): Likewise.
1128 * src/c++11/debug.cc: Adapt.
1129
99f04955
JW
11302015-09-17 Jonathan Wakely <jwakely@redhat.com>
1131
310055e7
JW
1132 PR libstdc++/65913
1133 * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(),
1134 __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the
1135 immediate pointer value, not a variable.
1136 * include/std/atomic (atomic<T>::is_lock_free()): Likewise.
1137 * testsuite/29_atomics/atomic/65913.cc: New.
1138
01610fec
JW
1139 * testsuite/experimental/filesystem/operations/canonical.cc: Remove
1140 non-deterministic part of the test.
1141
a2b4d73d
JW
1142 PR libstdc++/65142
1143 * src/c++11/random.cc (random_device::_M_getval()): Retry after short
1144 reads.
1145
2eb57e54
JW
1146 * include/std/system_error (error_code::operator bool(),
1147 error_condition::operator bool()): Remove redundant conditional
1148 expression.
1149
99f04955
JW
1150 * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it):
1151 Do nothing if exceptions are disabled.
1152 * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise.
1153
30362998
JW
11542015-09-16 Jonathan Wakely <jwakely@redhat.com>
1155
1156 PR libstdc++/67173
1157 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
1158 and PATH_MAX for _GLIBCXX_USE_REALPATH.
1159 * config.h.in: Regenerate.
1160 * configure: Regenerate.
1161 * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
1162 alternative implementation.
1163 * testsuite/experimental/filesystem/operations/canonical.cc: New.
1164 * testsuite/experimental/filesystem/operations/exists.cc: Add more
1165 tests.
1166 * testsuite/experimental/filesystem/operations/absolute.cc: Add test
1167 variables.
1168 * testsuite/experimental/filesystem/operations/copy.cc: Likewise.
1169 * testsuite/experimental/filesystem/operations/current_path.cc:
1170 Likewise.
1171 * testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
1172 * testsuite/experimental/filesystem/operations/status.cc: Likewise.
1173 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
1174 Likewise.
1175
42b6aad9
JW
11762015-09-11 Jonathan Wakely <jwakely@redhat.com>
1177
7c928f72
JW
1178 PR libstdc++/67173
1179 * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for
1180 realpath on Solaris 10.
1181
42b6aad9
JW
1182 PR libstdc++/65142
1183 * src/c++11/random.cc (random_device::_M_getval()): Check read result.
1184
1b741475
JM
11852015-09-11 John Marino <gnugcc@marino.st>
1186 Jonathan Wakely <jwakely@redhat.com>
1187
1188 PR libstdc++/67096
1189 * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points
1190 above U+10FFFF.
1191 * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise.
1192 * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise.
1193 * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise.
1194 * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise.
1195 * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise.
1196 * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise.
1197 * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise.
1198 * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise.
1199 * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise.
1200 * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise.
1201 * testsuite/27_io/objects/wchar_t/10.cc: Likewise.
1202 * testsuite/27_io/objects/wchar_t/11.cc: Likewise.
1203 * testsuite/27_io/objects/wchar_t/12.cc: Likewise.
1204 * testsuite/27_io/objects/wchar_t/13.cc: Likewise.
1205
997ed914
JW
12062015-09-11 Jonathan Wakely <jwakely@redhat.com>
1207
f12ddb62
JW
1208 PR libstdc++/64857
1209 * doc/xml/manual/using.xml: Improve aggregate header documentation.
1210 * doc/html/manual/*: Regenerate.
1211 * include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11
1212 and later and include more extension headers.
1213 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
1214 redundant header.
1215 * testsuite/17_intro/headers/c++200x/: Rename to c++2011.
1216 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove
1217 redundant headers.
1218 * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New.
1219 * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New.
1220 * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New.
1221 * testsuite/17_intro/headers/c++2014/operator_names.cc: New.
1222 * testsuite/17_intro/headers/c++2014/stdc++.cc: New.
1223 * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc:
1224 New.
1225
5caff414
JW
1226 PR libstdc++/58265
1227 * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions.
1228 * doc/html/manual/bugs.html: Regenerate.
1229 * include/bits/basic_string.h (basic_string): Implement N4258. Add
1230 correct exception-specifications and propagate allocators correctly.
1231 * include/bits/basic_string.tcc (basic_string::swap): Propagate
1232 allocators correctly.
1233 * include/debug/string (__gnu_debug::basic_string): Add correct
1234 exceptions-specifications and allcoator-extended constructors.
1235 * testsuite/21_strings/basic_string/allocator/char/copy.cc: New.
1236 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
1237 New.
1238 * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New.
1239 * testsuite/21_strings/basic_string/allocator/char/move.cc: New.
1240 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
1241 New.
1242 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New.
1243 * testsuite/21_strings/basic_string/allocator/char/swap.cc: New.
1244 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New.
1245 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
1246 New.
1247 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New.
1248 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New.
1249 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
1250 New.
1251 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New.
1252 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New.
1253 * testsuite/util/testsuite_allocator.h (tracker_allocator): Define
1254 defaulted assignment operators.
1255
997ed914
JW
1256 PR libstdc++/65092
1257 * include/bits/stl_queue.h (queue, priority_queue): Add
1258 allocator-extended constructors.
1259 * include/bits/stl_stack.h (stack): Likewise.
1260 * testsuite/23_containers/priority_queue/requirements/
1261 uses_allocator.cc: Test allocator-extended constructors.
1262 * testsuite/23_containers/queue/requirements/uses_allocator.cc:
1263 Likewise.
1264 * testsuite/23_containers/stack/requirements/uses_allocator.cc:
1265 Likewise.
1266
94eb2ddb
JW
12672015-09-10 Jonathan Wakely <jwakely@redhat.com>
1268
a7890973
JW
1269 * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add.
1270
94eb2ddb
JW
1271 * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the
1272 string contents.
1273
2f1e8e7c
JW
12742015-09-09 Jonathan Wakely <jwakely@redhat.com>
1275
1276 * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document.
1277 * doc/html/manual/using_macros.html: Regenerate.
1278 * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when
1279 _GLIBCXX_DEBUG is defined. Disable std::string extern templates when
1280 (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on
1281 _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG.
1282 * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define
1283 __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty.
1284 * include/backward/auto_ptr.h (auto_ptr::operator*,
1285 auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with
1286 __glibcxx_assert.
1287 * include/bits/basic_string.h (basic_string::operator[],
1288 basic_string::front, basic_string::back, basic_string::pop_back):
1289 Likewise.
1290 * include/bits/random.h
1291 (uniform_int_distribution::param_type::param_type,
1292 uniform_real_distribution::param_type::param_type,
1293 normal_distribution::param_type::param_type,
1294 gamma_distribution::param_type::param_type,
1295 bernoulli_distribution::param_type::param_type,
1296 binomial_distribution::param_type::param_type,
1297 geometric_distribution::param_type::param_type,
1298 negative_binomial_distribution::param_type::param_type,
1299 poisson_distribution::param_type::param_type,
1300 exponential_distribution::param_type::param_type): Likewise.
1301 * include/bits/regex.h (match_results::operator[],
1302 match_results::prefix, match_results::suffix): Likewise.
1303 * include/bits/regex.tcc (format, regex_iterator::operator++):
1304 Likewise.
1305 * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise.
1306 * include/bits/regex_compiler.tcc (_Compiler::_Compiler,
1307 _Compiler::_M_insert_character_class_matcher): Likewise.
1308 * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise.
1309 * include/bits/regex_scanner.tcc (_Scanner::_M_advance,
1310 _Scanner::_M_scan_normal): Likewise.
1311 * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset,
1312 __shared_ptr::operator*): Likewise.
1313 * include/bits/stl_iterator_base_funcs.h (__advance): Likewise.
1314 * include/bits/unique_ptr.h (unique_ptr::operator*,
1315 unique_ptr::operator[]): Likewise.
1316 * include/experimental/fs_path.h (path::path(string_type, _Type),
1317 path::iterator::operator++, path::iterator::operator--,
1318 path::iterator::operator*): Likewise.
1319 * include/experimental/string_view (basic_string_view::operator[],
1320 basic_string_view::front, basic_string_view::back,
1321 basic_string_view::remove_prefix): Likewise.
1322 * include/ext/random (beta_distribution::param_type::param_type,
1323 normal_mv_distribution::param_type::param_type,
1324 rice_distribution::param_type::param_type,
1325 pareto_distribution::param_type::param_type,
1326 k_distribution::param_type::param_type,
1327 arcsine_distribution::param_type::param_type,
1328 hoyt_distribution::param_type::param_type,
1329 triangular_distribution::param_type::param_type,
1330 von_mises_distribution::param_type::param_type,
1331 hypergeometric_distribution::param_type::param_type,
1332 logistic_distribution::param_type::param_type): Likewise.
1333 * include/ext/vstring.h (__versa_string::operator[]): Likewise.
1334 * include/std/complex (polar): Likewise.
1335 * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK]
1336 (timed_mutex::~timed_mutex, timed_mutex::unlock,
1337 (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock):
1338 Likewise.
1339 * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER]
1340 (__shared_mutex_pthread::__shared_mutex_pthread,
1341 __shared_mutex_pthread::~__shared_mutex_pthread): Likewise.
1342 (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock,
1343 __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared,
1344 __shared_mutex_pthread::try_lock_shared): Likewise.
1345 (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock,
1346 __shared_mutex_cv::unlock_shared): Likewise.
1347 (shared_timed_mutex::try_lock_until,
1348 shared_timed_mutex::try_lock_shared_until): Likewise.
1349 * include/std/valarray (valarray::valarray(const _Tp*, size_t),
1350 valarray::operator=, valarray::sum, valarray::min, valarray::max,
1351 _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR):
1352 Likewise.
1353
d8356196
JW
13542015-09-07 Jonathan Wakely <jwakely@redhat.com>
1355
93023f35
JW
1356 * include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change
1357 _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT.
1358 * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise.
1359 * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on
1360 empty shared_ptr.
1361
12dee005
JW
1362 * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready):
1363 Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY.
1364
2d5e3740
JW
1365 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename
1366 shadowed variable.
1367
d8356196
JW
1368 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on
1369 darwin.
1370 * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin.
1371
c79c59f0
JW
13722015-09-04 Jonathan Wakely <jwakely@redhat.com>
1373
1374 PR libstdc++/65704
1375 * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock.
f16081c2
JW
1376
1377 PR libstdc++/65704
1378 * include/Makefile.am: Add <bits/mutex.h>.
1379 * include/Makefile.in: Regenerate.
1380 * include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock):
1381 New file containing types moved from <mutex>.
1382 * include/std/condition_variable: Include <bits/mutex.h> instead of
1383 <mutex>.
1384 * include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock):
1385 Move to <bits/mutex.h>.
1386 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove
1387 dg-require-gthreads-timed.
1388 * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
1389 Likewise.
1390 * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
1391 Likewise.
1392 * testsuite/30_threads/recursive_timed_mutex/dest/
1393 destructor_locked.cc: Likewise.
1394 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1395 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1396 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
1397 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
1398 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1399 Likewise.
1400 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1401 Likewise.
1402 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1403 Likewise.
1404 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1405 Likewise.
1406 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1407 Likewise.
1408 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
1409 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1410 * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
1411 * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
1412 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
1413 Likewise.
1414 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1415 * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
1416 Likewise.
1417 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1418 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1419 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1420 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1421 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1422 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1423 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1424 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1425 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1426 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1427 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1428 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1429 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1430
20b5f0b3
ESR
14312015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net>
1432 Jonathan Wakely <jwakely@redhat.com>
1433
1434 Add C++11 header <cuchar>.
1435 * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define.
1436 * config.h.in: Regenerate.
1437 * configure: Regenerate.
1438 * configure.ac: Check for <uchar.h>.
1439 * include/Makefile.am: Add new headers.
1440 * include/Makefile.in: Regenerate.
1441 * include/c/cuchar: New.
1442 * include/c_compatibility/uchar.h: New.
1443 * include/c_global/cuchar: New.
1444 * include/c_std/cuchar: New.
1445 * include/precompiled/stdc++.h: Include <cuchar>.
1446 * testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>.
1447 * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc:
1448 Include <uchar.h>.
1449
57003677
JW
14502015-09-04 Jonathan Wakely <jwakely@redhat.com>
1451
1452 PR libstdc++/65473
1453 * include/c/cassert: Include <bits/c++config.h>.
1454 * include/c/cerrno: Likewise.
1455 * include/c/cfloat: Likewise.
1456 * include/c/ciso646: Likewise.
1457 * include/c/climits: Likewise.
1458 * include/c_global/cassert: Likewise.
1459 * include/c_global/cerrno: Likewise.
1460 * include/c_global/cfloat: Likewise.
1461 * include/c_global/ciso646: Likewise.
1462 * include/c_global/climits: Likewise.
1463 * include/c_std/cassert: Likewise.
1464 * include/c_std/cerrno: Likewise.
1465 * include/c_std/cfloat: Likewise.
1466 * include/c_std/ciso646: Likewise.
1467 * include/c_std/climits: Likewise.
1468
500dc9a6
JW
14692015-09-03 Jonathan Wakely <jwakely@redhat.com>
1470
c8c03058
JW
1471 * include/bits/shared_ptr_base.h: Add required header.
1472 * include/std/condition_variable: Likewise.
1473 * include/std/mutex: Remove unused header.
1474 * include/std/shared_mutex: Remove redundant header.
1475 (shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc.
1476
433f6725
JW
1477 PR libstdc++/66902
1478 * src/c++11/debug.cc (_S_debug_messages): Make array const.
1479
eb8bf686
JW
1480 PR libstdc++/66998
1481 * include/experimental/functional (_Not_fn): Add exception
1482 specifications and non-deduced return types.
1483 (not_fn): Add exception specification and wrap pointer-to-member.
1484 * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context
1485 and test pointer-to-member.
1486
500dc9a6
JW
1487 PR libstdc++/62039
1488 * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept
1489 checks.
1490 * testsuite/24_iterators/operations/prev_neg.cc: New.
1491 * testsuite/24_iterators/operations/next_neg.cc: New.
1492
37d13ae6
SH
14932015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
1494
1495 * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target
1496 selector to all lines which contain a *-*-cygwin target selector.
1497 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
1498 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise.
1499 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise.
1500 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
1501 * testsuite/21_strings/basic_string/pthread33394.cc: Likewise.
1502 * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
1503 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
1504 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
1505 * testsuite/23_containers/list/pthread1.cc: Likewise.
1506 * testsuite/23_containers/list/pthread5.cc: Likewise.
1507 * testsuite/23_containers/map/pthread6.cc: Likewise.
1508 * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise.
1509 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
1510 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
1511 * testsuite/30_threads/async/42819.cc: Likewise.
1512 * testsuite/30_threads/async/49668.cc: Likewise.
1513 * testsuite/30_threads/async/54297.cc: Likewise.
1514 * testsuite/30_threads/async/any.cc: Likewise.
1515 * testsuite/30_threads/async/async.cc: Likewise.
1516 * testsuite/30_threads/async/launch.cc: Likewise.
1517 * testsuite/30_threads/async/lwg2021.cc: Likewise.
1518 * testsuite/30_threads/async/sync.cc: Likewise.
1519 * testsuite/30_threads/call_once/39909.cc: Likewise.
1520 * testsuite/30_threads/call_once/49668.cc: Likewise.
1521 * testsuite/30_threads/call_once/60497.cc: Likewise.
1522 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
1523 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1524 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
1525 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
1526 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
1527 * testsuite/30_threads/condition_variable/members/3.cc: Likewise.
1528 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1529 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
1530 Likewise.
1531 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
1532 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1533 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
1534 * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise.
1535 * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise.
1536 * testsuite/30_threads/future/cons/move.cc: Likewise.
1537 * testsuite/30_threads/future/members/45133.cc: Likewise.
1538 * testsuite/30_threads/future/members/get.cc: Likewise.
1539 * testsuite/30_threads/future/members/get2.cc: Likewise.
1540 * testsuite/30_threads/future/members/share.cc: Likewise.
1541 * testsuite/30_threads/future/members/valid.cc: Likewise.
1542 * testsuite/30_threads/future/members/wait.cc: Likewise.
1543 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
1544 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
1545 * testsuite/30_threads/lock/1.cc: Likewise.
1546 * testsuite/30_threads/lock/2.cc: Likewise.
1547 * testsuite/30_threads/lock/3.cc: Likewise.
1548 * testsuite/30_threads/lock/4.cc: Likewise.
1549 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
1550 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
1551 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
1552 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
1553 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
1554 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
1555 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
1556 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
1557 * testsuite/30_threads/mutex/unlock/2.cc: Likewise.
1558 * testsuite/30_threads/packaged_task/49668.cc: Likewise.
1559 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1560 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
1561 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
1562 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
1563 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1564 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
1565 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
1566 * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise.
1567 * testsuite/30_threads/packaged_task/members/at_thread_exit.cc:
1568 Likewise.
1569 * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise.
1570 * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise.
1571 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
1572 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
1573 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
1574 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
1575 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
1576 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
1577 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
1578 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
1579 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
1580 * testsuite/30_threads/promise/60966.cc: Likewise.
1581 * testsuite/30_threads/promise/cons/1.cc: Likewise.
1582 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1583 * testsuite/30_threads/promise/cons/move.cc: Likewise.
1584 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
1585 * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise.
1586 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
1587 * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
1588 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
1589 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
1590 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
1591 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
1592 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
1593 * testsuite/30_threads/promise/members/swap.cc: Likewise.
1594 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
1595 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
1596 Likewise.
1597 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
1598 * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise.
1599 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
1600 Likewise.
1601 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
1602 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
1603 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
1604 * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise.
1605 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
1606 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
1607 Likewise.
1608 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
1609 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
1610 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
1611 Likewise.
1612 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
1613 Likewise.
1614 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
1615 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
1616 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
1617 Likewise.
1618 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
1619 Likewise.
1620 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
1621 Likewise.
1622 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
1623 Likewise.
1624 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
1625 Likewise.
1626 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
1627 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise.
1628 * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
1629 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
1630 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
1631 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
1632 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
1633 * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
1634 * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
1635 * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
1636 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1637 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1638 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1639 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1640 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1641 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1642 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1643 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1644 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1645 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1646 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1647 * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise.
1648 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise.
1649 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise.
1650 * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise.
1651 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1652 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise.
1653 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1654 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise.
1655 * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise.
1656 * testsuite/30_threads/this_thread/1.cc: Likewise.
1657 * testsuite/30_threads/this_thread/2.cc: Likewise.
1658 * testsuite/30_threads/this_thread/3.cc: Likewise.
1659 * testsuite/30_threads/this_thread/4.cc: Likewise.
1660 * testsuite/30_threads/thread/cons/1.cc: Likewise.
1661 * testsuite/30_threads/thread/cons/2.cc: Likewise.
1662 * testsuite/30_threads/thread/cons/3.cc: Likewise.
1663 * testsuite/30_threads/thread/cons/4.cc: Likewise.
1664 * testsuite/30_threads/thread/cons/49668.cc: Likewise.
1665 * testsuite/30_threads/thread/cons/5.cc: Likewise.
1666 * testsuite/30_threads/thread/cons/6.cc: Likewise.
1667 * testsuite/30_threads/thread/cons/7.cc: Likewise.
1668 * testsuite/30_threads/thread/cons/8.cc: Likewise.
1669 * testsuite/30_threads/thread/cons/9.cc: Likewise.
1670 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
1671 * testsuite/30_threads/thread/members/1.cc: Likewise.
1672 * testsuite/30_threads/thread/members/2.cc: Likewise.
1673 * testsuite/30_threads/thread/members/3.cc: Likewise.
1674 * testsuite/30_threads/thread/members/4.cc: Likewise.
1675 * testsuite/30_threads/thread/members/5.cc: Likewise.
1676 * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise.
1677 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1678 * testsuite/30_threads/thread/swap/1.cc: Likewise.
1679 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
1680 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
1681 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
1682 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
1683 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise.
1684 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
1685 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
1686 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
1687 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
1688 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
1689 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
1690 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
1691 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1692 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
1693 * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
1694 * testsuite/30_threads/try_lock/1.cc: Likewise.
1695 * testsuite/30_threads/try_lock/2.cc: Likewise.
1696 * testsuite/30_threads/try_lock/3.cc: Likewise.
1697 * testsuite/30_threads/try_lock/4.cc: Likewise.
1698 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
1699 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
1700 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
1701 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
1702 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
1703 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
1704 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
1705 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
1706 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
1707 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
1708 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1709 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
1710 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
1711 Likewise.
1712 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
1713 Likewise.
1714
71046523
DV
17152015-09-02 Dmitry Vyukov <dvyukov@google.com>
1716
1717 * include/bits/basic_string.h: Fix data races on _M_refcount.
1718
d8e19f31
SH
17192015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
1720
1721 PR libstdc++/67408
1722 * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use
1723 _Derived::_M_timedlock().
1724 (timed_mutex): Add _M_timedlock() and make base class a friend.
1725 (recursive_timed_mutex): Likewise.
1726
cae4063c
TS
17272015-08-28 Tim Shen <timshen@google.com>
1728
1729 PR libstdc++/67362
1730 * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal):
1731 Always returns ordinary char token if the char isn't
1732 considered a special char.
1733 * testsuite/28_regex/regression.cc: New test file for collecting
1734 regression testcases from, typically, bugzilla.
1735
e994d230
JW
17362015-08-27 Jonathan Wakely <jwakely@redhat.com>
1737
1738 PR libstdc++/67374
1739 * include/bits/range_access.h (valarray, begin, end): Declare.
1740 * testsuite/26_numerics/valarray/range_access.cc: Test const
1741 overloads.
1742 * testsuite/26_numerics/valarray/range_access2.cc: New.
1743
a98e4e62
JM
17442015-08-27 John Marino <gnugcc@marino.st>
1745
1746 * acinclude.m4 (*-*-dragonfly*): Change 7 locale support files
1747 from generic to new DragonFly versions.
1748 * configure: Regenerate.
1749 * config/locale/dragonfly/c_locale.cc: Improve locale support.
1750 * config/locale/dragonfly/ctype_members.cc: Likewise.
1751 * config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise.
1752 * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99.
1753 * config/locale/dragonfly/c_locale.h: New.
1754 * config/locale/dragonfly/codecvt_members.cc: New.
1755 * config/locale/dragonfly/collate_members.cc: New.
1756 * config/locale/dragonfly/monetary_members.cc: New.
1757 * config/locale/dragonfly/numeric_members.cc: New.
1758 * config/locale/dragonfly/time_members.cc: New.
1759 * config/locale/dragonfly/time_members.h: New.
1760
a185c876
JW
17612015-08-27 Jonathan Wakely <jwakely@redhat.com>
1762
1763 * configure: Regenerate.
1764
33df19a7
ESR
17652015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net>
1766 Jonathan Wakely <jwakely@redhat.com>
1767
1768 PR libstdc++/64351
1769 PR libstdc++/63176
1770 * include/bits/random.tcc (generate_canonical): Loop until we get a
1771 result less than one.
1772 * testsuite/26_numerics/random/uniform_real_distribution/operators/
1773 64351.cc: New.
1774
e41fd1f0
JW
17752015-08-26 Jonathan Wakely <jwakely@redhat.com>
1776
6bc41b26
JW
1777 * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use
1778 nullptr.
1779 * include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign
1780 if ownership is already shared with a shared_ptr object.
1781 (__enable_shared_from_this_helper): Use nullptr.
1782 * testsuite/20_util/enable_shared_from_this/members/const.cc: New.
1783 * testsuite/20_util/enable_shared_from_this/members/reinit.cc: New.
1784 * testsuite/20_util/enable_shared_from_this/requirements/
1785 explicit_instantiation.cc: Instantiate with const and incomplete types.
1786
66c182be
JW
1787 * include/debug/map.h (map::try_emplace, map::insert_or_assign):
1788 Define.
1789 * include/debug/unordered_map (unordered_map::try_emplace,
1790 unordered_map::insert_or_assign): Define.
1791
e41fd1f0
JW
1792 PR libstdc++/66902
1793 * src/c++11/debug.cc (_S_debug_messages): Give internal linkage.
1794
630a286a
FD
17952015-08-24 François Dumont <fdumont@gcc.gnu.org>
1796
1797 PR libstdc++/60519
1798 * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering):
1799 New enum entry.
1800 * include/debug/functions.h (_Irreflexive_checker): New.
1801 (__is_irreflexive, __is_irreflexive_pred): New.
1802 * include/debug/macros.h
1803 (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New
1804 macros.
1805 (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New
1806 macros limited to post-C++11 mode.
1807 * include/debug/debug.h
1808 (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred):
1809 New macros, use latter.
1810 (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2):
1811 Likewise.
1812 * include/bits/stl_algo.h
1813 (partial_sort_copy): Add irreflexive debug check.
1814 (partial_sort_copy): Likewise.
1815 (lower_bound): Likewise.
1816 (upper_bound): Likewise.
1817 (equal_range): Likewise.
1818 (binary_search): Likewise.
1819 (inplace_merge): Likewise.
1820 (includes): Likewise.
1821 (next_permutation): Likewise.
1822 (prev_permutation): Likewise.
1823 (is_sorted_until): Likewise.
1824 (minmax_element): Likewise.
1825 (partial_sort): Likewise.
1826 (nth_element): Likewise.
1827 (sort): Likewise.
1828 (merge): Likewise.
1829 (stable_sort): Likewise.
1830 (set_union): Likewise.
1831 (set_intersection): Likewise.
1832 (set_difference): Likewise.
1833 (set_symmetric_difference): Likewise.
1834 (min_element): Likewise.
1835 (max_element): Likewise.
1836 * include/bits/stl_algobase.h
1837 (lower_bound): Likewise.
1838 (lexicographical_compare): Likewise.
1839 * include/bits/stl_heap.h
1840 (push_heap): Likewise.
1841 (pop_heap): Likewise.
1842 (make_heap): Likewise.
1843 (sort_heap): Likewise.
1844 (is_heap_until): Likewise.
1845 * testsuite/25_algorithms/lexicographical_compare/debug/
1846 irreflexive_neg.cc: New.
1847 * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New.
1848 * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc:
1849 New.
1850
3af7efb7
JW
18512015-08-24 Jonathan Wakely <jwakely@redhat.com>
1852
4a88769c
JW
1853 PR libstdc++/65049
1854 * include/bits/char_traits.h (char_traits<char>::compare,
1855 char_traits<char>::find, char_traits<char>::move,
1856 char_traits<char>::copy, char_traits<char>::assign): Check for zero
1857 length.
1858 (char_traits<wchar_t>::compare, char_traits<wchar_t>::find,
1859 char_traits<wchar_t>::move, char_traits<wchar_t>::copy,
1860 char_traits<wchar_t>::assign): Likewise.
1861 (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise.
1862 (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise.
1863 * include/ext/pod_char_traits.h (char_traits<character<>>::move,
1864 char_traits<character<>>::copy): Likewise.
1865 * testsuite/21_strings/char_traits/requirements/char/65049.cc: New.
1866 * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc:
1867 New.
1868 * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc:
1869 New.
1870 * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc:
1871 New.
1872
3af7efb7
JW
1873 PR libstdc++/67309
1874 * include/bits/random.tcc
1875 (poisson_distribution::param_type::_M_initialize): Use max<double>.
1876 (binomial_distribution::param_type::_M_initialize): Likewise.
1877 * testsuite/17_intro/headers/c++200x/67309.cc: New.
1878 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove
1879 redundant header.
1880
f3f61ed2
JW
18812015-08-20 Jonathan Wakely <jwakely@redhat.com>
1882
4ba1fef2
JW
1883 PR libstdc++/67294
1884 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run
1885 on Darwin.
1886 * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise.
1887
89f06948
JW
1888 * include/experimental/any (__any_caster): Define at namespace scope
1889 so the name is visible to name lookup.
1890 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1891
f3f61ed2
JW
1892 * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not
1893 libstdc++fs.
1894 * python/Makefile.in: Regenerate.
1895
dce573c4
PC
18962015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
1897
1898 * include/c_global/cmath: Fix typo in comment.
1899
157177af
PC
19002015-08-19 Paolo Carlini <paolo.carlini@oracle.com>
1901
1902 * include/c_global/cmath: Revert fix for libstdc++/58625, no
1903 longer necessary (__builtin_signbit is now type-generic).
1904
4c2b10d6
JW
19052015-08-18 Jonathan Wakely <jwakely@redhat.com>
1906
f641b2d6
JW
1907 PR c++/67216
1908 * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
1909 Fix use of safe-bool idiom that isn't valid in C++11.
1910
e92e7c15
JW
1911 * include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
1912
4c2b10d6
JW
1913 PR libstdc++/67066
1914 * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
1915 caveats for --enable-concept-checks. Improve link text.
1916 * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
1917 Clarify caveats.
1918 * doc/html/*: Regenerate.
1919 * include/bits/stl_deque.h (deque): Only use concept checks in C++03.
1920 * include/bits/stl_stack.h (stack): Likewise.
1921 * include/bits/stl_vector.h (vector): Likewise.
1922
2548a4d6
JW
19232015-08-14 Jonathan Wakely <jwakely@redhat.com>
1924
1925 * include/experimental/any (any::operator=(const any&)): Move check
1926 for self-assignment.
1927 (any::operator=(any&&)): Add check for self-assignment.
1928 (any::operator=(_ValueType&&)): Constrain template argument.
1929 (any::swap(any&)): Add check for self-swap.
1930 * testsuite/experimental/any/assign/self.cc: Test move and swap.
1931 * testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error.
1932
357c9f7e
JW
19332015-08-14 Jonathan Wakely <jwakely@redhat.com>
1934
1935 * include/experimental/array: Add feature-test macro.
1936 * testsuite/experimental/array/neg.cc: Update dg-error.
1937
708768eb
VV
19382015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1939
1940 * testsuite/experimental/array/neg.s: Remove.
1941 * testsuite/experimental/array/neg.ii.gz: Remove.
1942
9638eccd
VV
19432015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com>
1944
1945 Implement std::experimental::fundamentals_v2::make_array and
1946 std::experimental::fundamentals_v2::to_array.
1947 * include/Makefile.am: Add array.
1948 * include/Makefile.in: Add array.
1949 * include/experimental/array: New.
1950 * testsuite/experimental/array/make_array.cc: Likewise.
1951 * testsuite/experimental/array/neg.cc: Likewise.
1952 * doc/html/manual/status.html: Mark make_array as Y.
1953 * doc/xml/manual/status_cxx2017.xml: Likewise.
1954
db23e4c4
JW
19552015-08-13 Jonathan Wakely <jwakely@redhat.com>
1956
1957 * include/bits/alloc_traits.h: Add feature-test macro.
1958 * include/bits/allocator.h: Likewise.
1959 * include/bits/range_access.h: Likewise.
1960 * include/bits/stl_map.h: Likewise.
1961 * include/bits/unordered_map.h: Likewise.
1962
0072c9ac
JW
19632015-08-13 Jonathan Wakely <jwakely@redhat.com>
1964
1965 * testsuite/30_threads/mutex/unlock/2.cc: New.
1966 * testsuite/30_threads/recursive_mutex/unlock/2.cc: New.
1967 * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New.
1968 * testsuite/30_threads/shared_mutex/unlock/1.cc: New.
1969 * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New.
1970 * testsuite/30_threads/timed_mutex/unlock/2.cc: New.
1971
4c80e544
EW
19722015-08-13 Eelis van der Weegen <eelis@eelis.net>
1973
1974 * include/std/shared_mutex (shared_mutex::unlock()): Fix typo.
1975
441fb2cd
CT
19762015-08-12 Caroline Tice <cmtice@google.com>
1977
1978 PR 66521, Contributed by Eric Gallager
1979 * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and
1980 fix the rpath flag to work properly for darwin.
1981 * configure: Regenerated.
1982
93666a7b
JW
19832015-08-12 Jonathan Wakely <jwakely@redhat.com>
1984
1985 * doc/xml/manual/appendix_contributing.xml: Update patch email policy.
1986 * doc/xml/manual/status_cxx2017.xml: Update status table.
1987 * doc/html/manual/*: Regenerate.
1988
b95170d3
VV
19892015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com>
1990
1991 Implement N4279, Improved insertion interface for unique-key maps.
1992 * include/bits/stl_map.h (try_emplace, insert_or_assign): New.
1993 * include/bits/stl_tree.h (_M_get_insert_unique_pos,
1994 _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos,
1995 _M_get_insert_hint_equal_pos): Make public.
1996 * include/bits/unordered_map.h (try_emplace, insert_or_assign): New.
1997 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
1998 Likewise.
1999 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
2000 * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc:
2001 Likewise.
2002 * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc:
2003 Likewise.
2004
f3344569
VV
20052015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com>
2006
2007 Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118)
2008 and N4366 LWG 2228: Missing SFINAE rule in unique_ptr
2009 templated assignment
2010 * include/bits/unique_ptr.h
2011 (__remove_cv, __is_derived_Tp): Remove.
2012 (default_delete::default_delete(const default_delete<_Up[]>)):
2013 Constrain with array convertibility.
2014 (default_delete::operator(_Up*)): Turn into a template,
2015 constrain with array convertibility.
2016 (__safe_conversion_up): New, single object version.
2017 (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter
2018 convertibility.
2019 (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
2020 is_assignable as a constraint.
2021 (__safe_conversion_up): Array version, renamed from __safe_conversion,
2022 updated to implement N4089.
2023 (__safe_conversion_raw): New.
2024 (unique_ptr(_Up)): Turn into a template, constrain with array
2025 convertibility.
2026 (unique_ptr(_Up,
2027 typename conditional<is_reference<deleter_type>::value,
2028 deleter_type, const deleter_type&>::type)): Likewise.
2029 (unique_ptr(_Up, typename
2030 remove_reference<deleter_type>::type&&)): Likewise.
2031 (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise.
2032 (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add
2033 is_assignable as a constraint (array version).
2034 (reset(_Up)): Turn into a template, constrain with array
2035 convertibility.
2036 (reset(nullptr_t)): New.
2037 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
2038 * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise.
2039 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
2040 * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise.
2041 * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise.
2042 * testsuite/20_util/unique_ptr/dr2228.cc: New.
2043 * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust.
2044
e1ed1bca
NB
20452015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com>
2046
2047 * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove
2048 redundant -save-temps option.
2049 * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise.
2050 * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise.
2051 * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise.
2052 * testsuite/30_threads/future/cons/constexpr.cc: Likewise.
2053 * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise.
2054
93411db8
JW
20552015-08-03 Jonathan Wakely <jwakely@redhat.com>
2056
2057 PR libstdc++/67078
2058 * include/bits/range_access.h (size, empty, data): Fix _N bad name.
2059
155bfacb
JW
20602015-07-30 Jonathan Wakely <jwakely@redhat.com>
2061
2062 * testsuite/experimental/filesystem/operations/current_path.cc: Use
2063 canonical paths for comparisons.
2064
81b7ff07
TS
20652015-07-30 Tim Shen <timshen@google.com>
2066
2067 * include/bits/regex_automaton.h (_State_base, _State<>):
2068 Remove _TraitsT dependency from _State<>; Make matcher member
2069 into the union to reduce struct size.
2070 * include/bits/regex_automaton.tcc (_State_base<>::_M_print,
2071 _State_base<>::_M_dot, _StateSeq<>::_M_clone):
2072 Adjust to fit the interface. Factor out common parts in
2073 _M_clone as _State<>::_M_has_alt.
2074 * include/bits/regex_executor.h (_Executer<>::_M_lookahead):
2075 Only pass state id instead of the whole state.
2076 * include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
2077 _Executer<>::_M_lookahead): Adjust to fit the interface.
2078 * include/std/regex: Include <ext/aligned_buffer.h>
2079
2e3f48dc
JW
20802015-07-30 Jonathan Wakely <jwakely@redhat.com>
2081
2082 * include/experimental/any (any::operator=(const any&)): Check for
2083 self-assignment.
2084 * testsuite/experimental/any/assign/self.cc: New.
2085 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
2086
626b8d8a
JW
20872015-07-29 Jonathan Wakely <jwakely@redhat.com>
2088
2089 PR libstdc++/66829
2090 * testsuite/lib/libstdc++.exp (v3-build_support): Compile
2091 testsuite_shared.cc with -std=gnu++98.
2092
1fa9ba22
VV
20932015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com>
2094
a460d06d
VV
2095 * include/bits/range_access.h: Change class to typename in every
2096 template.
2097 (size, empty, data): New functions from N4280.
2098 * testsuite/24_iterators/container_access.cc: New.
2099
1fa9ba22
VV
2100 PR libstdc++/60970
2101 * include/bits/functional_hash.h (__hash_enum): New.
2102 (hash): Derive from __hash_enum.
2103 * testsuite/20_util/hash/60970.cc: New.
2104
f9ce3c16
TS
21052015-07-29 Tim Shen <timshen@google.com>
2106
2107 PR libstdc++/67015
2108 * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
2109 _BracketMatcher<>::_M_add_collating_element): Change signature
2110 to make checking the and of bracket expression easier.
2111 * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
2112 Treat '-' as a valid literal if it's at the end of bracket expression.
2113 * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
2114 New testcases.
2115
fa0ed2b0
JW
21162015-07-24 Jonathan Wakely <jwakely@redhat.com>
2117
2118 * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
2119 (_M_load_and_test_until): Whitespace.
2120 (_M_load_and_test): Value-initialize the unused durations.
2121 (_M_load_when_equal): Add missing return value.
2122
74b7ec8c
MH
21232015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
2124
2125 * fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
2126 * Makefile.in: Regenerate.
2127 * doc/Makefile.in: Regenerate.
2128 * include/Makefile.in: Regenerate.
2129 * libsupc++/Makefile.in: Regenerate.
2130 * po/Makefile.in: Regenerate.
2131 * python/Makefile.in: Regenerate.
2132 * src/Makefile.in: Regenerate.
2133 * src/c++11/Makefile.in: Regenerate.
2134 * src/c++98/Makefile.in: Regenerate.
2135 * src/filesystem/Makefile.in: Regenerate.
2136 * testsuite/Makefile.in: Regenerate.
2137
8161e0c3
DD
21382015-07-23 DJ Delorie <dj@redhat.com>
2139
2140 * include/bits/functional_hash.h: Add specializations for __intN
2141 types.
2142
2143 * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
2144 Guard against values that might exceed size_t's precision.
2145
3a353ff5
JM
21462015-07-20 Jason Merrill <jason@redhat.com>
2147
2148 * include/bits/c++config: Fix abi_tag in special modes.
2149
5a7dbecc
JW
21502015-07-19 Jonathan Wakely <jwakely@redhat.com>
2151
2152 * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279.
2153 * doc/html/manual/status.html: Regenerate.
2154
9298e25f
JW
21552015-07-17 Jonathan Wakely <jwakely@redhat.com>
2156
2157 * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle.
2158 * doc/html/manual/status.html: Regenerate.
2159
5bc1c07c
FD
21602015-07-16 François Dumont <fdumont@gcc.gnu.org>
2161
2162 * include/bits/stl_algobase.h (__miter_base): Move...
2163 * include/bits/cpp_type_traits.h: ...here.
2164 * include/debug/functions.h (__foreign_iterator_aux): Use latter.
2165 * testsuite/23_containers/vector/debug/insert7_neg.cc: New.
2166
c5d9ec56
JW
21672015-07-13 Jonathan Wakely <jwakely@redhat.com>
2168
795038b7
JW
2169 PR libstdc++/66855
2170 * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override
2171 endianness bit in mode.
2172 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New.
2173
c5d9ec56
JW
2174 * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define.
2175 * include/bits/forward_list.h (forward_list::swap): Make noexcept
2176 unconditional.
2177 * include/bits/hashtable.h (_Hashtable::swap): Do not use
2178 _S_nothrow_swap().
2179 * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept
2180 unconditional.
2181 * include/bits/stl_deque.h (deque::swap): Likewise.
2182 (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF.
2183 * include/bits/stl_list.h (list::swap): Make noexcept unconditional.
2184 (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF.
2185 * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use
2186 _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap.
2187 * include/bits/stl_multimap.h (multimap::swap,
2188 swap(multimap&, multimap&)): Likewise.
2189 * include/bits/stl_multiset.h (multiset::swap,
2190 swap(multiset&, multiset&)): Likewise.
2191 * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise.
2192 * include/bits/stl_tree.h (_Rb_tree::swap,
2193 swap(_Rb_tree&, _Rb_tree&)): Likewise.
2194 * include/bits/stl_vector.h (vector::swap): Make noexcept
2195 unconditional.
2196 (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF.
2197 * include/debug/deque (deque::swap, swap): Likewise.
2198 * include/debug/forward_list (swap): Add noexcept.
2199 * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
2200 * include/debug/map.h (map::swap, swap): Likewise.
2201 * include/debug/multimap.h (multimap::swap, swap): Likewise.
2202 * include/debug/multiset.h (multiset::Swap, swap): Likewise.
2203 * include/debug/set.h (set::swap, swap): Likewise.
2204 * include/debug/unordered_map (unordered_map::swap,
2205 unordered_multimap::swap, swap): Likewise.
2206 * include/debug/unordered_set (unordered_set::swap,
2207 unordered_multiset::swap, swap): Likewise.
2208 * include/debug/vector (vector::swap, swap): Likewise.
2209 * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()):
2210 Remove.
2211 * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF.
2212 * include/profile/forward_list (swap): Add noexcept.
2213 * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF.
2214 * include/profile/map.h (map::swap, swap): Likewise.
2215 * include/profile/multimap.h (multimap::swap, swap): Likewise.
2216 * include/profile/multiset.h (multiset::swap, swap): Likewise.
2217 * include/profile/set.h (set::swap, swap): Likewise.
2218 * include/profile/unordered_map (swap): Likewise.
2219 * include/profile/unordered_set (swap): Likewise.
2220 * include/profile/vector (vector::swap, swap): Likewise. Remove
2221 overloads for swapping rvalues.
2222 * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests
2223 for noexcept on swap.
2224 * testsuite/23_containers/forward_list/allocator/noexcept.cc:
2225 Likewise.
2226 * testsuite/23_containers/list/allocator/noexcept.cc: Likewise.
2227 * testsuite/23_containers/map/allocator/noexcept.cc: Likewise.
2228 * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise.
2229 * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise.
2230 * testsuite/23_containers/set/allocator/noexcept.cc: Likewise.
2231 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
2232 Likewise.
2233 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc:
2234 Likewise.
2235 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc:
2236 Likewise.
2237 * testsuite/23_containers/unordered_set/allocator/noexcept.cc:
2238 Likewise.
2239 * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise.
2240 * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise.
2241 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line
2242 number.
2243
66a2f247
JM
22442015-07-13 John Marino <gnugcc@marino.st>
2245
2246 * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK,
2247 _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK,
2248 _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define.
2249
291e91da
FD
22502015-07-05 François Dumont <fdumont@gcc.gnu.org>
2251
2252 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
2253 rehash container.
2254 * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
2255 Adapt.
2256
ed3caa8c
JW
22572015-07-03 Jonathan Wakely <jwakely@redhat.com>
2258
2259 * doc/xml/manual/status_cxx2017.xml: Update status table.
2260 * doc/html/manual/*: Regenerate.
2261
e37e6813
VV
22622015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com>
2263
2264 Implement std::experimental::fundamentals_v2::propagate_const.
2265 * include/Makefile.am: Add propagate_const.
2266 * include/Makefile.in: Regenerate.
2267 * include/experimental/propagate_const: New.
2268 * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise.
2269 * testsuite/experimental/propagate_const/assignment/move.cc: Likewise.
2270 * testsuite/experimental/propagate_const/assignment/move_neg.cc:
2271 Likewise.
2272 * testsuite/experimental/propagate_const/cons/copy.cc: Likewise.
2273 * testsuite/experimental/propagate_const/cons/default.cc: Likewise.
2274 * testsuite/experimental/propagate_const/cons/move.cc: Likewise.
2275 * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise.
2276 * testsuite/experimental/propagate_const/hash/1.cc: Likewise.
2277 * testsuite/experimental/propagate_const/observers/1.cc: Likewise.
2278 * testsuite/experimental/propagate_const/relops/1.cc: Likewise.
2279 * testsuite/experimental/propagate_const/requirements1.cc: Likewise.
2280 * testsuite/experimental/propagate_const/requirements2.cc: Likewise.
2281 * testsuite/experimental/propagate_const/requirements3.cc: Likewise.
2282 * testsuite/experimental/propagate_const/requirements4.cc: Likewise.
2283 * testsuite/experimental/propagate_const/requirements5.cc: Likewise.
2284 * testsuite/experimental/propagate_const/swap/1.cc: Likewise.
2285 * testsuite/experimental/propagate_const/typedefs.cc: Likewise.
2286
10d712eb
JW
22872015-07-02 Jonathan Wakely <jwakely@redhat.com>
2288
2289 * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for
2290 --with-default-libstdcxx-abi
2291 * configure: Regenerate.
2292 * doc/xml/manual/configure.xml: Document valid arguments.
2293
53ac92c3
UB
22942015-07-02 Uros Bizjak <ubizjak@gmail.com>
2295
2296 * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load
2297 to avoid unused variable warning.
2298 (__set_and_release): Use __p after __atomic_store to avoid unused
2299 variable warning.
2300
6af6bef4
JW
23012015-07-01 Jonathan Wakely <jwakely@redhat.com>
2302
79466838
JW
2303 * include/bits/alloc_traits.h (__alloctr_rebind): Remove.
2304 (__allocator_traits_base): New base class.
2305 (__alloc_rebind): Reimplement in terms of detection idiom.
2306 (allocator_traits): Derive from __allocator_traits_base. Reimplement
2307 nested types in terms of detection idiom. Simplify SFINAE constraints
2308 on overloaded static member functions.
2309 * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead
2310 of __alloctr_rebind.
2311 * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind.
2312 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2313 dg-error line number.
2314
4f44c555
JW
2315 * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type,
2316 __ptrtr_rebind, __ptrtr_not_void): Remove
2317 (__get_first_arg, __replace_first_arg, __make_not_void): Define new
2318 transformations.
2319 (__detected_or_): New detection trait.
2320 (pointer_traits): Use new traits.
2321 * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member.
2322 * testsuite/20_util/pointer_traits/requirements/
2323 explicit_instantiation.cc: Use valid arguments to pointer_traits.
2324
6af6bef4
JW
2325 * doc/xml/manual/status_cxx2017.xml: Update status table.
2326 * include/experimental/type_traits (void_t, is_detected,
2327 is_detected_v, detected_t, detected_or, detected_or_t,
2328 is_detected_exact, is_detected_exact_v, is_detected_convertible,
2329 is_detected_convertible_v): Define.
2330 * include/std/type_traits (__detector, __detected_or, __detected_or_t,
2331 __detected_or_t_): Define.
2332 * testsuite/experimental/type_traits/detection.cc: New.
2333
6f864679
JW
23342015-06-30 Jonathan Wakely <jwakely@redhat.com>
2335
5ea37bca
JW
2336 * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log.
2337 * doc/Makefile.in: Regenerate.
2338
6f864679
JW
2339 * include/bits/stl_pair.h: Replace class keyword with typename.
2340
bf7818bf
VV
23412015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com>
2342
2343 Implement N4387, "Improving pair and tuple", and LWG 2367.
2344
2345 * include/bits/stl_pair.h (_ConstructiblePair,
2346 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
2347 _ImplicitlyMoveConvertiblePair): New.
2348 (pair()): Constrain it.
2349 (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&),
2350 pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&),
2351 pair(pair<_U1, _U2>&&)): Make conditionally explicit.
2352 * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New.
2353 (tuple()): Constrain it.
2354 (tuple(const _UElements&...), tuple(_UElements&&...),
2355 tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&),
2356 tuple(allocator_arg_t, const _Alloc&, const _UElements&...),
2357 tuple(allocator_arg_t, const _Alloc&, _UElements&&...),
2358 tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&),
2359 tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&),
2360 tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&),
2361 tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&),
2362 tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make
2363 conditionally explicit.
2364 * include/experimental/functional (__boyer_moore_array_base): Name
2365 array type explicitly instead of using an empty braced-init-list.
2366 * testsuite/20_util/pair/cons/explicit_construct.cc: New.
2367 * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct.
2368 * testsuite/20_util/pair/requirements/dr2367.cc: New.
2369 * testsuite/20_util/tuple/cons/explicit_construct.cc: New.
2370 * testsuite/20_util/tuple/requirements/dr2367.cc: New.
2371
d6280855
JW
23722015-06-30 Jonathan Wakely <jwakely@redhat.com>
2373
2374 * configure: Regenerate.
2375
24167c42
FD
23762015-06-29 François Dumont <fdumont@gcc.gnu.org>
2377
2378 * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition
2379 to pre-C++11 mode.
2380 * include/debug/functions.h
2381 (__gnu_debug::__valid_range, __gnu_debug::__base): Move...
2382 * include/debug/safe_iterator.h
2383 (__gnu_debug::_Sequence_traits): New.
2384 (__gnu_debug::__get_distance_from_begin): New.
2385 (__gnu_debug::__get_distance_to_end): New.
2386 (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range
2387 distance information. Add optional check_dereferenceable parameter,
2388 default true.
2389 (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move
2390 default definition...
2391 (__gnu_debug::__get_distance): New overload for _Safe_iterator.
2392 (__gnu_debug::__unsafe): Likewise.
2393 * include/debug/helper_functions.h: ...here. New.
2394 (__gnu_debug::__unsafe): New helper function to remove safe iterator
2395 layer.
2396 * include/debug/stl_iterator.h: New. Include latter.
2397 * include/bits/stl_iterator.h: Include latter in debug mode.
2398 * include/debug/stl_iterator.tcc: Adapt.
2399 * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add
2400 overload for _Safe_local_iterator.
2401 (__gnu_debug::__unsafe): Likewise.
2402 * include/debug/safe_local_iterator.tcc: Adapt.
2403 * include/debug/macros.h (__glibcxx_check_valid_range2): New.
2404 (__glibcxx_check_insert_range): Add _Dist parameter.
2405 (__glibcxx_check_insert_range_after): Likewise.
2406 (__glibcxx_check_string, __glibcxx_check_string_len): Implement using
2407 _GLIBCXX_DEBUG_PEDASSERT.
2408 * include/debug/deque (deque<>::assign): Remove iterator debug layer
2409 when possible.
2410 (deque<>::insert): Likewise.
2411 * include/debug/forward_list (__glibcxx_check_valid_fl_range): New.
2412 (forward_list<>::splice_after): Use latter.
2413 (forward_list<>::assign): Remove iterator debug layer when possible.
2414 (forward_list<>::insert_after): Likewise.
2415 (__gnu_debug::_Sequence_traits<>): Partial specialization.
2416 * include/debug/list (list<>::assign): Remove iterator debug layer when
2417 possible.
2418 (list<>::insert): Likewise.
2419 [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI.
2420 * include/debug/map.h (map<>::insert): Remove iterator debug layer when
2421 possible.
2422 * include/debug/multimap.h (multimap<>::insert): Likewise.
2423 * include/debug/set.h (set<>::insert): Likewise.
2424 * include/debug/multiset.h (multiset<>::insert): Likewise.
2425 * include/debug/string (basic_string<>::append, basic_string<>::assign,
2426 basic_string<>::insert, basic_string<>::replace): Likewise.
2427 * include/debug/unordered_map
2428 (unordered_map<>::insert, unordered_multimap<>::insert): Likewise.
2429 * include/debug/unordered_set
2430 (unordered_set<>::insert, unordered_multiset<>insert): Likewise.
2431 * include/debug/vector
2432 (vector<>::assign, vector<>::insert): Likewise.
2433 * include/Makefile.am: Add new debug headers.
2434 * include/Makefile.in: Regenerate.
2435
504a5fe6
JW
24362015-06-26 Jonathan Wakely <jwakely@redhat.com>
2437
a2b5fdcb
JW
2438 * doc/xml/manual/intro.xml: Document LWG 2108 status.
2439 * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
2440 Define.
2441 * include/bits/allocator.h (allocator::is_always_equal): Likewise.
2442 * include/bits/forward_list.h
2443 (forward_list::operator=(forward_list&&)): Use __bool_constant.
2444 (forward_list::swap(forward_list&)): Add noexcept.
2445 * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)):
2446 Likewise.
2447 (_Hashtable::swap(_Hashtable&)): Likewise.
2448 * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)):
2449 Use _Alloc_traits::is_always_equal.
2450 (deque::operator=(deque&&)): Likewise.
2451 (deque::_M_move_assign1(deque&&, false_type)): Add comment and use
2452 __bool_constant.
2453 (swap(deque&, deque&)): Add noexcept.
2454 * include/bits/stl_list.h (list::operator=(list&&)): Use
2455 __bool_constant.
2456 (swap(list&, list&)): Add noexcept.
2457 * include/bits/stl_map.h (map::swap(map&)): Include _Compare in
2458 noexcept.
2459 (swap(map&, map&)): Add noexcept.
2460 * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include
2461 _Compare in noexcept.
2462 (swap(multimap&, multimap&)): Add noexcept.
2463 * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include
2464 _Compare in noexcept.
2465 (swap(multiset&, multiset&)): Add noexcept.
2466 * include/bits/stl_set.h (set::swap(set&)): Include _Compare in
2467 noexcept.
2468 (swap(set&, set&)): Add noexcept.
2469 * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include
2470 _Compare in noexcept.
2471 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use
2472 is_always_equal.
2473 * include/bits/stl_vector.h (vector::operator=(vector&&)): Use
2474 __bool_constant.
2475 (swap(vector&, vector&)): Add noexcept.
2476 * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&),
2477 swap(unordered_multimap& unordered_multimap&)): Add noexcept.
2478 * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&),
2479 swap(unordered_multiset& unordered_multiset&)): Add noexcept.
2480 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2481 Remove.
2482 (__alloc_traits::_S_always_equal()): Use is_always_equal instead of
2483 __allocator_always_compares_equal.
2484 * include/ext/array_allocator.h (array_allocator::is_always_equal):
2485 Define.
2486 * include/std/scoped_allocator (__any_of, __propagate_on_copy,
2487 __propagate_on_move, __propagate_on_swap): Remove.
2488 (scoped_allocator_adaptor::propagate_on_container_copy_assignment,
2489 scoped_allocator_adaptor::propagate_on_container_move_assignment,
2490 scoped_allocator_adaptor::propagate_on_container_swap): Define with
2491 __and_ instead of __any_of.
2492 (scoped_allocator_adaptor::is_always_equal): Define.
2493 * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New.
2494 * testsuite/20_util/scoped_allocator/propagation.cc: Make traits
2495 derive from true_type or false_type.
2496 * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add
2497 is_always_equal member and remove the trait specialization.
2498 * testsuite/23_containers/vector/52591.cc: Likewise.
2499 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2500 Adjust dg-error line number.
2501 * testsuite/23_containers/deque/requirements/dr438/
2502 constructor_1_neg.cc: Likewise.
2503 * testsuite/23_containers/deque/requirements/dr438/
2504 constructor_2_neg.cc: Likewise.
2505 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2506 Likewise.
2507 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2508 Likewise.
2509 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2510 Likewise.
2511 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2512 Likewise.
2513 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2514 Likewise.
2515 * testsuite/23_containers/vector/requirements/dr438/
2516 constructor_1_neg.cc: Likewise.
2517 * testsuite/23_containers/vector/requirements/dr438/
2518 constructor_2_neg.cc: Likewise.
2519 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2520 Likewise.
2521
504a5fe6
JW
2522 * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept.
2523 * include/bits/stl_map.h (map::map()): Likewise.
2524 * include/bits/stl_multimap.h (multimap::multimap()): Likewise.
2525 * include/bits/stl_multiset.h (multiset::multiset()): Likewise.
2526 * include/bits/stl_set.h (set::set()): Likewise.
2527
67b0404e
JW
25282015-06-25 Jonathan Wakely <jwakely@redhat.com>
2529
2530 * include/bits/locale_conv.h (__do_str_codecvt): Set __count.
2531
e25d2617
FD
25322015-06-24 François Dumont <fdumont@gcc.gnu.org>
2533
2534 * include/bits/basic_string.h (basic_string<>::front()): Add !empty
2535 debug check.
2536 (basic_string<>::back()): Likewise.
2537 (basic_string<>::pop_back()): Likewise.
2538
a2055cc9
PC
25392015-06-24 Paolo Carlini <paolo.carlini@oracle.com>
2540
2541 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2542 dg-error line numbers.
2543 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2544 Likewise.
2545
7d17de7f
FD
25462015-06-23 François Dumont <fdumont@gcc.gnu.org>
2547
2548 * include/debug/array: Include <array>. Add version namespace when
2549 specializing tuple interface to array. Add specialization for
2550 __is_tuple_like_impl.
2551 * include/profile/array: Likewise.
2552 * include/std/array: Include <utility>. Add specialization for
2553 __is_tuple_like_impl.
2554 * include/std/tuple
2555 (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move...
2556 * include/std/utility: ... here. Include <type_traits>.
2557 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust
2558 dg-error line number.
2559 * testsuite/23_containers/array/tuple_interface/
2560 tuple_element_debug_neg.cc: Likewise.
2561
4db6c2f5
JW
25622015-06-22 Jonathan Wakely <jwakely@redhat.com>
2563
e39c4966
JW
2564 * testsuite/26_numerics/complex/value_operations/1.cc: Use
2565 non-negative rho argument.
2566
e51d8770
JW
2567 * include/debug/list (__gnu_debug::list): Use allocator-aware
2568 _Safe_container base.
2569 * include/debug/string (__gnu_debug::basic_string): Use
2570 allocator-aware _Safe_container base for cxx11 ABI.
2571
9eb659e0
JW
2572 * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range.
2573 (wstring_convert): Move into __cxx11 namespace.
2574 (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception
2575 message.
2576
4db6c2f5
JW
2577 PR libstdc++/64657
2578 * include/bits/stl_uninitialized.h
2579 (__uninitialized_copy::__uninit_copy): Cast expression to void.
2580
c92334d4
JW
25812015-06-17 Jonathan Wakely <jwakely@redhat.com>
2582
cc7f3d0e
JW
2583 PR libstdc++/55409
2584 * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits.
2585 (list::list(const list&)): Use allocator propagation trait. Use
2586 _M_assign_dispatch to copy elements.
2587 * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11.
2588 (_List_node::_M_valptr()): Add accessor for stored value.
2589 (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr().
2590 (_List_base, list): Use allocator traits.
2591 (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove.
2592 (_List_base::_M_move_nodes): New function.
2593 (_List_base(_List_base&&)): Use _M_move_nodes.
2594 (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor.
2595 (list::_M_create_node, list::_M_erase, list::max_size): Use allocator
2596 traits.
2597 (list(size_type)): Add allocator parameter.
2598 (list(const list&)): Use allocator propagation trait.
2599 (list(const list&, const allocator_type&)): New constructor.
2600 (list(list&&, const allocator_type&)): Likewise.
2601 (list::operator=(list&&), list::swap(list&)): Use allocator
2602 propagation traits.
2603 (list::_M_move_assign): New functions.
2604 * include/debug/list: Add allocator-extended constructors.
2605 * include/profile/list: Likewise.
2606 * python/libstdcxx/v6/printers.py (get_value_from_list_node): New
2607 function to get value from _List_node.
2608 (StdListPrinter): Use get_value_from_list_node.
2609 * testsuite/23_containers/list/allocator/copy.cc: New.
2610 * testsuite/23_containers/list/allocator/copy_assign.cc: New.
2611 * testsuite/23_containers/list/allocator/minimal.cc: New.
2612 * testsuite/23_containers/list/allocator/move.cc: New.
2613 * testsuite/23_containers/list/allocator/move_assign.cc: New.
2614 * testsuite/23_containers/list/allocator/noexcept.cc: New.
2615 * testsuite/23_containers/list/allocator/swap.cc: New.
2616 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2617 Adjust dg-prune-output line number.
2618 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2619 Likewise.
2620 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2621 Likewise.
2622
21bdef94
JW
2623 * include/bits/forward_list.h
2624 (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to
2625 rvalue-reference.
2626 (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise.
2627 (forward_list(const _Alloc&)): Split default constructor out to
2628 separate function.
2629 (forward_list(forward_list&&, const _Alloc&)): Move elements if base
2630 class didn't do so.
2631 (forward_list::_M_move_assign(forward_list&&, true_type)): Replace
2632 swap call with two assignments.
2633 * include/bits/forward_list.tcc
2634 (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't
2635 move elements when allocators are not equal.
2636 * include/debug/forward_list (forward_list(const allocator_type&)):
2637 Split default constructor out to separate function.
2638 * include/profile/forward_list (forward_list(const _Alloc&)):
2639 Likewise.
2640
9649e5b6
JW
2641 * include/bits/forward_list.h (forward_list::_M_get_Node_allocator):
2642 Remove unnecessary uses of operator& and static_cast.
2643 * include/bits/forward_list.tcc
2644 (forward_list::operator=(const forward_list&)): Use __addressof
2645 instead of operator&.
2646 (forward_list::remove(const _Tp&), forward_list::remove(_Pred)):
2647 Remove invalid static_casts.
2648 * include/debug/forward_list: Use __addressof instead of operator&.
2649 * testsuite/23_containers/forward_list/modifiers/addressof.cc: New.
2650
c92334d4
JW
2651 * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use
2652 __is_nothrow_swappable.
2653
0dc3cba1
JW
26542015-06-16 Jonathan Wakely <jwakely@redhat.com>
2655
91b142ff
JW
2656 * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof.
2657
200fcd33
JW
2658 * include/bits/list.tcc (list::operator=(const list&), list::merge):
2659 Use __addressof instead of operator&.
2660 (list::sort): Use array-to-pointer decay instead of operator&.
2661 * include/bits/stl_list.h (list::splice): Use __addressof instead of
2662 operator&.
2663 * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter):
2664 Likewise.
2665 * include/debug/functions.h (__check_singular): Likewise.
2666 * include/debug/list (list::splice, list::merge): Likewise.
2667 * testsuite/23_containers/list/modifiers/addressof.cc: New.
2668
0dc3cba1
JW
2669 PR libstdc++/65393
2670 * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr
2671 copies with moves.
2672
6a3d0bb3
JW
26732015-06-12 Jonathan Wakely <jwakely@redhat.com>
2674
7388ee9e
JW
2675 * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>.
2676
6a3d0bb3
JW
2677 PR libstdc++/66464
2678 * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
2679 Return 4 not 3.
2680
dd38693e
RR
26812015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2682
2683 PR c++/66192
2684 PR target/66200
f0b587aa
JW
2685 * config/cpu/alpha/atomic_word.h: Remove.
2686 * config/cpu/ia64/atomic_word.h: Remove.
2687 * config/cpu/powerpc/atomic_word.h: Remove.
2688 * config/os/aix/atomic_word.h: Remove.
2689 * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
2690 Use generic definition.
dd38693e 2691
57e6d9be
RR
26922015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2693
2694 PR target/66200
2695 PR c++/66192
2696 * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
f0b587aa
JW
2697 (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
2698 * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
2699 * include/ext/atomicity.h: Likewise.
2700 * include/tr1/shared_ptr.h: Likewise.
2701 * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
2702 Update comment.
2703 (__set_and_release): Likewise.
2704 * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
57e6d9be 2705 line numbers.
f0b587aa
JW
2706 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2707 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
57e6d9be
RR
2708 Likewise.
2709
7672ab25
JW
27102015-06-12 Jonathan Wakely <jwakely@redhat.com>
2711
2712 * include/std/tuple (__is_tuple_like_impl): Disambiguate array in
2713 debug and profile modes.
2714 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
2715 for swap in C++11 and later.
2716
8602ca0a
JW
27172015-06-09 Jonathan Wakely <jwakely@redhat.com>
2718
2719 PR libstdc++/66030
2720 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
2721 for mingw32.
2722
aa4e0c43
JW
27232015-06-08 Jonathan Wakely <jwakely@redhat.com>
2724
c00f4f5f
JW
2725 PR libstdc++/66441
2726 * testsuite/22_locale/conversions/string/66441.cc: New.
2727 * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
2728 in the output string for BOM and complete result.
2729
aa4e0c43
JW
2730 PR libstdc++/66417
2731 * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
2732 for single UTF-16 units.
2733 * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
2734
d7b35f22
FD
27352015-06-07 François Dumont <fdumont@gcc.gnu.org>
2736
2737 * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
2738 outer scope and rename to ...
2739 (std::__hash_is_transparent<>): ... this.
2740 * include/debug/stl_map.h (map::find<>,
2741 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
2742 member function templates to perform heterogeneous lookup.
2743 * include/debug/stl_multimap.h (multimap::find<>,
2744 multimap::lower_bound<>, multimap::upper_bound<>,
2745 multimap::equal_range<>): Likewise.
2746 * include/debug/stl_multiset.h (multiset::find<>,
2747 multiset::lower_bound<>, multiset::upper_bound<>,
2748 multiset::equal_range<>): Likewise.
2749 * include/debug/stl_set.h (set::find<>,
2750 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
2751 * include/profile/stl_map.h (map::find<>, map::count<>,
2752 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
2753 * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
2754 multimap::lower_bound<>, multimap::upper_bound<>,
2755 multimap::equal_range<>): Likewise.
2756 * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
2757 multiset::lower_bound<>, multiset::upper_bound<>,
2758 multiset::equal_range<>): Likewise.
2759 * include/profile/stl_set.h (set::find<>, set::count<>,
2760 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
2761 * testsuite/23_containers/map/operations/1.cc: Check const variants.
2762 * testsuite/23_containers/multimap/operations/1.cc: Likewise.
2763 * testsuite/23_containers/multiset/operations/1.cc: Likewise.
2764 * testsuite/23_containers/set/operations/1.cc: Likewise.
2765
71226651
JW
27662015-06-05 Jonathan Wakely <jwakely@redhat.com>
2767
46ba1281
JW
2768 * doc/xml/manual/status_cxx2017.xml: Update status tables.
2769 * doc/html/manual/*: Regenerate.
2770 * include/std/type_traits (bool_constant): Define.
2771 * testsuite/20_util/bool_constant/requirements.cc: New.
2772 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
2773 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
2774 Likewise.
2775 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
2776 Likewise.
2777
71226651
JW
2778 * include/std/shared_mutex (__shared_mutex_pthread,
2779 __shared_mutex_cv): New helper types implementing the shared mutex
2780 requirements.
2781 (shared_mutex): New type for C++17.
2782 (shared_timed_mutex): Derive from one of the new helper types.
2783 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
2784 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
2785 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
2786 * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
2787 New.
2788 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
2789 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
2790
9bbcf8b8 27912015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
ddb63209
VV
2792
2793 Add __is_nothrow_swappable and take it into use.
2794 * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
2795 * include/bits/move.h (swap): Add constraints in C++11 and later.
2796 * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
2797 for the free swap function for pair.
2798 * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
2799 for the free swap functions for queue and priority_queue.
2800 * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
2801 for the free swap function for stack.
2802 * include/debug/array (swap): Use __is_nothrow_swappable
2803 for the free swap function for array.
2804 * include/profile/array (swap): Likewise.
2805 * include/std/array (swap): Likewise.
2806 * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
2807 * include/std/type_traits (__is_swappable_impl::__is_swappable,
2808 __is_nothrow_swappable_impl, __is_nothrow_swappable): New.
2809 * testsuite/20_util/is_nothrow_swappable/requirements/
2810 explicit_instantiation.cc: New.
2811 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
2812 New.
2813 * testsuite/20_util/is_nothrow_swappable/value.cc: New.
2814
82b544ad
FD
28152015-06-03 François Dumont fdumont@gcc.gnu.org>
2816
2817 * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
2818
5d65efd4
JW
28192015-06-02 Jonathan Wakely <jwakely@redhat.com>
2820
5211a52d
JW
2821 * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
2822 * doc/html/manual/*: Regenerate.
2823
5d65efd4
JW
2824 * doc/html/ext/lwg-active.html: Update to R93.
2825 * doc/html/ext/lwg-closed.html: Likewise.
2826 * doc/html/ext/lwg-defects.html: Likewise.
2827 * doc/html/manual/*: Regenerate.
2828 * doc/xml/manual/intro.xml: Document status of several DRs.
2829
fc7e20fd
RL
28302015-06-02 Renlin Li <renlin.li@arm.com>
2831
2832 * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
2833
77d0ed47
JW
28342015-06-01 Jonathan Wakely <jwakely@redhat.com>
2835
2836 * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
2837 environment variable.
2838
5d946f42
JW
28392015-05-31 Jonathan Wakely <jwakely@redhat.com>
2840
2841 PR libstdc++/66354
2842 * include/bits/stl_algobase.h (__fill_a): Check length before calling
2843 memset.
2844
12fc64ac
JW
28452015-05-30 Jonathan Wakely <jwakely@redhat.com>
2846
2847 * include/bits/stl_algobase.h (__equal<true>::equal): Check length
2848 instead of checking for null pointers.
2849 (__lexicographical_compare<true>::__lc): Only check shorter length.
2850
adad2a7d
FD
28512015-05-29 François Dumont fdumont@gcc.gnu.org>
2852
2853 * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
2854 _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
2855 * include/debug/assertions.h: ...here, new.
2856 * include/debug/formatter.h
2857 (_Error_formatter::_Is_iterator_value_type): New.
2858 (_Error_formatter::_Is_instance): New.
2859 (_Error_formatter::_Parameter): Make public and not friend anymore.
2860 (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
2861 (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
2862 entry.
2863 (_Error_formatter::_Parameter::_Type): New.
2864 (_Error_formatter::_Parameter::_Instance): New, inherit from
2865 latter.
2866 (union _Error_formatter::_Parameter::_M_variant): Reorganize.
2867 (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
2868 overloads take iterator through a const reference.
2869 (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
2870 New.
2871 (_Parameter(const _Type&, const char*, _Is_instance)): New.
2872 (_Error_formatter::_M_print_type): Delete.
2873 (_Error_formatter::_M_iterator_value_type): New.
2874 (_Error_formatter::_M_instance): New.
2875 * include/Makefile.am: Add new above debug file.
2876 * include/Makefile.in: Regenerate.
2877 * include/debug/functions.h
2878 (__check_dereferenceable(const _Safe_iterator<>&),
2879 __valid_range(const _Safe_iterator<>&),
2880 __is_safe_random_iterator<_Safe_iterator<>>): Move...
2881 * include/debug/safe_iterator.h: ... here.
2882 Replace debug.h include with assertions.h.
2883 (__check_singular_aux): Move...
2884 * include/debug/safe_base.h: ... here.
2885 * include/debug/functions.h
2886 (__check_dereferenceable(const _Safe_local_iterator<>&),
2887 __valid_range(const _Safe_local_iterator<>&): Move...
2888 * include/debug/safe_local_iterator.h: ...here.
2889 * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
2890 Remove _Safe_iterator declaration.
2891 * include/debug/safe_unordered_container.h: Replace debug.h with
2892 assertions.h.
2893 * include/debug/array: Replace safe_sequence.h include with
2894 formatter.h and macros.h.
2895 * include/debug/deque: Include functions.tcc.
2896 * include/debug/forward_list: Likewise.
2897 * include/debug/list: Likewise.
2898 * include/debug/string: Likewise.
2899 * include/debug/vector: Likewise.
2900 * include/bits/unique_ptr.h: Replace debug.h include with new
2901 assertions.h.
2902 * include/bits/stl_iterator_base_funcs.h: Likewise.
2903 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
2904 Adjust dg-error line number.
2905 * testsuite/23_containers/array/tuple_interface/
2906 tuple_element_debug_neg.cc: Likewise.
2907 * src/c++11/debug.cc: Adapt.
2908
6759edde
JW
29092015-05-29 Jonathan Wakely <jwakely@redhat.com>
2910
cfba236a
JW
2911 * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
2912 * doc/html/manual/*: Regenerate.
2913
75eb6443
JW
2914 * include/std/future (__async_result_of): New alias template.
2915 (async): Use __async_result_of to pass decayed types to result_of.
2916 * testsuite/30_threads/async/lwg2021.cc: New.
2917 * doc/xml/manual/intro.xml: Document LWG 2021 status.
2918
6759edde
JW
2919 PR libstdc++/66327
2920 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
2921 memcmp with null pointers.
2922 (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
2923 ranges.
2924
6a344b95
JW
29252015-05-28 Jonathan Wakely <jwakely@redhat.com>
2926
ac3efa77
JW
2927 PR libstdc++/65352
2928 * include/profile/array (array::data): Use _S_ptr.
2929 * include/debug/array (array::data): Likewise.
2930
6a344b95
JW
2931 PR libstdc++/65352
2932 * include/std/array (__array_traits::_S_ptr): New function.
2933 (array::data): Use _S_ptr to avoid creating invalid reference.
2934 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
2935 dg-error line numbers.
2936 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
2937 likewise.
2938
2097b5b0
JW
29392015-05-27 Jonathan Wakely <jwakely@redhat.com>
2940
151fbaac
JW
2941 * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
2942 instead of downcasting.
2943 (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
2944 (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
2945 (_Rb_tree::_S_iter): Remove.
2946 (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
2947 (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
2948 instead of _S_lower_bound_tr
2949 (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
2950 (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
2951 instead of calling _S_lower_bound_tr.
2952 (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
2953 (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
2954 instead of calling _S_upper_bound_tr.
2955 (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
2956 (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
2957 (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
2958 (_Rb_tree::_M_get_insert_unique_pos): Likewise.
2959 (_Rb_tree::_M_get_insert_equal_pos): Likewise.
2960 (_Rb_tree::_M_insert_equal_lower_node): Likewise.
2961 (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
2962 _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
2963
2097b5b0
JW
2964 PR libstdc++/66017
2965 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
2966 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
2967 from _Base_ptr.
2968 (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
2969 (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
2970 * include/ext/aligned_buffer.h (__aligned_membuf): New type using
2971 alignment of _Tp as a member subobject, not as a complete object.
2972 * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
2973 _Link_type manually as it might not be in the debug info.
2974
419587a0
DE
29752015-05-26 Doug Evans <dje@google.com>
2976
2977 * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
2978 operator-> support.
2979 * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
2980 operator->.
2981
4a72a6dd
JW
29822015-05-26 Jonathan Wakely <jwakely@redhat.com>
2983
2984 * include/bits/locale_conv.h: Fix copyright years.
2985 * include/bits/quoted_string.h: Likewise.
2986 * src/filesystem/Makefile.am: Likewise.
2987 * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
2988 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
2989 Likewise.
2990 * testsuite/22_locale/conversions/string/1.cc: Likewise.
2991 * testsuite/22_locale/conversions/string/2.cc: Likewise.
2992 * testsuite/22_locale/conversions/string/3.cc: Likewise.
2993 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
2994 Likewise.
2995 * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
2996 Likewise.
2997 * testsuite/util/testsuite_fs.h: Likewise.
2998
e2897e23
FD
29992015-05-23 François Dumont fdumont@gcc.gnu.org>
3000
3001 PR libstdc++/64657
3002 * include/debug/functions.h (__check_sorted_aux): Cast expression to
3003 void.
3004
e3592e19
DE
30052015-05-21 David Edelsohn <dje.gcc@gmail.com>
3006
3007 PR target/66224
3008 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
3009 Don't use isync. Use lwsync if available.
3010 * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
3011 powerpc cpu definition.
3012
4177264e
JM
30132015-05-21 Jason Merrill <jason@redhat.com>
3014
3015 * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
3016 * libsupc++/del_op.cc: Likewise.
3017
e3592e19 30182015-05-20 François Dumont fdumont@gcc.gnu.org>
fd2ef117 3019
fa5cc2db
FD
3020 * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
3021 usage of typeid.
3022 (_Error_formatter::_M_print_type): New.
3023 * src/c++11/debug.cc
3024 (_Error_formatter::_Parameter::_M_print_field): Use latter.
3025 (_Error_formatter::_M_print_type): Implement latter using
3026 __cxaabiv1::__cxa_demangle to print demangled type name.
3027
fd2ef117
FD
3028 * include/bits/cpp_type_traits.h
3029 (std::move_iterator): Delete declaration.
3030 (std::__is_move_iterator<move_iterator>): Move partial specialization...
3031 * include/bits/stl_iterator.h: ... here.
3032 (std::__miter_base): Overloads for std::reverse_iterator and
3033 std::move_iterator.
3034 * include/bits/stl_algobase.h (std::__miter_base): Provide default
3035 implementation.
3036
793cac74
JW
30372015-05-20 Jonathan Wakely <jwakely@redhat.com>
3038
7769c9de
JW
3039 * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
3040
793cac74
JW
3041 PR libstdc++/66078
3042 * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
3043 overload for pointers.
3044 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3045 808590.cc: Add -std=gnu++03 switch.
3046 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
3047 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
3048 * testsuite/23_containers/vector/modifiers/push_back/
3049 strong_guarantee.cc: New.
3050
8e725716
JW
30512015-05-19 Jonathan Wakely <jwakely@redhat.com>
3052
3053 * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
3054 (operator==(const list&, const list&)): If size() is O(1) compare
3055 sizes before comparing each element.
3056 * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
3057 (list::resize): Use _M_resize_pos.
3058
90f0d176
FD
30592015-05-19 François Dumont <fdumont@gcc.gnu.org>
3060
3061 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
3062 invocations.
3063 * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
3064 * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
3065 * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
3066
49c65434
RR
30672015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3068
3069 * configure.host: Define cpu_defines_dir for ARM.
3070 * config/cpu/arm/cpu_defines.h: New file.
3071
e55b80f5
FD
30722015-05-17 François Dumont <fdumont@gcc.gnu.org>
3073
3074 * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
3075 missing constructors.
3076 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
3077 Likewise.
3078 * include/debug/unordered_map (unordered_map, unordered_multimap): Add
3079 missing constructors.
3080 * include/debug/unordered_set (unordered_set, unordered_multiset):
3081 Likewise.
3082 * include/profile/unordered_map (unordered_map, unordered_multimap): Add
3083 missing constructors.
3084 * include/profile/unordered_set (unordered_set, unordered_multiset):
3085 Likewise.
e55b80f5 3086
9caf7b27
JW
30872015-05-15 Jonathan Wakely <jwakely@redhat.com>
3088
3089 * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
3090 use throughout the file.
3091 (make_file_type): New function.
3092 (file_size(const path&, error_code&)): Report an error for anything
3093 that isn't a regular file.
3094 (status(const path&), symlink_status(const path&)): Do not throw for
3095 file_type::not_found.
3096 (temp_directory_path()): Check additional environment variables.
3097 * testsuite/experimental/filesystem/operations/exists.cc: New.
3098 * testsuite/experimental/filesystem/operations/file_size.cc: New.
3099 * testsuite/experimental/filesystem/operations/status.cc: New.
3100 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
3101 New.
3102
ddbd742b
NM
31032015-05-14 Nathan Myers <ncm@cantrip.org>
3104 Jonathan Wakely <jwakely@redhat.com>
3105
3106 PR libstdc++/66055
3107 * include/std/unordered_map (unordered_map, unordered_multimap): Add
3108 missing constructors.
3109 * include/std/unordered_set (unordered_set, unordered_multiset):
3110 Likewise.
3111 * testsuite/23_containers/unordered_map/cons/66055.cc: New.
3112 * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
3113 * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
3114 * testsuite/23_containers/unordered_set/cons/66055.cc: New.
3115
0b9fc9fe
JW
31162015-05-14 Jonathan Wakely <jwakely@redhat.com>
3117
a0c4531c
JW
3118 PR libstdc++/66011
3119 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
3120 sendfile.
3121 * config.h.in: Regenerate.
3122 * configure: Regenerate.
3123 * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
3124 not return after copying contents. Use fchmod, fchmodat, and sendfile
3125 when available.
3126 (current_path, permissions, space): Use errno not return value.
3127
0b9fc9fe
JW
3128 PR libstdc++/66018
3129 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
3130 dirent.d_type.
3131 * config.h.in: Regenerate.
3132 * configure: Regenerate.
3133 * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
3134
9b92a9f3
EB
31352015-05-13 Eric Botcazou <ebotcazou@adacore.com>
3136
3137 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
3138 * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
3139 * config.h.in: Regenerate.
3140 * configure: Likewise.
3141 * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
3142 __USING_SJLJ_EXCEPTIONS__.
3143 * libsupc++/eh_throw.cc: Likewise.
3144 * libsupc++/eh_ptr.cc: Likewise.
3145 * doc/html/manual/appendix_porting.html: Remove
3146 GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
3147 * doc/xml/manual/build_hacking.xml: Likewise.
3148 * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
3149 * doc/xml/manual/configure.xml: Likewise.
3150
32ff3768
JW
31512015-05-13 Jonathan Wakely <jwakely@redhat.com>
3152
098aac94
JW
3153 * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
3154 for nullptr (LWG 2415).
3155 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
3156 construction from empty unique_ptr.
3157 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
3158 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
3159
49d50b6b
JW
3160 * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
3161 Define (LWG 2454).
3162 * testsuite/20_util/raw_storage_iterator/base.cc: New.
3163
e6508eaf
JW
3164 * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
3165 Remove explicit (LWG 2407).
3166
bcb896ab
JW
3167 * include/bits/basic_string.h (basic_string::basic_string()): Make
3168 noexcept conditional on allocator (LWG 2455).
3169
d0cad9fe
JW
3170 * include/std/complex (polar): Check for negative rho (LWG 2459).
3171
ac68f97c
JW
3172 * include/experimental/tuple (apply): Handle pointers to member (LWG
3173 2418).
3174 * include/std/functional (_Mem_fn_base): Make constructors constexpr.
3175 (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
3176 * testsuite/experimental/tuple/apply.cc: Test pointer to member.
3177
9933eb86
JW
3178 * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
3179
32e6a60e
JW
3180 * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
3181 * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
3182 * testsuite/23_containers/forward_list/allocator/minimal.cc:
3183 Likewise.
3184 * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
3185 * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
3186 * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
3187 * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
3188 * testsuite/23_containers/unordered_map/allocator/minimal.cc:
3189 Likewise.
3190 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
3191 Likewise.
3192 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
3193 Likewise.
3194 * testsuite/23_containers/unordered_set/allocator/minimal.cc:
3195 Likewise.
3196 * testsuite/util/testsuite_allocator.h: Remove unused parameter.
3197
32ff3768
JW
3198 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
3199 * configure: Regenerate.
3200
6ef93676
MH
32012015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
3202
3203 * Makefile.in: Regenerated with automake-1.11.6.
3204 * aclocal.m4: Likewise.
3205 * configure: Likewise.
3206 * doc/Makefile.in: Likewise.
3207 * include/Makefile.in: Likewise.
3208 * libsupc++/Makefile.in: Likewise.
3209 * po/Makefile.in: Likewise.
3210 * python/Makefile.in: Likewise.
3211 * src/Makefile.in: Likewise.
3212 * src/c++11/Makefile.in: Likewise.
3213 * src/c++98/Makefile.in: Likewise.
3214 * src/filesystem/Makefile.in: Likewise.
3215 * testsuite/Makefile.in: Likewise.
3216
839473d0
JM
32172015-05-09 Jason Merrill <jason@redhat.com>
3218
3219 * testsuite/20_util/headers/functional/synopsis.cc: Add
3220 _GLIBCXX14_CONSTEXPR.
3221 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
3222
6cd9cb89
JM
32232015-05-08 Jason Merrill <jason@redhat.com>
3224
f8356d52
JM
3225 * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
3226 * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
3227 * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
3228 * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
3229 * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
3230 * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
3231 * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
3232 * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
3233 * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
3234 * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
e2897e23
FD
3235 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
3236 Likewise.
f8356d52 3237 * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
e2897e23
FD
3238 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
3239 Adjust expected errors.
3240 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
3241 Likewise.
3242 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
3243 Likewise.
3244 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
3245 Likewise.
3246 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
3247 Likewise.
3248 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
3249 Likewise.
3250 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
3251 Likewise.
3252 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
3253 Likewise.
3254 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
3255 Likewise.
3256 * testsuite/23_containers/vector/requirements/dr438
3257 /constructor_1_neg.cc: Likewise.
3258 * testsuite/23_containers/vector/requirements/dr438
3259 /constructor_2_neg.cc: Likewise.
3260 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
3261 Likewise.
f8356d52
JM
3262 * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
3263 * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
3264 * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
3265 * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
e2897e23
FD
3266 * testsuite/ext/array_allocator/check_allocate_max_size.cc:
3267 Add -Wno-deprecated.
3268 * testsuite/ext/array_allocator/check_deallocate_null.cc:
3269 Add -Wno-deprecated.
f8356d52
JM
3270 * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
3271 * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
3272 * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
e2897e23
FD
3273 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3274 Add -std=c++98.
3275 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3276 Add -std=c++98.
3277 * testsuite/tr1/2_general_utilities/shared_ptr/assign
3278 /auto_ptr_rvalue_neg.cc: Add -std=c++98.
3279 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
3280 Add -std=c++98 -fno-show-column.
3281 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3282 Add -std=c++98.
3283 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3284 Add -std=c++98.
f8356d52
JM
3285 * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
3286 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
3287
6cd9cb89
JM
3288 * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
3289 * src/c++98/Makefile.in: Regenerate.
3290 * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
3291 * src/Makefile.in: Regenerate.
3292
6c0b8a53
JW
32932015-05-02 Jonathan Wakely <jwakely@redhat.com>
3294
f6341d8d
JW
3295 PR libstdc++/51617
3296 * include/std/future (async): Change default policy to launch::async.
3297
563777d7
JW
3298 * include/experimental/any (any::_Storage): Fix alignment of buffer.
3299 (any::_Internal): Check alignment of type.
3300 * testsuite/experimental/any/cons/aligned.cc: New.
3301 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
3302
b4f504de
JW
3303 * include/experimental/iterator (ostream_joiner): Simplify by using
3304 the injected-class-name and the ostream_type typedef.
3305
a623b6f0
JW
3306 * include/experimental/iterator: New. Define ostream_joiner.
3307 * include/Makefile.am: Add new header.
3308 * include/Makefile.in: Regenerate.
3309 * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
3310 * testsuite/experimental/iterator/ostream_joiner.cc: New.
3311 * testsuite/experimental/iterator/requirements.cc: New.
3312 * doc/xml/manual/status_cxx2017.xml: Update status.
3313 * doc/html/manual/status.html: Regenerate.
3314
6c0b8a53
JW
3315 * include/experimental/numeric: New. Define gcd and lcm.
3316 * include/Makefile.am: Add new header.
3317 * include/Makefile.in: Regenerate.
3318 * testsuite/experimental/numeric/gcd.cc: New.
3319 * testsuite/experimental/numeric/lcm.cc: New.
3320 * doc/xml/manual/status_cxx2017.xml: Update status.
3321 * doc/html/manual/status.html: Regenerate.
3322
fe4b6acb
ESR
33232015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
3324
3325 Revert addition of feature macros from other headers per latest SD-6.
6c0b8a53
JW
3326 * include/experimental/deque: Remove feature-test macro.
3327 * include/experimental/forward_list: Ditto.
3328 * include/experimental/list: Ditto.
3329 * include/experimental/map: Ditto.
3330 * include/experimental/set: Ditto.
3331 * include/experimental/string: Ditto.
3332 * include/experimental/unordered_map: Ditto.
3333 * include/experimental/unordered_set: Ditto.
fe4b6acb 3334
58f270df
JW
33352015-05-02 Jonathan Wakely <jwakely@redhat.com>
3336
9407c6fa
JW
3337 * include/experimental/any (any::_Storage): Make non-copyable.
3338 (any::any): Do not copy _Storage object.
3339 (any::operator=): Implement more efficiently than swapping.
3340 (any::swap): Use new _Op_xfer operation.
3341 (any::_Op::_Op_xfer): New enumerator.
3342 (_Manager_internal::_S_alloc): Remove unused function.
3343 (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
3344 parameter instead of returning a _Storage object.
3345 (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
3346 _Op_xfer operation for moving and swapping.
3347 * testsuite/experimental/any/cons/nontrivial.cc: New.
3348 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
3349
5b244a78
JW
3350 * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
3351 Declare.
3352 * src/filesystem/path.cc (filesystem_error::~filesystem_error):
3353 Define.
3354
cb2ef49e
JW
3355 PR libstdc++/65978
3356 * include/std/tuple (forward_as_tuple, tie): Add constexpr.
3357 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
3358 and fix tests for forward_as_tuple and tie.
3359
58f270df
JW
3360 * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
3361 Set timespec members explicitly instead of with a braced-init-list.
3362 [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
3363
9c0717ed
ESR
33642015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
3365
3366 * include/experimental/deque: Add feature-test macro.
3367 * include/experimental/forward_list: Ditto.
3368 * include/experimental/list: Ditto.
3369 * include/experimental/map: Ditto.
3370 * include/experimental/set: Ditto.
3371 * include/experimental/string: Ditto.
3372 * include/experimental/unordered_map: Ditto.
3373 * include/experimental/unordered_set: Ditto.
3374
64b07900
JW
33752015-05-01 Jonathan Wakely <jwakely@redhat.com>
3376
b275f0cb
JW
3377 * include/experimental/memory: Correct feature-test macro.
3378
64b07900
JW
3379 * include/experimental/memory: Add feature-test macro.
3380 * include/experimental/vector: Likewise.
3381 * doc/xml/manual/status_cxx2017.xml: Update status.
3382 * doc/html/manual/status.html: Regenerate.
3383
261b7e8a
VV
33842015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
3385
3386 Implement observer_ptr.
3387 * include/Makefile.am: Add new header.
3388 * include/Makefile.in: Regenerate.
3389 * include/experimental/memory: New.
3390 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
3391 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
3392 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
3393 * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
3394 * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
3395 * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
3396 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
3397 * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
3398
ce1b114a
JW
33992015-05-01 Jonathan Wakely <jwakely@redhat.com>
3400
4ad37627
JW
3401 * src/filesystem/path.cc (path::compare): Do not copy strings.
3402
bf53e6a9
JW
3403 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
3404 is not available.
3405 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
3406 * configure: Regenerate.
3407 * config.h.in: Regenerate.
3408 * configure.ac: Check for utime.h
3409 * include/experimental/fs_path.h (path::string<>)
3410 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
3411 * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
3412 closedir, dirent, readdir_r): Replace dummy functions with #error.
3413 (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
3414 * src/filesystem/ops.cc (do_stat, is_set): Make inline.
3415 (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
3416 (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
3417 (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
3418 error_code.
3419
a00d74c4
JW
3420 * include/experimental/fs_path.h (path::_List): Use vector instead of
3421 list.
3422 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
3423 * src/filesystem/path.cc: Use std::prev instead of decrementing
3424 rvalues. Fix whitespace.
3425 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
3426 Do not decrement iterators before begin.
3427
d6e023f3
JW
3428 * include/experimental/fs_dir.h: Fix use of non-reserved names.
3429 * include/experimental/fs_ops.h: Likewise.
3430 * include/experimental/fs_path.h: Likewise.
3431 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
3432 C++11 when checking for support.
3433
e9cd0064
JW
3434 * include/bits/locale_classes.h (locale::facet): Delete copy
3435 operations in C++11 mode.
3436
ff0164b4
JW
3437 * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
3438
ce1b114a
JW
3439 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
3440 * configure: Regenerate.
3441
ea365e01
ESR
34422015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
3443
3444 Inline one-line erasure dispatch functions.
3445 * include/experimental/forward_list (erase_if(), erase()): Inline.
3446 * include/experimental/list (erase_if(), erase()): Inline.
3447 * include/experimental/map (erase_if(*)): Inline.
3448 * include/experimental/set (erase_if(*)): Inline.
3449 * include/experimental/string (erase_if(), erase()): Inline.
3450 * include/experimental/unordered_map (erase_if(*)): Inline.
3451 * include/experimental/unordered_set (erase_if(*)): Inline.
3452
6fc456c3
JW
34532015-05-01 Jonathan Wakely <jwakely@redhat.com>
3454
1d15ed75
JW
3455 * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
3456 * doc/xml/manual/status_cxx2011.xml: Update status tables.
3457 * doc/xml/manual/status_cxx2014.xml: Likewise.
3458 * doc/xml/manual/status_cxx2017.xml: New.
3459 * doc/xml/manual/using.xml: Fix typo.
3460 * doc/html/*: Regenerate.
3461
6fc456c3
JW
3462 * include/std/memory (pointer_safety, declare_reachable,
3463 undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
3464 get_pointer_safety): Define.
3465 * testsuite/20_util/pointer_safety/1.cc: New.
3466
0ca7ba9a
JW
34672015-04-30 Jonathan Wakely <jwakely@redhat.com>
3468
3469 Implement N4100 File System TS
3470 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
3471 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
3472 * config.h.in: Regenerate.
3473 * configure: Regenerate.
3474 * configure.ac: Enable filesystem TS and check its dependencies.
3475 * include/Makefile.am: Add new headers.
3476 * include/Makefile.in: Regenerate.
3477 * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
3478 __str_codecvt_out): Move code conversion logic from wstring_convert
3479 into new global functions.
3480 (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
3481 functions.
3482 (wstring_convert::_M_conv): Remove.
3483 * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
3484 * include/experimental/filesystem: New.
3485 * include/experimental/fs_dir.h: New.
3486 * include/experimental/fs_fwd.h: New.
3487 * include/experimental/fs_ops.h: New.
3488 * include/experimental/fs_path.h: New.
3489 * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
3490 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
3491 * src/Makefile.am (SUBDIRS): Add filesystem.
3492 * src/Makefile.in: Regenerate.
3493 * src/filesystem/Makefile.am: New.
3494 * src/filesystem/Makefile.in: New.
3495 * src/filesystem/dir.cc: New.
3496 * src/filesystem/ops.cc: New.
3497 * src/filesystem/path.cc: New.
3498 * testsuite/experimental/filesystem/operations/absolute.cc: New.
3499 * testsuite/experimental/filesystem/operations/copy.cc: New.
3500 * testsuite/experimental/filesystem/operations/current_path.cc: New.
3501 * testsuite/experimental/filesystem/path/append/path.cc: New.
3502 * testsuite/experimental/filesystem/path/assign/assign.cc: New.
3503 * testsuite/experimental/filesystem/path/assign/copy.cc: New.
3504 * testsuite/experimental/filesystem/path/compare/compare.cc: New.
3505 * testsuite/experimental/filesystem/path/compare/path.cc: New.
3506 * testsuite/experimental/filesystem/path/compare/strings.cc: New.
3507 * testsuite/experimental/filesystem/path/concat/path.cc: New.
3508 * testsuite/experimental/filesystem/path/concat/strings.cc: New.
3509 * testsuite/experimental/filesystem/path/construct/copy.cc: New.
3510 * testsuite/experimental/filesystem/path/construct/default.cc: New.
3511 * testsuite/experimental/filesystem/path/construct/locale.cc: New.
3512 * testsuite/experimental/filesystem/path/construct/range.cc: New.
3513 * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
3514 * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
3515 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
3516 New.
3517 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
3518 New.
3519 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
3520 New.
3521 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
3522 New.
3523 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
3524 New.
3525 * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
3526 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
3527 New.
3528 * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
3529 * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
3530 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
3531 New.
3532 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
3533 New.
3534 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
3535 New.
3536 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
3537 New.
3538 * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
3539 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
3540 * testsuite/experimental/filesystem/path/query/empty.cc: New.
3541 * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
3542 * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
3543 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
3544 New.
3545 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
3546 New.
3547 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
3548 New.
3549 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
3550 New.
3551 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
3552 New.
3553 * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
3554 * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
3555 * testsuite/util/testsuite_fs.h: New.
3556
c0b12dad
ESR
35572015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
3558
3559 Add fundamentals TR container erasure.
3560 * include/Makefile.am: Add new headers.
3561 * include/Makefile.in: Add new headers.
3562 * include/experimental/array: New.
3563 * include/experimental/deque: New.
3564 * include/experimental/erase_if.tcc: New.
3565 * include/experimental/forward_list: New.
3566 * include/experimental/list: New.
3567 * include/experimental/map: New.
3568 * include/experimental/set: New.
3569 * include/experimental/string: New.
3570 * include/experimental/unordered_map: New.
3571 * include/experimental/unordered_set: New.
3572 * include/experimental/vector: New.
3573 * testsuite/experimental/deque/erasure.cc: New.
3574 * testsuite/experimental/forward_list/erasure.cc: New.
3575 * testsuite/experimental/list/erasure.cc: New.
3576 * testsuite/experimental/map/erasure.cc: New.
3577 * testsuite/experimental/set/erasure.cc: New.
3578 * testsuite/experimental/string/erasure.cc: New.
3579 * testsuite/experimental/unordered_map/erasure.cc: New.
3580 * testsuite/experimental/unordered_set/erasure.cc: New.
3581 * testsuite/experimental/vector/erasure.cc: New.
3582
e1c444fe
FD
35832015-04-30 François Dumont <fdumont@gcc.gnu.org>
3584
3585 * include/bits/cpp_type_traits.h
3586 (__gnu_cxx::__is_normal_iterator): Delete.
3587 * include/bits/stl_algobase.h (std::__niter_base): Adapt.
3588 * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
3589 (std::__niter_base): Overloads for std::reverse_iterator,
3590 __gnu_cxx::__normal_iterator and std::move_iterator.
3591
2f132d1d
FD
35922015-04-30 François Dumont <fdumont@gcc.gnu.org>
3593
3594 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
3595 Delete.
3596 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
3597 Remove usage of latter and compute size of the prime numbers array
3598 locally.
3599
8996b63b
DE
36002015-04-29 Doug Evans <dje@google.com>
3601
3602 PR libstdc++/65839
3603 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
3604 Replace all lookups of "bool" with this.
3605 (get_std_size_type): New function. Replace all lookups of std::size_t
3606 with this.
3607 (*Worker): New method get_result_type.
3608 (DequeWorkerBase.__init__): New arg val_type. All callers updated.
3609 (ListWorkerBase.__init__): New arg val_type. All callers updated.
3610 (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
3611 Delete setting of name, enabled.
3612 (UniquePtrDerefWorker.__init__): New arg elem_type. All callers
3613 updated. Delete setting of name.
3614 (UniquePtrMethodsMatcher): Rewrite for consistency with all other
3615 libstdc++ xmethod matchers.
3616 * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
3617 * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
3618 * testsuite/libstdc++-xmethods/deque.cc: Ditto.
3619 * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
3620 * testsuite/libstdc++-xmethods/list.cc: Ditto.
3621 * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
3622 * testsuite/libstdc++-xmethods/vector.cc: Ditto.
3623
b693b879
DE
36242015-04-29 Doug Evans <dje@google.com>
3625
3626 Use consistent naming for value type attributes.
3627 * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
3628 to _val_type.
3629 (ArraySizeWorker, ArrayEmptyWorker): Ditto.
3630 (ArrayFrontWorker, ArrayBackWorker): Ditto.
3631 (ArrayAtWorker, ArraySubscriptWorker): Ditto.
3632 (DequeWorkerBase): Rename elemtype to val_type.
3633 (ForwardListWorkerBase): Rename _elem_type to _val_type.
3634 (ForwardListFrontWorker): Ditto. And rename elem_address to
3635 val_address.
3636 (ForwardListMethodsMatcher): Rename elem_type to val_type.
3637 (VectorWorkerBase): Rename _elemtype to _val_type.
3638
f970a17d
JW
36392015-04-29 Jonathan Wakely <jwakely@redhat.com>
3640
952bc7a6
JW
3641 PR libstdc++/65760
3642 * include/std/functional (__check_func_return_type): Use is_same to
3643 avoid using _is_convertible on incomplete types.
3644 * testsuite/20_util/function/65760.cc: New.
3645
f970a17d
JW
3646 PR libstdc++/64657
3647 * include/bits/basic_string (basic_string::_S_copy_chars): Cast
3648 expression to void.
3649 * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
3650 time_get::_M_extract_num, time_get::_M_extract_name,
3651 time_get::_M_extract_wday_or_month): Likewise.
3652 * include/bits/stl_algo.h (__includes, __replace_copy_if,
3653 __is_sorted_until, __is_permutation, transform): Likewise.
3654 * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
3655 __equal::equal, __lexicographical_compare_impl, equal): Likewise.
3656 * include/bits/stl_numeric.h (inner_product): Likewise.
3657 * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
3658 * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
3659 input_iterator_wrapper): Declare unusable comma operator.
3660 * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
3661 * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
3662 New.
3663
874ef163
DE
36642015-04-28 Doug Evans <dje@google.com>
3665
3666 * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
3667 Define to zero.
3668
2e7e2075
JW
36692015-04-28 Jonathan Wakely <jwakely@redhat.com>
3670
3671 * include/bits/stl_algo.h (random_shuffle): Only define for hosted
3672 implementations.
3673
0088583b
JW
36742015-04-28 Jonathan Wakely <jwakely@redhat.com>
3675
3676 * Makefile.am (SUBDIRS): Move python to hosted_source.
3677 * Makefile.in: Regenerate.
3678 * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
3679 * configure: Regenerate.
3680
fa9ac912
MG
36812015-04-28 Marc Glisse <marc.glisse@inria.fr>
3682
3683 PR libstdc++/65883
3684 * include/std/limits (numeric_limits): Add missing unsigned.
3685
77e95469
SB
36862015-04-28 Stephan Bergmann <sbergman@redhat.com>
3687
3688 * include/debug/vector (_Safe_vector::operator=): Add missing returns.
3689
bd1eb5e0
JW
36902015-04-28 Jonathan Wakely <jwakely@redhat.com>
3691
73d81d3a
JW
3692 PR libstdc++/60333
3693 * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
3694 Handle enumeration types larger than sizeof(long).
3695 (__make_signed_selector<_Tp, false, true>): Find unsigned type then
3696 make it signed.
3697 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
3698 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
3699 Likewise.
3700 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
3701 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
3702 dg-error.
3703 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
3704
956d1814
JW
3705 PR libstdc++/61645
3706 * include/bits/forward_list.h (forward_list::splice_after): Add
3707 noexcept.
3708 * include/bits/forward_list.tcc (forward_list::splice_after):
3709 Likewise.
3710
d747ee05
JW
3711 PR libstdc++/65631
3712 * include/bits/random.h (seed_seq) Define copy constructor and copy
3713 assignment as deleted.
3714 * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
3715
196e0493
JW
3716 * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
3717 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
3718 Use -std=gnu++1z. Check feature-test macro.
3719
bd1eb5e0
JW
3720 * include/std/type_traits (void_t): Add.
3721 * testsuite/20_util/void_t/1.cc: New.
3722
e4846be7
TS
37232015-04-28 Tim Shen <timshen@google.com>
3724
3725 * include/bits/regex.tcc: Handle regex_constants::__polynomial.
3726 * include/bits/regex_automaton.tcc: Throw exception when parsing
3727 back-reference with flag __polynomial.
3728 * include/bits/regex_constants.h: Add extension flag
3729 syntax_option_type __polynomial.
3730 * bits/regex_executor.tcc: Still let BFS process ECMAScript.
3731 Alternative operation will be fixed in the coming refactoring.
3732 * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
3733 loose match_search_debug to use DFS only.
3734
1a9f2592
SL
37352015-04-27 Sandra Loosemore <sandra@codesourcery.com>
3736
3737 PR libstdc++/65909
3738 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
3739 Make the generated test program fail gracefully if the target
3740 doesn't support passing command-line arguments.
3741
03e73da6
FL
37422015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
3743 Jonathan Wakely <jwakely@redhat.com>
3744
3745 * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
3746 Return false or zero if the library is built without exceptions.
3747 * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
3748 the library is built without exceptions.
3749
03a16cc4
VV
37502015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
3751
913ae610
VV
3752 * config/abi/pre/gnu.ver: Fix comment.
3753
03a16cc4
VV
3754 Add support for std::uncaught_exceptions.
3755 * acinclude.m4: Bump libtool_VERSION.
3756 * config/abi/pre/gnu.ver: Export the new symbol.
3757 * configure: Regenerate.
3758 * libsupc++/eh_catch.cc (uncaught_exceptions): New.
3759 * libsupc++/exception (uncaught_exceptions): New.
3760 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
3761 * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
3762
f5eedc39
DP
37632015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
3764 Michael Hanselmann <public@hansmi.ch>
3765
3766 PR libstdc++/62258
3767 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
3768 uncaught exceptions.
3769 * testsuite/18_support/exception_ptr/62258.cc: New.
3770
991607ab
JW
37712015-04-27 Jonathan Wakely <jwakely@redhat.com>
3772
3773 * doc/xml/manual/extensions.xml: Add cross-reference.
3774 * doc/html/manual/ext_compile_checks.html: Regenerate.
3775
85da5c30
SN
37762015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
3777
3778 * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
3779 * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
3780
04934297
RL
37812015-04-22 Renlin Li <renlin.li@arm.com>
3782
3783 * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
3784 * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
3785 * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
3786 * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
3787 * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
3788
0ee59f1f
JW
37892015-04-21 Jonathan Wakely <jwakely@redhat.com>
3790
8a29fdfd
JW
3791 * doc/xml/manual/configure.xml: Update descriptions of options
3792 affecting dual ABI and add cross-references.
3793 * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
3794 * doc/xml/manual/using.xml: Document ABI transition.
3795 * doc/html/*: Regenerate.
3796
0ee59f1f
JW
3797 * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
3798 * doc/xml/manual/using.xml: Document newer -std options. Use better
3799 examples of nested namespaces.
3800
9adc2d48
JW
38012015-04-20 Jonathan Wakely <jwakely@redhat.com>
3802
3803 * doc/xml/manual/concurrency_extensions.xml: Update documentation
3804 on atomics.
3805 * doc/xml/manual/using.xml: Likewise. Improve markup.
3806 * doc/html/*: Regenerate.
3807
eea6e989
RO
38082015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3809
3810 * scripts/extract_symvers.pl: Ignore elfdump error output.
3811
194571f1
MG
38122015-04-14 Marc Glisse <marc.glisse@inria.fr>
3813
3814 PR libstdc++/61347
3815 * include/bits/stl_iterator_base_funcs.h (_List_iterator,
3816 _List_const_iterator): Declare.
3817 (__distance): Declare new overloads for _List_iterator and
3818 _List_const_iterator.
3819 * include/bits/stl_list.h (__distance): New overloads for
3820 _List_iterator and _List_const_iterator.
3821 * testsuite/23_containers/list/61347.cc: New testcase.
3822
453e2916
JW
38232015-04-14 Jonathan Wakely <jwakely@redhat.com>
3824
3825 * doc/xml/manual/evolution.xml: Fix typos.
3826 * doc/html/manual/api.html: Regenerate.
3827
03576259
HPN
38282015-04-14 Hans-Peter Nilsson <hp@axis.com>
3829
3830 * testsuite/29_atomics/atomic/62259.cc: Assert atomic
3831 alignment is larger-equal, not equal, to default alignment.
3832
1fcbcb6b
JW
38332015-04-13 Jonathan Wakely <jwakely@redhat.com>
3834
3835 PR libstdc++/65754
3836 * config/abi/pre/gnu.ver: Export base object constructors for
3837 fstreams.
3838 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
3839 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3840 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
3841 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3842 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
3843 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
3844 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
3845 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
3846 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
3847 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
3848 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
3849 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
3850 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3851 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3852 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
3853 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
3854 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
3855 * testsuite/27_io/basic_fstream/cons/base.cc: New.
3856
040175d5
JW
38572015-04-13 Jonathan Wakely <jwakely@redhat.com>
3858
3859 * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
3860 * doc/html/*: Regenerate.
3861
a5701316
UB
38622015-04-12 Uros Bizjak <ubizjak@gmail.com>
3863
3864 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
3865
2fb17d35
AS
38662015-04-10 Andreas Schwab <schwab@linux-m68k.org>
3867
cb86fa22
AS
3868 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
3869
2fb17d35
AS
3870 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
3871
cd80c79c
JW
38722015-04-10 Jonathan Wakely <jwakely@redhat.com>
3873
3874 * doc/xml/manual/test.xml: Improve documentation on running a subset
3875 of tests.
3876 * doc/html/manual/test.html: Regenerate.
3877
00778bed
BS
38782015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3879
3880 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
3881 for GCC 5.1 release.
3882 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
3883 Likewise.
3884
43b0e124
JW
38852015-04-10 Jonathan Wakely <jwakely@redhat.com>
3886
3887 * include/std/shared_mutex (shared_timed_mutex): Add comments to
3888 explain the logic in the non-pthread_rwlock_t version.
3889 (_Mutex): Remove redundant type.
3890 (_M_n_readers): Rename to _S_max_readers.
3891 (_M_write_entered, _M_readers): New convenience functions.
3892 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
3893 functions. Use predicates with condition variables. Simplify bitwise
3894 operations.
3895 (try_lock_for, try_shared_lock_for): Convert duration to time_point
3896 and call try_lock_until or try_shared_lock_until respectively.
3897 (try_lock_until, try_shared_lock_until): Wait on the condition
3898 variables until the specified time passes.
3899 (unlock): Add Debug Mode assertion.
3900 (unlock_shared): Add Debug Mode assertion.
3901 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
3902
c3d71b62
JW
3903 * include/std/shared_mutex (shared_timed_mutex): Only use
3904 pthread_rwlock_t when the POSIX Timeouts option is supported.
3905 * testsuite/30_threads/shared_lock/cons/5.cc: Remove
3906 dg-require-gthreads-timed.
3907 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
3908 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
3909 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
3910
1bf13744
L
39112015-04-09 H.J. Lu <hongjiu.lu@intel.com>
3912
3913 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
3914
4cbaaa45
JW
39152015-04-09 Jonathan Wakely <jwakely@redhat.com>
3916 Richard Henderson <rth@redhat.com>
3917
3918 PR libstdc++/65147
3919 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
3920 alignment.
3921 * include/std/atomic (atomic): For types with a power of two size set
3922 alignment to at least the size.
3923 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
3924 * testsuite/29_atomics/atomic/65147.cc: New.
3925 * testsuite/29_atomics/atomic_integral/65147.cc: New.
3926
9a165842
RO
39272015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3928
3929 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
3930 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
3931 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
3932
466df27b
JJ
39332015-04-07 Jakub Jelinek <jakub@redhat.com>
3934
3935 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
3936 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
3937 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
3938 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
3939 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
3940 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
3941 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
3942 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
3943
744e26e7
JW
39442015-03-30 Jonathan Wakely <jwakely@redhat.com>
3945
3946 PR libstdc++/65630
3947 * config/abi/pre/gnu.ver: Export operator+ for new strings.
3948 * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
3949 * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
3950
28943113
TS
39512015-03-28 Tim Shen <timshen@google.com>
3952
3953 PR libstdc++/65420
3954 * include/bits/regex_constants.h: Use constexpr variables for flags.
3955 * testsuite/28_regex/constants/constexpr.cc: New testcase.
3956
04f69fda
JW
39572015-03-27 Jonathan Wakely <jwakely@redhat.com>
3958
3959 PR libstdc++/65499
3960 * include/std/chrono: Add using-directive for literals to std::chrono.
3961 * testsuite/20_util/duration/literals/65499.cc: New.
3962
d1a74a28
JW
39632015-03-26 Jonathan Wakely <jwakely@redhat.com>
3964
3965 PR libstdc++/58038
3966 PR libstdc++/60421
3967 * include/std/thread (this_thread::sleep_for): Check for negative
3968 durations.
3969 (this_thread::sleep_until): Check for times in the past.
3970 * testsuite/30_threads/this_thread/58038.cc: New.
3971 * testsuite/30_threads/this_thread/60421.cc: New.
3972
4280698d
JW
39732015-03-26 Jonathan Wakely <jwakely@redhat.com>
3974
3975 PR libstdc++/62259
3976 PR libstdc++/65147
3977 * include/std/atomic (atomic<T>): Increase alignment for types with
3978 the same size as one of the integral types.
3979 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
3980 * testsuite/29_atomics/atomic/62259.cc: New.
3981
8be56851
RH
39822015-03-26 Richard Henderson <rth@redhat.com>
3983
3984 PR libstdc++/65033
3985 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
3986 a fake pointer indicating type alignment.
3987 (__atomic_base<T *>::is_lock_free): Likewise.
3988 * include/std/atomic (atomic<T>::is_lock_free): Likewise.
3989
28fda0c4
AL
39902015-03-25 Alan Lawrence <alan.lawrence@arm.com>
3991
3992 PR libstdc++/33394
3993 * testsuite/21_strings/basic_string/pthread33394.cc: Use
3994 dg-additional-options.
3995
ea348bbe
PC
39962015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
3997
3998 PR libstdc++/65543
3999 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
4000 thinko in r150387.
4001 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
4002 Likewise.
4003 * testsuite/27_io/rvalue_streams-2.cc: New.
4004
9ccd0dba
JW
40052015-03-24 Jonathan Wakely <jwakely@redhat.com>
4006
4007 PR libstdc++/33394
4008 * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
4009
8dcf3d3c
JW
40102015-03-23 Jonathan Wakely <jwakely@redhat.com>
4011
4012 PR libstdc++/64967
4013 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
4014 * configure: Regenerate.
4015 * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
4016 system_category): Use macros for versioned namespace.
4017 * src/c++11/futex.cc: Add missing end macro for versioned namespace.
4018
c00acee4
JG
40192015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
4020
4021 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
4022 test for unused for ARM.
4023 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
4024 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
4025
df6d9c7f
JW
40262015-03-20 Jonathan Wakely <jwakely@redhat.com>
4027
4028 * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
4029 * include/ext/codecvt_specializations.h (encoding_state,
4030 encoding_char_traits): Remove abi-tag and use inline namespace.
4031 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
4032
7cb73573
JM
40332015-03-19 Jason Merrill <jason@redhat.com>
4034
4035 * config/locale/gnu/messages_members.cc: Revert abi-tag change.
4036 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
4037
168ad5f5
JW
40382015-03-18 Jonathan Wakely <jwakely@redhat.com>
4039
4040 PR c++/65046
4041 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
4042 get_catalogs): Add abi-tag.
4043 * include/ext/codecvt_specializations.h (encoding_state,
4044 encoding_char_traits): Likewise.
4045 * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
4046 * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
4047 numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
4048 money_get_shim, money_put_shim, messages_shim): Likewise.
4049 * src/c++11/future.cc (future_error_category::message): Likewise.
4050 * src/c++11/system_error.cc (generic_error_category::message,
4051 system_error_category::message): Likewise.
4052 (__sso_string): Disable -Wabi-tag warnings.
4053
2a9611d0
JW
40542015-03-18 Jonathan Wakely <jwakely@redhat.com>
4055
4056 PR libstdc++/13631
4057 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
4058 implementation for old glibc. Fix whitespace.
4059
5e0216f1
JW
40602015-03-18 Jonathan Wakely <jwakely@redhat.com>
4061 Torvald Riegel <triegel@redhat.com>
4062
4063 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
4064 * config.h.in: Regenerate.
4065 * configure: Regenerate.
4066 * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
4067 (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
4068 (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
4069 (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
4070 EDEADLK.
4071
95f2fd9c
JW
40722015-03-17 Jonathan Wakely <jwakely@redhat.com>
4073
4074 * libsupc++/nested_exception.h: Do not try to derive from final
4075 classes.
4076 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
4077 final class.
4078
1c6f4a14
JW
4079 * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
4080 unused exception variable.
4081 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
4082 * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
4083 test.
4084 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
4085
9b78b1e7
JW
40862015-03-13 Jonathan Wakely <jwakely@redhat.com>
4087
4088 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
4089 * configure: Regenerate.
4090
e83a01c3
JW
4091 * include/experimental/system_error: Fix include guard.
4092
04a17093
RL
40932015-03-12 Renlin Li <renlin.li@arm.com>
4094
4095 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
4096 wrapped target.
4097
84839a51
TS
40982015-03-10 Tim Shen <timshen@google.com>
4099
4100 PR libstdc++/64441
4101 * include/bits/regex.h (match_results<>::size,
4102 match_results<>::position, match_results<>::str,
4103 match_results<>::operator[], match_results<>::prefix,
4104 match_results<>::suffix, match_results<>::end,
4105 match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
4106 match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
4107 global __unmatched_sub. Add unmatched submatch as part of
4108 match_results.
4109 * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
4110 regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
4111 * testsuite/28_regex/match_results/out_of_range_submatches.cc:
4112 New testcases.
4113
d2e0c00b
JW
41142015-03-09 Jonathan Wakely <jwakely@redhat.com>
4115
4116 PR libstdc++/64467
4117 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
4118 for newlib targets. Really fix mixed line-endings this time.
4119
664e99ea
JW
41202015-03-06 Jonathan Wakely <jwakely@redhat.com>
4121
4122 * include/std/future (future_error(error_code)): Construct base
4123 class with error_code's message.
4124 * src/c++11/future.cc (future_error::what()): Do not call c_str() on
4125 temporary string.
4126
9933260f
JW
41272015-03-05 Jonathan Wakely <jwakely@redhat.com>
4128
4129 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
4130 noconv result.
4131 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
4132 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
4133
b6584a72
JW
41342015-03-04 Jonathan Wakely <jwakely@redhat.com>
4135
4136 PR libstdc++/64797
4137 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
4138 incomplete multibyte sequences correctly.
4139 * include/std/codecvt (codecvt_utf8, codecvt_utf16,
4140 codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
4141 * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
4142 Define constants.
4143 (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
4144 Define convenience functions.
4145 (read_utf8_code_point): Return relevant constant to distinguish
4146 incomplete characters from invalid sequences.
4147 (read_utf16_code_point): Likewise. Check for invalid sequences.
4148 (ucs4_in, utf16_in): Use incomplete_mb_character constant.
4149 (utf16_out): Check for invalid sequences.
4150 (utf16_span): Fix condition.
4151 (ucs2_out): Use is_high_surrogate.
4152 (ucs2_in): Use incomplete_mb_character constant and fix condition.
4153 * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
4154 * testsuite/22_locale/conversions/buffer/1.cc: New.
4155 * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
4156 char32_t instead of wchar_t.
4157 * testsuite/22_locale/conversions/string/3.cc: New.
4158
71ca36ba
IS
41592015-03-03 Iain Sandoe <iain@codesourcery.com>
4160
4161 PR libstdc++/64883
4162 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
4163 visibility for Darwin.
4164 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
4165 also deprecated.
4166 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
4167
9d8dbe73
JW
41682015-03-02 Jonathan Wakely <jwakely@redhat.com>
4169
4170 PR libstdc++/65279
4171 * include/std/scoped_allocator (__inner_type_impl,
4172 scoped_allocator_adaptor): Add defaulted copy assignment and move
4173 assignment operators.
4174 * testsuite/20_util/scoped_allocator/65279.cc: New.
4175
e59a2e94
JW
41762015-03-02 Jonathan Wakely <jwakely@redhat.com>
4177
4178 PR libstdc++/64367
4179 * include/std/stdexcept (__sso_string): Don't use non-static member
4180 in sizeof.
4181
f083b434
MK
41822015-02-28 Matthias Klose <doko@ubuntu.com>
4183
4184 PR libstdc++/65246
4185 * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
4186
1d5f1ff2
JW
41872015-02-22 Jonathan Wakely <jwakely@redhat.com>
4188
4189 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
4190 * doc/html/manual/status.html: Regenerate.
4191
deaa1ccb
JW
41922015-02-20 Jonathan Wakely <jwakely@redhat.com>
4193
4194 PR libstdc++/64695
4195 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
4196 tuple layout.
4197
b56ac9d5
JW
4198 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
4199 behavior.
4200 * doc/html/manual/status.html: Regenerate.
4201
87839f22
JW
42022015-02-19 Jonathan Wakely <jwakely@redhat.com>
4203
4204 PR libstdc++/58357
4205 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
4206 * include/bits/stl_algo.h (__rotate, rotate): Likewise.
4207
53b2288f
HPN
42082015-02-19 Hans-Peter Nilsson <hp@axis.com>
4209
4210 PR testsuite/65093
4211 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
4212 (test01): Add explanatory comment. Keep only the bd1 sub-test and
4213 split out bd2, bd3, bd4, and bd5 sub-tests into...
4214 * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
4215 testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
4216 testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
4217 testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
4218 New separate files with the old parts.
4219
7f971f18
JW
42202015-02-18 Jonathan Wakely <jwakely@redhat.com>
4221
4222 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
4223 surrogate pairs.
4224 (utf16_in): Pass mode argument to write_utf16_code_point.
4225 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
4226 native byte order.
4227 * testsuite/22_locale/codecvt/char16_t.cc: New.
4228 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
4229
01bf6bdb
JW
4230 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
4231 * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
4232
fb968187
RS
42332015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
4234 Jonathan Wakely <jwakely@redhat.com>
4235
4236 * testsuite/22_locale/codecvt/char32_t.cc: New.
4237
faa7d78e
JW
42382015-02-17 Jonathan Wakely <jwakely@redhat.com>
4239
4240 PR libstdc++/65085
4241 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
4242 empty string gets null-terminated.
4243 * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
4244
1e0c223f
MW
42452015-02-13 Matthew Wahab <matthew.wahab@arm.com>
4246
4247 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
4248 mixed line-endings introduced in last change.
4249
72900b83
MW
42502015-02-12 Matthew Wahab <matthew.wahab@arm.com>
4251
4252 * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
4253 for __NEWLIB__ macro with a dejagnu set macro.
4254 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
4255
ff9eac29
MW
42562015-02-04 Matthew Wahab <matthew.wahab@arm.com>
4257
d2e0c00b 4258 PR libstdc++/64467
ff9eac29
MW
4259 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
4260 special case for '\n'.
4261 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
4262
516db2dd
JW
42632015-02-01 Jonathan Wakely <jwakely@redhat.com>
4264
4265 * src/c++11/futex.cc: Do not define for gthr-single.h targets.
4266
13fc08e4
JW
42672015-02-01 Jonathan Wakely <jwakely@redhat.com>
4268
4269 PR libstdc++/64883
4270 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
4271 of deprecated.
4272 * include/c_std/cstdio (gets): Likewise.
4273 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
4274 with attributes used in darwin headers.
4275
536616b7
JJ
42762015-01-29 Jakub Jelinek <jakub@redhat.com>
4277
4278 * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
4279 $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
4280 * configure: Regenerated.
4281
f4392940
L
42822015-01-29 H.J. Lu <hongjiu.lu@intel.com>
4283
4284 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
4285 after vtv_cygmin is set.
4286 * configure: Regenerated.
4287
23842e91
MK
42882015-01-29 Matthias Klose <doko@ubuntu.com>
4289
4290 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
4291 unconditionally.
4292 * configure: Regenerate.
4293
8be349ee
CT
42942015-01-29 Caroline Tice <cmtice@google.com>
4295
4296 Committing VTV Cywin/Ming patch for Patrick Wollgast
4297 * configure: Regenerate.
4298 * libsupc++/Makefile.in: Regenerate.
4299 * src/Makefile.in: Regenerate.
4300
85d44192
JW
43012015-01-29 Jonathan Wakely <jwakely@redhat.com>
4302
4303 * include/bits/atomic_base.h: Use __always_inline__ instead of
4304 always_inline.
4305 * include/bits/atomic_futex.h: Likewise.
4306 * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
4307 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
4308 __packed__ instead of packed.
4309 * include/std/shared_mutex: Use __unused__ instead of unused.
4310 * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
4311 * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
4312 * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
4313
8be349ee 43142015-01-28 Caroline Tice <cmtice@google.com>
f7f049fa
CT
4315
4316 Committing VTV Cywin/Ming patch for Patrick Wollgast
4317 * acinclude.m4: Define VTV_CYGMIN.
f7f049fa
CT
4318 * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
4319 and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
f7f049fa
CT
4320 * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
4321 for Cygwin and MinGW.
4322 * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
4323 VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
4324 libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
f7f049fa 4325
739cdc90
JW
43262015-01-28 Jonathan Wakely <jwakely@redhat.com>
4327
4328 PR libstdc++/64828
4329 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
4330 * libsupc++/Makefile.in: Regenerate.
4331 * src/c++11/Makefile.in: Regenerate.
4332
f6d04238
KT
43332015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4334
4335 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
4336 check for unsupported.
4337 (v3_target_compile_as_c): Likewise.
4338
8aa33fad
RB
43392015-01-28 Richard Biener <rguenther@suse.de>
4340
4341 PR libstdc++/64798
4342 * libsupc++/eh_alloc.cc (struct allocated_entry): Align
4343 data member.
4344 (pool::allocate): Adjust allocation size and alignment to
4345 that change.
4346 (pool::free): Adjust pointer offsetting.
4347
506f03c3
JW
43482015-01-27 Jonathan Wakely <jwakely@redhat.com>
4349
4350 PR libstdc++/64368
4351 * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
4352 shared_timed_mutex::try_lock_until): Only define when POSIX thread
4353 timeouts option is supported.
4354 (shared_timed_mutex::try_shared_lock_for,
4355 shared_timed_mutex::try_shared_lock_until): Likewise.
4356
831a3a9e
JW
43572015-01-26 Jonathan Wakely <jwakely@redhat.com>
4358
4359 PR libstdc++/64368
4360 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
4361 numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
4362 * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
4363 and use cache's _M_grouping field.
4364 (__numpunct_fill_cache): Likewise.
4365 (__moneypunct_fill_cache): Improve comments.
4366
c7ac7dda
JW
43672015-01-26 Jonathan Wakely <jwakely@redhat.com>
4368
4369 * testsuite/23_containers/set/operations/2.cc: Add test for
4370 non-transparent comparison function.
4371
5eb1643c
OE
43722015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
4373
4374 PR target/29366
4375 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
4376 Remove SH4A inline asm and lock based implementations and use the
4377 defaults from ext/atomicity.h.
4378
130dc027
JW
43792015-01-23 Jonathan Wakely <jwakely@redhat.com>
4380
4381 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
4382 new std::string constructors for byname facets.
4383
cce93c76
RB
43842015-01-22 Richard Biener <rguenther@suse.de>
4385
4386 PR libstdc++/64535
4387 * libsupc++/eh_alloc.cc: Include new.
4388 (bitmask_type): Remove.
4389 (one_buffer): Likewise.
4390 (emergency_buffer): Likewise.
4391 (emergency_used): Likewise.
4392 (dependents_buffer): Likewise.
4393 (dependents_used): Likewise.
4394 (class pool): New custom fixed-size arena, variable size object
4395 allocator.
4396 (emergency_pool): New global.
4397 (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
4398 (__cxxabiv1::__cxa_free_exception): Likewise.
4399 (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
4400 (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
4401
770acfc9
TS
44022015-01-22 Tim Shen <timshen@google.com>
4403
4404 PR libstdc++/64680
4405 * include/bits/regex.h (basic_regex<>::basic_regex,
4406 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
4407 standard interface.
4408 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
4409
77033d26
TS
44102015-01-22 Tim Shen <timshen@google.com>
4411
4412 PR libstdc++/64649
4413 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
4414 regex_traits<>::lookup_classname): Correctly narrow input chars.
4415 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
4416
f81f49c1
JW
44172015-01-21 Jonathan Wakely <jwakely@redhat.com>
4418
4419 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
4420
deff1f41
JW
44212015-01-21 Jonathan Wakely <jwakely@redhat.com>
4422
4423 * testsuite/29_atomics/atomic/64658.cc: Test stored value.
4424
7d56e747
JW
44252015-01-20 Jonathan Wakely <jwakely@redhat.com>
4426
4427 * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
4428 * doc/xml/manual/status_cxx2014.xml: Update status.
4429 * doc/html/manual/status.html: Regenerate.
4430
4159cf0d
JW
44312015-01-20 Jonathan Wakely <jwakely@redhat.com>
4432
4433 PR libstdc++/64650
4434 * include/experimental/optional (bad_optional_access): Add default
4435 constructor.
4436 * testsuite/experimental/optional/requirements.cc: Test for default
4437 constructor.
4438
91c78ea5
JW
44392015-01-20 Jonathan Wakely <jwakely@redhat.com>
4440
4441 * include/bits/stl_map.h (map::find<>, map::count<>,
4442 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
4443 member function templates to perform heterogeneous lookup.
4444 * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
4445 multimap::lower_bound<>, multimap::upper_bound<>,
4446 multimap::equal_range<>): Likewise.
4447 * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
4448 multiset::lower_bound<>, multiset::upper_bound<>,
4449 multiset::equal_range<>): Likewise.
4450 * include/bits/stl_set.h (set::find<>, set::count<>,
4451 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
4452 * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
4453 _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
4454 _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
4455 _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
4456 * testsuite/23_containers/map/operations/2.cc: New.
4457 * testsuite/23_containers/multimap/operations/2.cc: New.
4458 * testsuite/23_containers/multiset/operations/2.cc: New.
4459 * testsuite/23_containers/set/operations/2.cc: New.
4460
71a16cd8
JW
44612015-01-20 Jonathan Wakely <jwakely@redhat.com>
4462
4463 * config/abi/pre/gnu.ver: Export new constructors.
4464 * include/bits/codecvt.h (codecvt_byname): Add string constructor.
4465 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
4466 specializations and declare explicit instantiations.
4467 * include/bits/locale_classes.h (locale, collate_byname): Add string
4468 constructors.
4469 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
4470 Likewise.
4471 * include/bits/locale_facets_nonio.h (time_get_byname,
4472 time_put_byname, moneypunct_byname, messages_byname): Likewise.
4473 * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
4474 codecvt_byname<char32_t>): Define explicit instantiations.
4475 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
4476 Instantiate string constructors.
4477 (ctype_byname): Define string constructor.
4478 * testsuite/22_locale/codecvt_byname/1.cc: New.
4479 * testsuite/22_locale/collate_byname/1.cc: New.
4480 * testsuite/22_locale/ctype_byname/2.cc: New.
4481 * testsuite/22_locale/messages_byname/1.cc: New.
4482 * testsuite/22_locale/moneypunct_byname/1.cc: New.
4483 * testsuite/22_locale/numpunct_byname/1.cc: New.
4484
0e4974d6
JW
44852015-01-20 Jonathan Wakely <jwakely@redhat.com>
4486
4487 PR libstdc++/64658
4488 * include/std/atomic (atomic_init): Define.
4489 * testsuite/29_atomics/atomic/64658.cc: New.
4490
e5f35533
TS
44912015-01-19 Tim Shen <timshen@google.com>
4492
4493 PR libstdc++/64649
4494 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
4495 regex_traits<>::lookup_classname): Support forward iterators.
4496 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
4497 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
4498
60c176fb
TS
44992015-01-19 Tim Shen <timshen@google.com>
4500
4501 PR libstdc++/64584
4502 PR libstdc++/64585
4503 * include/bits/regex.h (basic_regex<>::basic_regex,
4504 basic_regex<>::assign, basic_regex<>::imbue,
4505 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
4506 imbuing basic_regex; Make assign() transactional against exception.
4507 * include/bits/regex_compiler.h (__compile_nfa<>): Add back
4508 __compile_nfa SFINAE.
4509 * include/std/regex: Adjust include order to avoid __compile_nfa
4510 forward declaration.
4511 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
4512 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
4513
8bae22b7
VV
45142015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
4515 Jonathan Wakely <jwakely@redhat.com>
4516
4517 * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
4518 on overloads for arrays.
4519 (cbegin, cend, rbegin, rend, crbegin, crend): New.
4520 * testsuite/24_iterators/range_access_cpp14.cc: New.
4521
257024e3
JW
45222015-01-18 Jonathan Wakely <jwakely@redhat.com>
4523
4524 PR libstdc++/64646
4525 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
4526 end of the second range.
4527 * testsuite/25_algorithms/is_permutation/64646.cc: New.
4528
fded3d73
JW
45292015-01-18 Jonathan Wakely <jwakely@redhat.com>
4530
4531 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
4532 * doc/html/manual/status.html: Regenerate.
4533
87361f30
JW
45342015-01-18 Jonathan Wakely <jwakely@redhat.com>
4535
4536 * include/bits/atomic_futex.h: Use mutex and condition_variable when
4537 atomic int is not lock-free. Make member variables private.
4538 * src/c++11/futex.cc: Likewise.
4539
1e3919ac
JW
4540 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
4541
c6c1bfd9
JW
45422015-01-17 Jonathan Wakely <jwakely@redhat.com>
4543
4544 PR libstdc++/64638
4545 * include/bits/atomic_futex.h: Use appropriate config macros for
4546 availability of std::mutex, std::condition and std::chrono.
4547
21c4af43
VV
45482015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
4549 Jonathan Wakely <jwakely@redhat.com>
4550
4551 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
4552 * doc/html/*: Regenerate.
4553
1d0a12dc
JW
45542015-01-17 Jonathan Wakely <jwakely@redhat.com>
4555
4556 DR 488
4557 PR libstdc++/58357
4558 * include/bits/algorithmfwd.h (rotate): Return an iterator.
4559 * include/bits/stl_algo.h (rotate, __rotate): Likewise.
4560 * testsuite/25_algorithms/rotate/dr488.cc: New.
4561 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
4562 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
4563 2.cc: Likewise.
4564 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
4565 pod.cc: Likewise.
4566
d31b8797
JW
45672015-01-17 Jonathan Wakely <jwakely@redhat.com>
4568
4569 PR libstdc++/60940
4570 * include/bits/atomic_base.h: Remove atomic integral typedefs as
4571 synonyms for __atomic_base<int> etc.
4572 * include/std/atomic: Make atomic_int a synonym for atomic<int> and
4573 likewise for all atomic integral types.
4574 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
4575 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
4576
3ecec1ef
JW
45772015-01-17 Jonathan Wakely <jwakely@redhat.com>
4578
4579 PR libstdc++/56785
4580 * include/std/tuple (_Tuple_impl): Remove zero-element specialization
4581 and define one-element specialization.
4582 * testsuite/20_util/tuple/56785.cc: New.
4583
c23ccace
JW
45842015-01-17 Jonathan Wakely <jwakely@redhat.com>
4585
4586 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
4587 Remove unused header.
4588 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
4589 Likewise.
4590 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
4591 Likewise.
4592
96d8c147
JW
45932015-01-16 Jonathan Wakely <jwakely@redhat.com>
4594
4595 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
4596 * include/std/locale: Include new header.
4597 * include/Makefile.am: Add it.
4598 * include/Makefile.in: Regenerate.
4599 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
4600 * testsuite/22_locale/conversions/string/1.cc: New.
4601 * testsuite/22_locale/conversions/string/2.cc: New.
4602 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
4603 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
4604 New.
4605
28af1fb3
JW
46062015-01-16 Jonathan Wakely <jwakely@redhat.com>
4607
4608 * config/abi/pre/gnu.ver: Export new symbols.
4609 * include/Makefile.am: Add codecvt.
4610 * include/Makefile.in: Regenerate.
4611 * include/std/codecvt: New header.
4612 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
4613 __codecvt_utf8_utf16_base): Define specializations.
4614 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
4615 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
4616 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
4617 New.
4618
eae801ba
TR
46192015-01-16 Torvald Riegel <triegel@redhat.com>
4620
4621 * src/c++11/futex.cc: New file.
4622 * include/bits/atomic_futex.h: New file.
4623 * include/std/future (__future_base::_State_baseV2): Use
4624 atomic_futex_unsigned instead of mutex+condvar.
4625 * src/c++11/futex.cc: Likewise.
4626 * include/Makefile.am: Add atomic_futex.h.
4627 * include/Makefile.in: Likewise.
4628 * src/c++11/Makefile.am: Add futex.cc.
4629 * src/c++11/Makefile.in: Likewise.
4630
bb93f35d
JW
46312015-01-16 Jonathan Wakely <jwakely@redhat.com>
4632
4633 * acinclude.m4: Fix typo in comment.
4634 * configure: Regenerate.
4635 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
4636 codecvt<char16_t, char, mbstate_t>): Declare specializations.
4637 * include/bits/locale_facets.h: Reserve space for new specializations.
4638 * src/c++11/Makefile.am: Add codecvt.cc.
4639 * src/c++11/Makefile.in: Regenerate.
4640 * src/c++11/codecvt.cc: New.
4641 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
4642 with -std=gnu++11.
4643 * src/c++98/Makefile.in: Regenerate.
4644 * src/c++98/locale_init.cc: Initialize new codecvt specializations.
4645 * src/c++98/localename.cc: Likewise.
4646 * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
4647 * testsuite/22_locale/codecvt/utf8.cc: New.
4648 * testsuite/22_locale/locale/cons/unicode.cc: Check that new
4649 specializations are installed in locale objects.
4650
6220fdff
TR
46512015-01-16 Torvald Riegel <triegel@redhat.com>
4652
4653 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
4654 implementation.
4655
6eb61481
JW
46562015-01-13 Jonathan Wakely <jwakely@redhat.com>
4657
4658 PR libstdc++/64571
4659 * config/abi/pre/gnu.ver: Export fstream functions using new string.
4660
5e67acc9
JW
46612015-01-12 Jonathan Wakely <jwakely@redhat.com>
4662
4663 PR libstdc++/64560
4664 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
4665 for RTTI support.
4666
1b9ad1d9
JW
4667 PR libstdc++/64553
4668 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
4669
f1f3453e
TS
46702015-01-10 Thomas Schwinge <thomas@codesourcery.com>
4671
4672 * doc/xml/manual/parallel_mode.xml: Update for libgomp being
4673 renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
4674 Multi Processing Runtime Library".
4675
0edf5aad
JW
46762015-01-09 Jonathan Wakely <jwakely@redhat.com>
4677
4678 PR libstdc++/64476
4679 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
4680 is_assignable arguments.
4681 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
4682 New.
4683
4c470097
AT
46842015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
4685
4686 * libsupc++/unwind-cxx.h: Revert previous commit.
4687
82a19768
AT
46882015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
4689
4690 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
4691
a8e67466
TS
46922015-01-09 Tim Shen <timshen@google.com>
4693
4694 PR libstdc++/64239
4695 * include/bits/regex.h (match_results<>::swap): Use std::swap
4696 instead of swap.
4697 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
4698 Likewise.
4699 * testsuite/28_regex/match_results/swap.cc: New testcase.
4700
c66b93fe
JW
47012015-01-08 Jonathan Wakely <jwakely@redhat.com>
4702
4703 PR libstdc++/60132
4704 * include/std/type_traits (has_trivial_default_constructor,
4705 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
4706 attribute.
4707 * testsuite/20_util/has_trivial_copy_assign/requirements/
4708 explicit_instantiation.cc: Use -Wno-deprecated.
4709 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
4710 Likewise.
4711 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
4712 * testsuite/20_util/has_trivial_copy_constructor/requirements/
4713 explicit_instantiation.cc: Likewise.
4714 * testsuite/20_util/has_trivial_copy_constructor/requirements/
4715 typedefs.cc: Likewise.
4716 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
4717 * testsuite/20_util/has_trivial_default_constructor/requirements/
4718 explicit_instantiation.c: Likewise.
4719 * testsuite/20_util/has_trivial_default_constructor/requirements/
4720 typedefs.cc: Likewise.
4721 * testsuite/20_util/has_trivial_default_constructor/value.cc:
4722 Likewise.
4723 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
4724 trait.
4725 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
4726 * testsuite/util/testsuite_common_types.h: Likewise.
4727
ea0b599a
JW
47282015-01-08 Jonathan Wakely <jwakely@redhat.com>
4729
4730 * include/bits/hashtable_policy.h: Use __bool_constant.
4731
23608da4
JW
47322015-01-07 Jonathan Wakely <jwakely@redhat.com>
4733
4734 * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
4735 * libsupc++/Makefile.in: Regenerate.
4736
63f21361
JW
47372015-01-06 Jonathan Wakely <jwakely@redhat.com>
4738
4739 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
4740
5624e564
JJ
47412015-01-05 Jakub Jelinek <jakub@redhat.com>
4742
4743 Update copyright years.
4744
f034f370
JW
47452015-01-04 Jonathan Wakely <jwakely@redhat.com>
4746
4747 PR libstdc++/64483
4748 * testsuite/18_support/exception_ptr/64241.cc: Use
4749 dg-require-atomic-builtins.
4750
b0e65755
JW
47512015-01-02 Jonathan Wakely <jwakely@redhat.com>
4752
4753 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
4754 date.
4755
d0cbab5f
TS
47562015-01-02 Tim Shen <timshen@google.com>
4757
4758 PR libstdc++/64475
4759 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
4760 iterator, since the original one shouldn't be mutated.
4761
e4dd5b69
BE
47622015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4763
4764 PR libstdc++/64422
4765 * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
4766 (string::insert): Likewise.
4767 (string::replace): Likewise.
4768 (wstring::erase): Likewise.
4769 (wstring::insert): Likewise.
4770 (wstring::replace): Likewise.
4771 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
4772
6e4d8cb6
JW
47732015-01-02 Jonathan Wakely <jwakely@redhat.com>
4774
4775 PR libstdc++/64468
4776 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
4777
b4df5e92
JW
47782015-01-02 Jonathan Wakely <jwakely@redhat.com>
4779
4780 PR libstdc++/64438
4781 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
4782 Revert removal of dg-require-string-conversions.
4783 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4784 Likewise.
4785 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4786 Likewise.
4787 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4788 Likewise.
4789 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4790 Likewise.
4791 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
4792 Likewise.
4793 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
4794 Likewise.
4795 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4796 Likewise.
4797 * testsuite/21_strings/basic_string/numeric_conversions/char/
4798 stoull.cc: Likewise.
4799 * testsuite/21_strings/basic_string/numeric_conversions/char/
4800 to_string.cc: Likewise.
4801\f
4802Copyright (C) 2015 Free Software Foundation, Inc.
4803
4804Copying and distribution of this file, with or without modification,
4805are permitted in any medium without royalty provided the copyright
4806notice and this notice are preserved.