re PR libstdc++/33394 (Add test case for Thread race segfault in std::string::append...
[gcc.git] / libstdc++-v3 / ChangeLog
1 2015-03-24 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/33394
4 * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
5
6 2015-03-23 Jonathan Wakely <jwakely@redhat.com>
7
8 PR libstdc++/64967
9 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
10 * configure: Regenerate.
11 * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
12 system_category): Use macros for versioned namespace.
13 * src/c++11/futex.cc: Add missing end macro for versioned namespace.
14
15 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
16
17 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
18 test for unused for ARM.
19 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
20 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
21
22 2015-03-20 Jonathan Wakely <jwakely@redhat.com>
23
24 * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
25 * include/ext/codecvt_specializations.h (encoding_state,
26 encoding_char_traits): Remove abi-tag and use inline namespace.
27 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
28
29 2015-03-19 Jason Merrill <jason@redhat.com>
30
31 * config/locale/gnu/messages_members.cc: Revert abi-tag change.
32 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
33
34 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
35
36 PR c++/65046
37 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
38 get_catalogs): Add abi-tag.
39 * include/ext/codecvt_specializations.h (encoding_state,
40 encoding_char_traits): Likewise.
41 * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
42 * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
43 numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
44 money_get_shim, money_put_shim, messages_shim): Likewise.
45 * src/c++11/future.cc (future_error_category::message): Likewise.
46 * src/c++11/system_error.cc (generic_error_category::message,
47 system_error_category::message): Likewise.
48 (__sso_string): Disable -Wabi-tag warnings.
49
50 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
51
52 PR libstdc++/13631
53 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
54 implementation for old glibc. Fix whitespace.
55
56 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
57 Torvald Riegel <triegel@redhat.com>
58
59 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
60 * config.h.in: Regenerate.
61 * configure: Regenerate.
62 * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
63 (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
64 (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
65 (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
66 EDEADLK.
67
68 2015-03-17 Jonathan Wakely <jwakely@redhat.com>
69
70 * libsupc++/nested_exception.h: Do not try to derive from final
71 classes.
72 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
73 final class.
74
75 * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
76 unused exception variable.
77 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
78 * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
79 test.
80 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
81
82 2015-03-13 Jonathan Wakely <jwakely@redhat.com>
83
84 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
85 * configure: Regenerate.
86
87 * include/experimental/system_error: Fix include guard.
88
89 2015-03-12 Renlin Li <renlin.li@arm.com>
90
91 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
92 wrapped target.
93
94 2015-03-10 Tim Shen <timshen@google.com>
95
96 PR libstdc++/64441
97 * include/bits/regex.h (match_results<>::size,
98 match_results<>::position, match_results<>::str,
99 match_results<>::operator[], match_results<>::prefix,
100 match_results<>::suffix, match_results<>::end,
101 match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
102 match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
103 global __unmatched_sub. Add unmatched submatch as part of
104 match_results.
105 * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
106 regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
107 * testsuite/28_regex/match_results/out_of_range_submatches.cc:
108 New testcases.
109
110 2015-03-09 Jonathan Wakely <jwakely@redhat.com>
111
112 PR libstdc++/64467
113 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
114 for newlib targets. Really fix mixed line-endings this time.
115
116 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
117
118 * include/std/future (future_error(error_code)): Construct base
119 class with error_code's message.
120 * src/c++11/future.cc (future_error::what()): Do not call c_str() on
121 temporary string.
122
123 2015-03-05 Jonathan Wakely <jwakely@redhat.com>
124
125 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
126 noconv result.
127 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
128 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
129
130 2015-03-04 Jonathan Wakely <jwakely@redhat.com>
131
132 PR libstdc++/64797
133 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
134 incomplete multibyte sequences correctly.
135 * include/std/codecvt (codecvt_utf8, codecvt_utf16,
136 codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
137 * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
138 Define constants.
139 (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
140 Define convenience functions.
141 (read_utf8_code_point): Return relevant constant to distinguish
142 incomplete characters from invalid sequences.
143 (read_utf16_code_point): Likewise. Check for invalid sequences.
144 (ucs4_in, utf16_in): Use incomplete_mb_character constant.
145 (utf16_out): Check for invalid sequences.
146 (utf16_span): Fix condition.
147 (ucs2_out): Use is_high_surrogate.
148 (ucs2_in): Use incomplete_mb_character constant and fix condition.
149 * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
150 * testsuite/22_locale/conversions/buffer/1.cc: New.
151 * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
152 char32_t instead of wchar_t.
153 * testsuite/22_locale/conversions/string/3.cc: New.
154
155 2015-03-03 Iain Sandoe <iain@codesourcery.com>
156
157 PR libstdc++/64883
158 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
159 visibility for Darwin.
160 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
161 also deprecated.
162 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
163
164 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
165
166 PR libstdc++/65279
167 * include/std/scoped_allocator (__inner_type_impl,
168 scoped_allocator_adaptor): Add defaulted copy assignment and move
169 assignment operators.
170 * testsuite/20_util/scoped_allocator/65279.cc: New.
171
172 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
173
174 PR libstdc++/64367
175 * include/std/stdexcept (__sso_string): Don't use non-static member
176 in sizeof.
177
178 2015-02-28 Matthias Klose <doko@ubuntu.com>
179
180 PR libstdc++/65246
181 * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
182
183 2015-02-22 Jonathan Wakely <jwakely@redhat.com>
184
185 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
186 * doc/html/manual/status.html: Regenerate.
187
188 2015-02-20 Jonathan Wakely <jwakely@redhat.com>
189
190 PR libstdc++/64695
191 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
192 tuple layout.
193
194 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
195 behavior.
196 * doc/html/manual/status.html: Regenerate.
197
198 2015-02-19 Jonathan Wakely <jwakely@redhat.com>
199
200 PR libstdc++/58357
201 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
202 * include/bits/stl_algo.h (__rotate, rotate): Likewise.
203
204 2015-02-19 Hans-Peter Nilsson <hp@axis.com>
205
206 PR testsuite/65093
207 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
208 (test01): Add explanatory comment. Keep only the bd1 sub-test and
209 split out bd2, bd3, bd4, and bd5 sub-tests into...
210 * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
211 testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
212 testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
213 testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
214 New separate files with the old parts.
215
216 2015-02-18 Jonathan Wakely <jwakely@redhat.com>
217
218 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
219 surrogate pairs.
220 (utf16_in): Pass mode argument to write_utf16_code_point.
221 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
222 native byte order.
223 * testsuite/22_locale/codecvt/char16_t.cc: New.
224 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
225
226 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
227 * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
228
229 2015-02-17 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de>
230 Jonathan Wakely <jwakely@redhat.com>
231
232 * testsuite/22_locale/codecvt/char32_t.cc: New.
233
234 2015-02-17 Jonathan Wakely <jwakely@redhat.com>
235
236 PR libstdc++/65085
237 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
238 empty string gets null-terminated.
239 * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
240
241 2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
242
243 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
244 mixed line-endings introduced in last change.
245
246 2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
247
248 * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
249 for __NEWLIB__ macro with a dejagnu set macro.
250 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
251
252 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
253
254 PR libstdc++/64467
255 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
256 special case for '\n'.
257 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
258
259 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
260
261 * src/c++11/futex.cc: Do not define for gthr-single.h targets.
262
263 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
264
265 PR libstdc++/64883
266 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
267 of deprecated.
268 * include/c_std/cstdio (gets): Likewise.
269 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
270 with attributes used in darwin headers.
271
272 2015-01-29 Jakub Jelinek <jakub@redhat.com>
273
274 * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
275 $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
276 * configure: Regenerated.
277
278 2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
279
280 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
281 after vtv_cygmin is set.
282 * configure: Regenerated.
283
284 2015-01-29 Matthias Klose <doko@ubuntu.com>
285
286 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
287 unconditionally.
288 * configure: Regenerate.
289
290 2015-01-29 Caroline Tice <cmtice@google.com>
291
292 Committing VTV Cywin/Ming patch for Patrick Wollgast
293 * configure: Regenerate.
294 * libsupc++/Makefile.in: Regenerate.
295 * src/Makefile.in: Regenerate.
296
297 2015-01-29 Jonathan Wakely <jwakely@redhat.com>
298
299 * include/bits/atomic_base.h: Use __always_inline__ instead of
300 always_inline.
301 * include/bits/atomic_futex.h: Likewise.
302 * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
303 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
304 __packed__ instead of packed.
305 * include/std/shared_mutex: Use __unused__ instead of unused.
306 * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
307 * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
308 * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
309
310 2015-01-28 Caroline Tice <cmtice@google.com>
311
312 Committing VTV Cywin/Ming patch for Patrick Wollgast
313 * acinclude.m4: Define VTV_CYGMIN.
314 * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
315 and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
316 * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
317 for Cygwin and MinGW.
318 * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
319 VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
320 libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
321
322 2015-01-28 Jonathan Wakely <jwakely@redhat.com>
323
324 PR libstdc++/64828
325 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
326 * libsupc++/Makefile.in: Regenerate.
327 * src/c++11/Makefile.in: Regenerate.
328
329 2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
330
331 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
332 check for unsupported.
333 (v3_target_compile_as_c): Likewise.
334
335 2015-01-28 Richard Biener <rguenther@suse.de>
336
337 PR libstdc++/64798
338 * libsupc++/eh_alloc.cc (struct allocated_entry): Align
339 data member.
340 (pool::allocate): Adjust allocation size and alignment to
341 that change.
342 (pool::free): Adjust pointer offsetting.
343
344 2015-01-27 Jonathan Wakely <jwakely@redhat.com>
345
346 PR libstdc++/64368
347 * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
348 shared_timed_mutex::try_lock_until): Only define when POSIX thread
349 timeouts option is supported.
350 (shared_timed_mutex::try_shared_lock_for,
351 shared_timed_mutex::try_shared_lock_until): Likewise.
352
353 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
354
355 PR libstdc++/64368
356 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
357 numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
358 * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
359 and use cache's _M_grouping field.
360 (__numpunct_fill_cache): Likewise.
361 (__moneypunct_fill_cache): Improve comments.
362
363 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
364
365 * testsuite/23_containers/set/operations/2.cc: Add test for
366 non-transparent comparison function.
367
368 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
369
370 PR target/29366
371 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
372 Remove SH4A inline asm and lock based implementations and use the
373 defaults from ext/atomicity.h.
374
375 2015-01-23 Jonathan Wakely <jwakely@redhat.com>
376
377 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
378 new std::string constructors for byname facets.
379
380 2015-01-22 Richard Biener <rguenther@suse.de>
381
382 PR libstdc++/64535
383 * libsupc++/eh_alloc.cc: Include new.
384 (bitmask_type): Remove.
385 (one_buffer): Likewise.
386 (emergency_buffer): Likewise.
387 (emergency_used): Likewise.
388 (dependents_buffer): Likewise.
389 (dependents_used): Likewise.
390 (class pool): New custom fixed-size arena, variable size object
391 allocator.
392 (emergency_pool): New global.
393 (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
394 (__cxxabiv1::__cxa_free_exception): Likewise.
395 (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
396 (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
397
398 2015-01-22 Tim Shen <timshen@google.com>
399
400 PR libstdc++/64680
401 * include/bits/regex.h (basic_regex<>::basic_regex,
402 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
403 standard interface.
404 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
405
406 2015-01-22 Tim Shen <timshen@google.com>
407
408 PR libstdc++/64649
409 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
410 regex_traits<>::lookup_classname): Correctly narrow input chars.
411 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
412
413 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
414
415 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
416
417 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
418
419 * testsuite/29_atomics/atomic/64658.cc: Test stored value.
420
421 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
422
423 * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
424 * doc/xml/manual/status_cxx2014.xml: Update status.
425 * doc/html/manual/status.html: Regenerate.
426
427 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
428
429 PR libstdc++/64650
430 * include/experimental/optional (bad_optional_access): Add default
431 constructor.
432 * testsuite/experimental/optional/requirements.cc: Test for default
433 constructor.
434
435 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
436
437 * include/bits/stl_map.h (map::find<>, map::count<>,
438 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
439 member function templates to perform heterogeneous lookup.
440 * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
441 multimap::lower_bound<>, multimap::upper_bound<>,
442 multimap::equal_range<>): Likewise.
443 * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
444 multiset::lower_bound<>, multiset::upper_bound<>,
445 multiset::equal_range<>): Likewise.
446 * include/bits/stl_set.h (set::find<>, set::count<>,
447 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
448 * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
449 _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
450 _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
451 _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
452 * testsuite/23_containers/map/operations/2.cc: New.
453 * testsuite/23_containers/multimap/operations/2.cc: New.
454 * testsuite/23_containers/multiset/operations/2.cc: New.
455 * testsuite/23_containers/set/operations/2.cc: New.
456
457 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
458
459 * config/abi/pre/gnu.ver: Export new constructors.
460 * include/bits/codecvt.h (codecvt_byname): Add string constructor.
461 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
462 specializations and declare explicit instantiations.
463 * include/bits/locale_classes.h (locale, collate_byname): Add string
464 constructors.
465 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
466 Likewise.
467 * include/bits/locale_facets_nonio.h (time_get_byname,
468 time_put_byname, moneypunct_byname, messages_byname): Likewise.
469 * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
470 codecvt_byname<char32_t>): Define explicit instantiations.
471 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
472 Instantiate string constructors.
473 (ctype_byname): Define string constructor.
474 * testsuite/22_locale/codecvt_byname/1.cc: New.
475 * testsuite/22_locale/collate_byname/1.cc: New.
476 * testsuite/22_locale/ctype_byname/2.cc: New.
477 * testsuite/22_locale/messages_byname/1.cc: New.
478 * testsuite/22_locale/moneypunct_byname/1.cc: New.
479 * testsuite/22_locale/numpunct_byname/1.cc: New.
480
481 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
482
483 PR libstdc++/64658
484 * include/std/atomic (atomic_init): Define.
485 * testsuite/29_atomics/atomic/64658.cc: New.
486
487 2015-01-19 Tim Shen <timshen@google.com>
488
489 PR libstdc++/64649
490 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
491 regex_traits<>::lookup_classname): Support forward iterators.
492 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
493 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
494
495 2015-01-19 Tim Shen <timshen@google.com>
496
497 PR libstdc++/64584
498 PR libstdc++/64585
499 * include/bits/regex.h (basic_regex<>::basic_regex,
500 basic_regex<>::assign, basic_regex<>::imbue,
501 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
502 imbuing basic_regex; Make assign() transactional against exception.
503 * include/bits/regex_compiler.h (__compile_nfa<>): Add back
504 __compile_nfa SFINAE.
505 * include/std/regex: Adjust include order to avoid __compile_nfa
506 forward declaration.
507 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
508 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
509
510 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
511 Jonathan Wakely <jwakely@redhat.com>
512
513 * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
514 on overloads for arrays.
515 (cbegin, cend, rbegin, rend, crbegin, crend): New.
516 * testsuite/24_iterators/range_access_cpp14.cc: New.
517
518 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
519
520 PR libstdc++/64646
521 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
522 end of the second range.
523 * testsuite/25_algorithms/is_permutation/64646.cc: New.
524
525 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
526
527 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
528 * doc/html/manual/status.html: Regenerate.
529
530 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
531
532 * include/bits/atomic_futex.h: Use mutex and condition_variable when
533 atomic int is not lock-free. Make member variables private.
534 * src/c++11/futex.cc: Likewise.
535
536 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
537
538 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
539
540 PR libstdc++/64638
541 * include/bits/atomic_futex.h: Use appropriate config macros for
542 availability of std::mutex, std::condition and std::chrono.
543
544 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
545 Jonathan Wakely <jwakely@redhat.com>
546
547 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
548 * doc/html/*: Regenerate.
549
550 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
551
552 DR 488
553 PR libstdc++/58357
554 * include/bits/algorithmfwd.h (rotate): Return an iterator.
555 * include/bits/stl_algo.h (rotate, __rotate): Likewise.
556 * testsuite/25_algorithms/rotate/dr488.cc: New.
557 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
558 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
559 2.cc: Likewise.
560 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
561 pod.cc: Likewise.
562
563 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
564
565 PR libstdc++/60940
566 * include/bits/atomic_base.h: Remove atomic integral typedefs as
567 synonyms for __atomic_base<int> etc.
568 * include/std/atomic: Make atomic_int a synonym for atomic<int> and
569 likewise for all atomic integral types.
570 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
571 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
572
573 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
574
575 PR libstdc++/56785
576 * include/std/tuple (_Tuple_impl): Remove zero-element specialization
577 and define one-element specialization.
578 * testsuite/20_util/tuple/56785.cc: New.
579
580 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
581
582 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
583 Remove unused header.
584 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
585 Likewise.
586 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
587 Likewise.
588
589 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
590
591 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
592 * include/std/locale: Include new header.
593 * include/Makefile.am: Add it.
594 * include/Makefile.in: Regenerate.
595 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
596 * testsuite/22_locale/conversions/string/1.cc: New.
597 * testsuite/22_locale/conversions/string/2.cc: New.
598 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
599 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
600 New.
601
602 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
603
604 * config/abi/pre/gnu.ver: Export new symbols.
605 * include/Makefile.am: Add codecvt.
606 * include/Makefile.in: Regenerate.
607 * include/std/codecvt: New header.
608 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
609 __codecvt_utf8_utf16_base): Define specializations.
610 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
611 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
612 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
613 New.
614
615 2015-01-16 Torvald Riegel <triegel@redhat.com>
616
617 * src/c++11/futex.cc: New file.
618 * include/bits/atomic_futex.h: New file.
619 * include/std/future (__future_base::_State_baseV2): Use
620 atomic_futex_unsigned instead of mutex+condvar.
621 * src/c++11/futex.cc: Likewise.
622 * include/Makefile.am: Add atomic_futex.h.
623 * include/Makefile.in: Likewise.
624 * src/c++11/Makefile.am: Add futex.cc.
625 * src/c++11/Makefile.in: Likewise.
626
627 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
628
629 * acinclude.m4: Fix typo in comment.
630 * configure: Regenerate.
631 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
632 codecvt<char16_t, char, mbstate_t>): Declare specializations.
633 * include/bits/locale_facets.h: Reserve space for new specializations.
634 * src/c++11/Makefile.am: Add codecvt.cc.
635 * src/c++11/Makefile.in: Regenerate.
636 * src/c++11/codecvt.cc: New.
637 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
638 with -std=gnu++11.
639 * src/c++98/Makefile.in: Regenerate.
640 * src/c++98/locale_init.cc: Initialize new codecvt specializations.
641 * src/c++98/localename.cc: Likewise.
642 * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
643 * testsuite/22_locale/codecvt/utf8.cc: New.
644 * testsuite/22_locale/locale/cons/unicode.cc: Check that new
645 specializations are installed in locale objects.
646
647 2015-01-16 Torvald Riegel <triegel@redhat.com>
648
649 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
650 implementation.
651
652 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
653
654 PR libstdc++/64571
655 * config/abi/pre/gnu.ver: Export fstream functions using new string.
656
657 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
658
659 PR libstdc++/64560
660 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
661 for RTTI support.
662
663 PR libstdc++/64553
664 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
665
666 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
667
668 * doc/xml/manual/parallel_mode.xml: Update for libgomp being
669 renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
670 Multi Processing Runtime Library".
671
672 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
673
674 PR libstdc++/64476
675 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
676 is_assignable arguments.
677 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
678 New.
679
680 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
681
682 * libsupc++/unwind-cxx.h: Revert previous commit.
683
684 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
685
686 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
687
688 2015-01-09 Tim Shen <timshen@google.com>
689
690 PR libstdc++/64239
691 * include/bits/regex.h (match_results<>::swap): Use std::swap
692 instead of swap.
693 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
694 Likewise.
695 * testsuite/28_regex/match_results/swap.cc: New testcase.
696
697 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
698
699 PR libstdc++/60132
700 * include/std/type_traits (has_trivial_default_constructor,
701 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
702 attribute.
703 * testsuite/20_util/has_trivial_copy_assign/requirements/
704 explicit_instantiation.cc: Use -Wno-deprecated.
705 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
706 Likewise.
707 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
708 * testsuite/20_util/has_trivial_copy_constructor/requirements/
709 explicit_instantiation.cc: Likewise.
710 * testsuite/20_util/has_trivial_copy_constructor/requirements/
711 typedefs.cc: Likewise.
712 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
713 * testsuite/20_util/has_trivial_default_constructor/requirements/
714 explicit_instantiation.c: Likewise.
715 * testsuite/20_util/has_trivial_default_constructor/requirements/
716 typedefs.cc: Likewise.
717 * testsuite/20_util/has_trivial_default_constructor/value.cc:
718 Likewise.
719 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
720 trait.
721 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
722 * testsuite/util/testsuite_common_types.h: Likewise.
723
724 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
725
726 * include/bits/hashtable_policy.h: Use __bool_constant.
727
728 2015-01-07 Jonathan Wakely <jwakely@redhat.com>
729
730 * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
731 * libsupc++/Makefile.in: Regenerate.
732
733 2015-01-06 Jonathan Wakely <jwakely@redhat.com>
734
735 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
736
737 2015-01-05 Jakub Jelinek <jakub@redhat.com>
738
739 Update copyright years.
740
741 2015-01-04 Jonathan Wakely <jwakely@redhat.com>
742
743 PR libstdc++/64483
744 * testsuite/18_support/exception_ptr/64241.cc: Use
745 dg-require-atomic-builtins.
746
747 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
748
749 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
750 date.
751
752 2015-01-02 Tim Shen <timshen@google.com>
753
754 PR libstdc++/64475
755 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
756 iterator, since the original one shouldn't be mutated.
757
758 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
759
760 PR libstdc++/64422
761 * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
762 (string::insert): Likewise.
763 (string::replace): Likewise.
764 (wstring::erase): Likewise.
765 (wstring::insert): Likewise.
766 (wstring::replace): Likewise.
767 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
768
769 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
770
771 PR libstdc++/64468
772 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
773
774 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
775
776 PR libstdc++/64438
777 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
778 Revert removal of dg-require-string-conversions.
779 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
780 Likewise.
781 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
782 Likewise.
783 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
784 Likewise.
785 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
786 Likewise.
787 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
788 Likewise.
789 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
790 Likewise.
791 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
792 Likewise.
793 * testsuite/21_strings/basic_string/numeric_conversions/char/
794 stoull.cc: Likewise.
795 * testsuite/21_strings/basic_string/numeric_conversions/char/
796 to_string.cc: Likewise.
797 \f
798 Copyright (C) 2015 Free Software Foundation, Inc.
799
800 Copying and distribution of this file, with or without modification,
801 are permitted in any medium without royalty provided the copyright
802 notice and this notice are preserved.