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