re PR libstdc++/66464 (codecvt_utf16 max_length returning incorrect value)
[gcc.git] / libstdc++-v3 / ChangeLog
1 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/66464
4 * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length):
5 Return 4 not 3.
6
7 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8
9 PR c++/66192
10 PR target/66200
11 * config/cpu/alpha/atomic_word.h: Remove.
12 * config/cpu/ia64/atomic_word.h: Remove.
13 * config/cpu/powerpc/atomic_word.h: Remove.
14 * config/os/aix/atomic_word.h: Remove.
15 * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]:
16 Use generic definition.
17
18 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19
20 PR target/66200
21 PR c++/66192
22 * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define
23 (_GLIBCXX_WRITE_MEM_BARRIER): Likewise
24 * include/bits/shared_ptr_base.h: Use ACQ_REL barrier.
25 * include/ext/atomicity.h: Likewise.
26 * include/tr1/shared_ptr.h: Likewise.
27 * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics.
28 Update comment.
29 (__set_and_release): Likewise.
30 * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for
31 line numbers.
32 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
33 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
34 Likewise.
35
36 2015-06-12 Jonathan Wakely <jwakely@redhat.com>
37
38 * include/std/tuple (__is_tuple_like_impl): Disambiguate array in
39 debug and profile modes.
40 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests
41 for swap in C++11 and later.
42
43 2015-06-09 Jonathan Wakely <jwakely@redhat.com>
44
45 PR libstdc++/66030
46 * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols
47 for mingw32.
48
49 2015-06-08 Jonathan Wakely <jwakely@redhat.com>
50
51 PR libstdc++/66441
52 * testsuite/22_locale/conversions/string/66441.cc: New.
53 * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space
54 in the output string for BOM and complete result.
55
56 PR libstdc++/66417
57 * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order
58 for single UTF-16 units.
59 * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New.
60
61 2015-06-07 François Dumont <fdumont@gcc.gnu.org>
62
63 * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to
64 outer scope and rename to ...
65 (std::__hash_is_transparent<>): ... this.
66 * include/debug/stl_map.h (map::find<>,
67 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
68 member function templates to perform heterogeneous lookup.
69 * include/debug/stl_multimap.h (multimap::find<>,
70 multimap::lower_bound<>, multimap::upper_bound<>,
71 multimap::equal_range<>): Likewise.
72 * include/debug/stl_multiset.h (multiset::find<>,
73 multiset::lower_bound<>, multiset::upper_bound<>,
74 multiset::equal_range<>): Likewise.
75 * include/debug/stl_set.h (set::find<>,
76 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
77 * include/profile/stl_map.h (map::find<>, map::count<>,
78 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise.
79 * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>,
80 multimap::lower_bound<>, multimap::upper_bound<>,
81 multimap::equal_range<>): Likewise.
82 * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>,
83 multiset::lower_bound<>, multiset::upper_bound<>,
84 multiset::equal_range<>): Likewise.
85 * include/profile/stl_set.h (set::find<>, set::count<>,
86 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
87 * testsuite/23_containers/map/operations/1.cc: Check const variants.
88 * testsuite/23_containers/multimap/operations/1.cc: Likewise.
89 * testsuite/23_containers/multiset/operations/1.cc: Likewise.
90 * testsuite/23_containers/set/operations/1.cc: Likewise.
91
92 2015-06-05 Jonathan Wakely <jwakely@redhat.com>
93
94 * doc/xml/manual/status_cxx2017.xml: Update status tables.
95 * doc/html/manual/*: Regenerate.
96 * include/std/type_traits (bool_constant): Define.
97 * testsuite/20_util/bool_constant/requirements.cc: New.
98 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
99 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
100 Likewise.
101 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
102 Likewise.
103
104 * include/std/shared_mutex (__shared_mutex_pthread,
105 __shared_mutex_cv): New helper types implementing the shared mutex
106 requirements.
107 (shared_mutex): New type for C++17.
108 (shared_timed_mutex): Derive from one of the new helper types.
109 * testsuite/30_threads/shared_mutex/cons/1.cc: New.
110 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New.
111 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New.
112 * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc:
113 New.
114 * testsuite/30_threads/shared_mutex/try_lock/1.cc: New.
115 * testsuite/30_threads/shared_mutex/try_lock/2.cc: New.
116
117 2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com>
118
119 Add __is_nothrow_swappable and take it into use.
120 * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode.
121 * include/bits/move.h (swap): Add constraints in C++11 and later.
122 * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable
123 for the free swap function for pair.
124 * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable
125 for the free swap functions for queue and priority_queue.
126 * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable
127 for the free swap function for stack.
128 * include/debug/array (swap): Use __is_nothrow_swappable
129 for the free swap function for array.
130 * include/profile/array (swap): Likewise.
131 * include/std/array (swap): Likewise.
132 * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable.
133 * include/std/type_traits (__is_swappable_impl::__is_swappable,
134 __is_nothrow_swappable_impl, __is_nothrow_swappable): New.
135 * testsuite/20_util/is_nothrow_swappable/requirements/
136 explicit_instantiation.cc: New.
137 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
138 New.
139 * testsuite/20_util/is_nothrow_swappable/value.cc: New.
140
141 2015-06-03 François Dumont fdumont@gcc.gnu.org>
142
143 * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode.
144
145 2015-06-02 Jonathan Wakely <jwakely@redhat.com>
146
147 * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release.
148 * doc/html/manual/*: Regenerate.
149
150 * doc/html/ext/lwg-active.html: Update to R93.
151 * doc/html/ext/lwg-closed.html: Likewise.
152 * doc/html/ext/lwg-defects.html: Likewise.
153 * doc/html/manual/*: Regenerate.
154 * doc/xml/manual/intro.xml: Document status of several DRs.
155
156 2015-06-02 Renlin Li <renlin.li@arm.com>
157
158 * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check.
159
160 2015-06-01 Jonathan Wakely <jwakely@redhat.com>
161
162 * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
163 environment variable.
164
165 2015-05-31 Jonathan Wakely <jwakely@redhat.com>
166
167 PR libstdc++/66354
168 * include/bits/stl_algobase.h (__fill_a): Check length before calling
169 memset.
170
171 2015-05-30 Jonathan Wakely <jwakely@redhat.com>
172
173 * include/bits/stl_algobase.h (__equal<true>::equal): Check length
174 instead of checking for null pointers.
175 (__lexicographical_compare<true>::__lc): Only check shorter length.
176
177 2015-05-29 François Dumont fdumont@gcc.gnu.org>
178
179 * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
180 _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
181 * include/debug/assertions.h: ...here, new.
182 * include/debug/formatter.h
183 (_Error_formatter::_Is_iterator_value_type): New.
184 (_Error_formatter::_Is_instance): New.
185 (_Error_formatter::_Parameter): Make public and not friend anymore.
186 (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
187 (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
188 entry.
189 (_Error_formatter::_Parameter::_Type): New.
190 (_Error_formatter::_Parameter::_Instance): New, inherit from
191 latter.
192 (union _Error_formatter::_Parameter::_M_variant): Reorganize.
193 (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
194 overloads take iterator through a const reference.
195 (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
196 New.
197 (_Parameter(const _Type&, const char*, _Is_instance)): New.
198 (_Error_formatter::_M_print_type): Delete.
199 (_Error_formatter::_M_iterator_value_type): New.
200 (_Error_formatter::_M_instance): New.
201 * include/Makefile.am: Add new above debug file.
202 * include/Makefile.in: Regenerate.
203 * include/debug/functions.h
204 (__check_dereferenceable(const _Safe_iterator<>&),
205 __valid_range(const _Safe_iterator<>&),
206 __is_safe_random_iterator<_Safe_iterator<>>): Move...
207 * include/debug/safe_iterator.h: ... here.
208 Replace debug.h include with assertions.h.
209 (__check_singular_aux): Move...
210 * include/debug/safe_base.h: ... here.
211 * include/debug/functions.h
212 (__check_dereferenceable(const _Safe_local_iterator<>&),
213 __valid_range(const _Safe_local_iterator<>&): Move...
214 * include/debug/safe_local_iterator.h: ...here.
215 * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
216 Remove _Safe_iterator declaration.
217 * include/debug/safe_unordered_container.h: Replace debug.h with
218 assertions.h.
219 * include/debug/array: Replace safe_sequence.h include with
220 formatter.h and macros.h.
221 * include/debug/deque: Include functions.tcc.
222 * include/debug/forward_list: Likewise.
223 * include/debug/list: Likewise.
224 * include/debug/string: Likewise.
225 * include/debug/vector: Likewise.
226 * include/bits/unique_ptr.h: Replace debug.h include with new
227 assertions.h.
228 * include/bits/stl_iterator_base_funcs.h: Likewise.
229 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
230 Adjust dg-error line number.
231 * testsuite/23_containers/array/tuple_interface/
232 tuple_element_debug_neg.cc: Likewise.
233 * src/c++11/debug.cc: Adapt.
234
235 2015-05-29 Jonathan Wakely <jwakely@redhat.com>
236
237 * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
238 * doc/html/manual/*: Regenerate.
239
240 * include/std/future (__async_result_of): New alias template.
241 (async): Use __async_result_of to pass decayed types to result_of.
242 * testsuite/30_threads/async/lwg2021.cc: New.
243 * doc/xml/manual/intro.xml: Document LWG 2021 status.
244
245 PR libstdc++/66327
246 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
247 memcmp with null pointers.
248 (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
249 ranges.
250
251 2015-05-28 Jonathan Wakely <jwakely@redhat.com>
252
253 PR libstdc++/65352
254 * include/profile/array (array::data): Use _S_ptr.
255 * include/debug/array (array::data): Likewise.
256
257 PR libstdc++/65352
258 * include/std/array (__array_traits::_S_ptr): New function.
259 (array::data): Use _S_ptr to avoid creating invalid reference.
260 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
261 dg-error line numbers.
262 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
263 likewise.
264
265 2015-05-27 Jonathan Wakely <jwakely@redhat.com>
266
267 * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
268 instead of downcasting.
269 (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
270 (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
271 (_Rb_tree::_S_iter): Remove.
272 (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
273 (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
274 instead of _S_lower_bound_tr
275 (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
276 (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
277 instead of calling _S_lower_bound_tr.
278 (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
279 (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
280 instead of calling _S_upper_bound_tr.
281 (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
282 (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
283 (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
284 (_Rb_tree::_M_get_insert_unique_pos): Likewise.
285 (_Rb_tree::_M_get_insert_equal_pos): Likewise.
286 (_Rb_tree::_M_insert_equal_lower_node): Likewise.
287 (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
288 _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
289
290 PR libstdc++/66017
291 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
292 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
293 from _Base_ptr.
294 (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
295 (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
296 * include/ext/aligned_buffer.h (__aligned_membuf): New type using
297 alignment of _Tp as a member subobject, not as a complete object.
298 * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
299 _Link_type manually as it might not be in the debug info.
300
301 2015-05-26 Doug Evans <dje@google.com>
302
303 * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
304 operator-> support.
305 * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
306 operator->.
307
308 2015-05-26 Jonathan Wakely <jwakely@redhat.com>
309
310 * include/bits/locale_conv.h: Fix copyright years.
311 * include/bits/quoted_string.h: Likewise.
312 * src/filesystem/Makefile.am: Likewise.
313 * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
314 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
315 Likewise.
316 * testsuite/22_locale/conversions/string/1.cc: Likewise.
317 * testsuite/22_locale/conversions/string/2.cc: Likewise.
318 * testsuite/22_locale/conversions/string/3.cc: Likewise.
319 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
320 Likewise.
321 * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
322 Likewise.
323 * testsuite/util/testsuite_fs.h: Likewise.
324
325 2015-05-23 François Dumont fdumont@gcc.gnu.org>
326
327 PR libstdc++/64657
328 * include/debug/functions.h (__check_sorted_aux): Cast expression to
329 void.
330
331 2015-05-21 David Edelsohn <dje.gcc@gmail.com>
332
333 PR target/66224
334 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
335 Don't use isync. Use lwsync if available.
336 * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
337 powerpc cpu definition.
338
339 2015-05-21 Jason Merrill <jason@redhat.com>
340
341 * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
342 * libsupc++/del_op.cc: Likewise.
343
344 2015-05-20 François Dumont fdumont@gcc.gnu.org>
345
346 * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
347 usage of typeid.
348 (_Error_formatter::_M_print_type): New.
349 * src/c++11/debug.cc
350 (_Error_formatter::_Parameter::_M_print_field): Use latter.
351 (_Error_formatter::_M_print_type): Implement latter using
352 __cxaabiv1::__cxa_demangle to print demangled type name.
353
354 * include/bits/cpp_type_traits.h
355 (std::move_iterator): Delete declaration.
356 (std::__is_move_iterator<move_iterator>): Move partial specialization...
357 * include/bits/stl_iterator.h: ... here.
358 (std::__miter_base): Overloads for std::reverse_iterator and
359 std::move_iterator.
360 * include/bits/stl_algobase.h (std::__miter_base): Provide default
361 implementation.
362
363 2015-05-20 Jonathan Wakely <jwakely@redhat.com>
364
365 * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
366
367 PR libstdc++/66078
368 * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
369 overload for pointers.
370 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
371 808590.cc: Add -std=gnu++03 switch.
372 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
373 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
374 * testsuite/23_containers/vector/modifiers/push_back/
375 strong_guarantee.cc: New.
376
377 2015-05-19 Jonathan Wakely <jwakely@redhat.com>
378
379 * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
380 (operator==(const list&, const list&)): If size() is O(1) compare
381 sizes before comparing each element.
382 * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
383 (list::resize): Use _M_resize_pos.
384
385 2015-05-19 François Dumont <fdumont@gcc.gnu.org>
386
387 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
388 invocations.
389 * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
390 * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
391 * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
392
393 2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
394
395 * configure.host: Define cpu_defines_dir for ARM.
396 * config/cpu/arm/cpu_defines.h: New file.
397
398 2015-05-17 François Dumont <fdumont@gcc.gnu.org>
399
400 * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
401 missing constructors.
402 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
403 Likewise.
404 * include/debug/unordered_map (unordered_map, unordered_multimap): Add
405 missing constructors.
406 * include/debug/unordered_set (unordered_set, unordered_multiset):
407 Likewise.
408 * include/profile/unordered_map (unordered_map, unordered_multimap): Add
409 missing constructors.
410 * include/profile/unordered_set (unordered_set, unordered_multiset):
411 Likewise.
412
413 2015-05-15 Jonathan Wakely <jwakely@redhat.com>
414
415 * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
416 use throughout the file.
417 (make_file_type): New function.
418 (file_size(const path&, error_code&)): Report an error for anything
419 that isn't a regular file.
420 (status(const path&), symlink_status(const path&)): Do not throw for
421 file_type::not_found.
422 (temp_directory_path()): Check additional environment variables.
423 * testsuite/experimental/filesystem/operations/exists.cc: New.
424 * testsuite/experimental/filesystem/operations/file_size.cc: New.
425 * testsuite/experimental/filesystem/operations/status.cc: New.
426 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
427 New.
428
429 2015-05-14 Nathan Myers <ncm@cantrip.org>
430 Jonathan Wakely <jwakely@redhat.com>
431
432 PR libstdc++/66055
433 * include/std/unordered_map (unordered_map, unordered_multimap): Add
434 missing constructors.
435 * include/std/unordered_set (unordered_set, unordered_multiset):
436 Likewise.
437 * testsuite/23_containers/unordered_map/cons/66055.cc: New.
438 * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
439 * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
440 * testsuite/23_containers/unordered_set/cons/66055.cc: New.
441
442 2015-05-14 Jonathan Wakely <jwakely@redhat.com>
443
444 PR libstdc++/66011
445 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
446 sendfile.
447 * config.h.in: Regenerate.
448 * configure: Regenerate.
449 * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
450 not return after copying contents. Use fchmod, fchmodat, and sendfile
451 when available.
452 (current_path, permissions, space): Use errno not return value.
453
454 PR libstdc++/66018
455 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
456 dirent.d_type.
457 * config.h.in: Regenerate.
458 * configure: Regenerate.
459 * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
460
461 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
462
463 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
464 * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
465 * config.h.in: Regenerate.
466 * configure: Likewise.
467 * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
468 __USING_SJLJ_EXCEPTIONS__.
469 * libsupc++/eh_throw.cc: Likewise.
470 * libsupc++/eh_ptr.cc: Likewise.
471 * doc/html/manual/appendix_porting.html: Remove
472 GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
473 * doc/xml/manual/build_hacking.xml: Likewise.
474 * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
475 * doc/xml/manual/configure.xml: Likewise.
476
477 2015-05-13 Jonathan Wakely <jwakely@redhat.com>
478
479 * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
480 for nullptr (LWG 2415).
481 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
482 construction from empty unique_ptr.
483 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
484 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
485
486 * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
487 Define (LWG 2454).
488 * testsuite/20_util/raw_storage_iterator/base.cc: New.
489
490 * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
491 Remove explicit (LWG 2407).
492
493 * include/bits/basic_string.h (basic_string::basic_string()): Make
494 noexcept conditional on allocator (LWG 2455).
495
496 * include/std/complex (polar): Check for negative rho (LWG 2459).
497
498 * include/experimental/tuple (apply): Handle pointers to member (LWG
499 2418).
500 * include/std/functional (_Mem_fn_base): Make constructors constexpr.
501 (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
502 * testsuite/experimental/tuple/apply.cc: Test pointer to member.
503
504 * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
505
506 * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
507 * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
508 * testsuite/23_containers/forward_list/allocator/minimal.cc:
509 Likewise.
510 * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
511 * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
512 * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
513 * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
514 * testsuite/23_containers/unordered_map/allocator/minimal.cc:
515 Likewise.
516 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
517 Likewise.
518 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
519 Likewise.
520 * testsuite/23_containers/unordered_set/allocator/minimal.cc:
521 Likewise.
522 * testsuite/util/testsuite_allocator.h: Remove unused parameter.
523
524 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
525 * configure: Regenerate.
526
527 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
528
529 * Makefile.in: Regenerated with automake-1.11.6.
530 * aclocal.m4: Likewise.
531 * configure: Likewise.
532 * doc/Makefile.in: Likewise.
533 * include/Makefile.in: Likewise.
534 * libsupc++/Makefile.in: Likewise.
535 * po/Makefile.in: Likewise.
536 * python/Makefile.in: Likewise.
537 * src/Makefile.in: Likewise.
538 * src/c++11/Makefile.in: Likewise.
539 * src/c++98/Makefile.in: Likewise.
540 * src/filesystem/Makefile.in: Likewise.
541 * testsuite/Makefile.in: Likewise.
542
543 2015-05-09 Jason Merrill <jason@redhat.com>
544
545 * testsuite/20_util/headers/functional/synopsis.cc: Add
546 _GLIBCXX14_CONSTEXPR.
547 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
548
549 2015-05-08 Jason Merrill <jason@redhat.com>
550
551 * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
552 * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
553 * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
554 * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
555 * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
556 * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
557 * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
558 * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
559 * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
560 * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
561 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
562 Likewise.
563 * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
564 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
565 Adjust expected errors.
566 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
567 Likewise.
568 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
569 Likewise.
570 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
571 Likewise.
572 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
573 Likewise.
574 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
575 Likewise.
576 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
577 Likewise.
578 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
579 Likewise.
580 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
581 Likewise.
582 * testsuite/23_containers/vector/requirements/dr438
583 /constructor_1_neg.cc: Likewise.
584 * testsuite/23_containers/vector/requirements/dr438
585 /constructor_2_neg.cc: Likewise.
586 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
587 Likewise.
588 * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
589 * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
590 * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
591 * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
592 * testsuite/ext/array_allocator/check_allocate_max_size.cc:
593 Add -Wno-deprecated.
594 * testsuite/ext/array_allocator/check_deallocate_null.cc:
595 Add -Wno-deprecated.
596 * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
597 * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
598 * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
599 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
600 Add -std=c++98.
601 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
602 Add -std=c++98.
603 * testsuite/tr1/2_general_utilities/shared_ptr/assign
604 /auto_ptr_rvalue_neg.cc: Add -std=c++98.
605 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
606 Add -std=c++98 -fno-show-column.
607 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
608 Add -std=c++98.
609 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
610 Add -std=c++98.
611 * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
612 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
613
614 * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
615 * src/c++98/Makefile.in: Regenerate.
616 * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
617 * src/Makefile.in: Regenerate.
618
619 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
620
621 PR libstdc++/51617
622 * include/std/future (async): Change default policy to launch::async.
623
624 * include/experimental/any (any::_Storage): Fix alignment of buffer.
625 (any::_Internal): Check alignment of type.
626 * testsuite/experimental/any/cons/aligned.cc: New.
627 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
628
629 * include/experimental/iterator (ostream_joiner): Simplify by using
630 the injected-class-name and the ostream_type typedef.
631
632 * include/experimental/iterator: New. Define ostream_joiner.
633 * include/Makefile.am: Add new header.
634 * include/Makefile.in: Regenerate.
635 * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
636 * testsuite/experimental/iterator/ostream_joiner.cc: New.
637 * testsuite/experimental/iterator/requirements.cc: New.
638 * doc/xml/manual/status_cxx2017.xml: Update status.
639 * doc/html/manual/status.html: Regenerate.
640
641 * include/experimental/numeric: New. Define gcd and lcm.
642 * include/Makefile.am: Add new header.
643 * include/Makefile.in: Regenerate.
644 * testsuite/experimental/numeric/gcd.cc: New.
645 * testsuite/experimental/numeric/lcm.cc: New.
646 * doc/xml/manual/status_cxx2017.xml: Update status.
647 * doc/html/manual/status.html: Regenerate.
648
649 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
650
651 Revert addition of feature macros from other headers per latest SD-6.
652 * include/experimental/deque: Remove feature-test macro.
653 * include/experimental/forward_list: Ditto.
654 * include/experimental/list: Ditto.
655 * include/experimental/map: Ditto.
656 * include/experimental/set: Ditto.
657 * include/experimental/string: Ditto.
658 * include/experimental/unordered_map: Ditto.
659 * include/experimental/unordered_set: Ditto.
660
661 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
662
663 * include/experimental/any (any::_Storage): Make non-copyable.
664 (any::any): Do not copy _Storage object.
665 (any::operator=): Implement more efficiently than swapping.
666 (any::swap): Use new _Op_xfer operation.
667 (any::_Op::_Op_xfer): New enumerator.
668 (_Manager_internal::_S_alloc): Remove unused function.
669 (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
670 parameter instead of returning a _Storage object.
671 (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
672 _Op_xfer operation for moving and swapping.
673 * testsuite/experimental/any/cons/nontrivial.cc: New.
674 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
675
676 * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
677 Declare.
678 * src/filesystem/path.cc (filesystem_error::~filesystem_error):
679 Define.
680
681 PR libstdc++/65978
682 * include/std/tuple (forward_as_tuple, tie): Add constexpr.
683 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
684 and fix tests for forward_as_tuple and tie.
685
686 * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
687 Set timespec members explicitly instead of with a braced-init-list.
688 [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
689
690 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
691
692 * include/experimental/deque: Add feature-test macro.
693 * include/experimental/forward_list: Ditto.
694 * include/experimental/list: Ditto.
695 * include/experimental/map: Ditto.
696 * include/experimental/set: Ditto.
697 * include/experimental/string: Ditto.
698 * include/experimental/unordered_map: Ditto.
699 * include/experimental/unordered_set: Ditto.
700
701 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
702
703 * include/experimental/memory: Correct feature-test macro.
704
705 * include/experimental/memory: Add feature-test macro.
706 * include/experimental/vector: Likewise.
707 * doc/xml/manual/status_cxx2017.xml: Update status.
708 * doc/html/manual/status.html: Regenerate.
709
710 2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
711
712 Implement observer_ptr.
713 * include/Makefile.am: Add new header.
714 * include/Makefile.in: Regenerate.
715 * include/experimental/memory: New.
716 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
717 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
718 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
719 * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
720 * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
721 * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
722 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
723 * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
724
725 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
726
727 * src/filesystem/path.cc (path::compare): Do not copy strings.
728
729 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
730 is not available.
731 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
732 * configure: Regenerate.
733 * config.h.in: Regenerate.
734 * configure.ac: Check for utime.h
735 * include/experimental/fs_path.h (path::string<>)
736 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
737 * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
738 closedir, dirent, readdir_r): Replace dummy functions with #error.
739 (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
740 * src/filesystem/ops.cc (do_stat, is_set): Make inline.
741 (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
742 (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
743 (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
744 error_code.
745
746 * include/experimental/fs_path.h (path::_List): Use vector instead of
747 list.
748 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
749 * src/filesystem/path.cc: Use std::prev instead of decrementing
750 rvalues. Fix whitespace.
751 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
752 Do not decrement iterators before begin.
753
754 * include/experimental/fs_dir.h: Fix use of non-reserved names.
755 * include/experimental/fs_ops.h: Likewise.
756 * include/experimental/fs_path.h: Likewise.
757 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
758 C++11 when checking for support.
759
760 * include/bits/locale_classes.h (locale::facet): Delete copy
761 operations in C++11 mode.
762
763 * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
764
765 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
766 * configure: Regenerate.
767
768 2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
769
770 Inline one-line erasure dispatch functions.
771 * include/experimental/forward_list (erase_if(), erase()): Inline.
772 * include/experimental/list (erase_if(), erase()): Inline.
773 * include/experimental/map (erase_if(*)): Inline.
774 * include/experimental/set (erase_if(*)): Inline.
775 * include/experimental/string (erase_if(), erase()): Inline.
776 * include/experimental/unordered_map (erase_if(*)): Inline.
777 * include/experimental/unordered_set (erase_if(*)): Inline.
778
779 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
780
781 * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
782 * doc/xml/manual/status_cxx2011.xml: Update status tables.
783 * doc/xml/manual/status_cxx2014.xml: Likewise.
784 * doc/xml/manual/status_cxx2017.xml: New.
785 * doc/xml/manual/using.xml: Fix typo.
786 * doc/html/*: Regenerate.
787
788 * include/std/memory (pointer_safety, declare_reachable,
789 undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
790 get_pointer_safety): Define.
791 * testsuite/20_util/pointer_safety/1.cc: New.
792
793 2015-04-30 Jonathan Wakely <jwakely@redhat.com>
794
795 Implement N4100 File System TS
796 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
797 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
798 * config.h.in: Regenerate.
799 * configure: Regenerate.
800 * configure.ac: Enable filesystem TS and check its dependencies.
801 * include/Makefile.am: Add new headers.
802 * include/Makefile.in: Regenerate.
803 * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
804 __str_codecvt_out): Move code conversion logic from wstring_convert
805 into new global functions.
806 (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
807 functions.
808 (wstring_convert::_M_conv): Remove.
809 * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
810 * include/experimental/filesystem: New.
811 * include/experimental/fs_dir.h: New.
812 * include/experimental/fs_fwd.h: New.
813 * include/experimental/fs_ops.h: New.
814 * include/experimental/fs_path.h: New.
815 * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
816 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
817 * src/Makefile.am (SUBDIRS): Add filesystem.
818 * src/Makefile.in: Regenerate.
819 * src/filesystem/Makefile.am: New.
820 * src/filesystem/Makefile.in: New.
821 * src/filesystem/dir.cc: New.
822 * src/filesystem/ops.cc: New.
823 * src/filesystem/path.cc: New.
824 * testsuite/experimental/filesystem/operations/absolute.cc: New.
825 * testsuite/experimental/filesystem/operations/copy.cc: New.
826 * testsuite/experimental/filesystem/operations/current_path.cc: New.
827 * testsuite/experimental/filesystem/path/append/path.cc: New.
828 * testsuite/experimental/filesystem/path/assign/assign.cc: New.
829 * testsuite/experimental/filesystem/path/assign/copy.cc: New.
830 * testsuite/experimental/filesystem/path/compare/compare.cc: New.
831 * testsuite/experimental/filesystem/path/compare/path.cc: New.
832 * testsuite/experimental/filesystem/path/compare/strings.cc: New.
833 * testsuite/experimental/filesystem/path/concat/path.cc: New.
834 * testsuite/experimental/filesystem/path/concat/strings.cc: New.
835 * testsuite/experimental/filesystem/path/construct/copy.cc: New.
836 * testsuite/experimental/filesystem/path/construct/default.cc: New.
837 * testsuite/experimental/filesystem/path/construct/locale.cc: New.
838 * testsuite/experimental/filesystem/path/construct/range.cc: New.
839 * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
840 * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
841 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
842 New.
843 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
844 New.
845 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
846 New.
847 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
848 New.
849 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
850 New.
851 * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
852 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
853 New.
854 * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
855 * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
856 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
857 New.
858 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
859 New.
860 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
861 New.
862 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
863 New.
864 * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
865 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
866 * testsuite/experimental/filesystem/path/query/empty.cc: New.
867 * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
868 * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
869 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
870 New.
871 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
872 New.
873 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
874 New.
875 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
876 New.
877 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
878 New.
879 * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
880 * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
881 * testsuite/util/testsuite_fs.h: New.
882
883 2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
884
885 Add fundamentals TR container erasure.
886 * include/Makefile.am: Add new headers.
887 * include/Makefile.in: Add new headers.
888 * include/experimental/array: New.
889 * include/experimental/deque: New.
890 * include/experimental/erase_if.tcc: New.
891 * include/experimental/forward_list: New.
892 * include/experimental/list: New.
893 * include/experimental/map: New.
894 * include/experimental/set: New.
895 * include/experimental/string: New.
896 * include/experimental/unordered_map: New.
897 * include/experimental/unordered_set: New.
898 * include/experimental/vector: New.
899 * testsuite/experimental/deque/erasure.cc: New.
900 * testsuite/experimental/forward_list/erasure.cc: New.
901 * testsuite/experimental/list/erasure.cc: New.
902 * testsuite/experimental/map/erasure.cc: New.
903 * testsuite/experimental/set/erasure.cc: New.
904 * testsuite/experimental/string/erasure.cc: New.
905 * testsuite/experimental/unordered_map/erasure.cc: New.
906 * testsuite/experimental/unordered_set/erasure.cc: New.
907 * testsuite/experimental/vector/erasure.cc: New.
908
909 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
910
911 * include/bits/cpp_type_traits.h
912 (__gnu_cxx::__is_normal_iterator): Delete.
913 * include/bits/stl_algobase.h (std::__niter_base): Adapt.
914 * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
915 (std::__niter_base): Overloads for std::reverse_iterator,
916 __gnu_cxx::__normal_iterator and std::move_iterator.
917
918 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
919
920 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
921 Delete.
922 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
923 Remove usage of latter and compute size of the prime numbers array
924 locally.
925
926 2015-04-29 Doug Evans <dje@google.com>
927
928 PR libstdc++/65839
929 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
930 Replace all lookups of "bool" with this.
931 (get_std_size_type): New function. Replace all lookups of std::size_t
932 with this.
933 (*Worker): New method get_result_type.
934 (DequeWorkerBase.__init__): New arg val_type. All callers updated.
935 (ListWorkerBase.__init__): New arg val_type. All callers updated.
936 (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
937 Delete setting of name, enabled.
938 (UniquePtrDerefWorker.__init__): New arg elem_type. All callers
939 updated. Delete setting of name.
940 (UniquePtrMethodsMatcher): Rewrite for consistency with all other
941 libstdc++ xmethod matchers.
942 * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
943 * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
944 * testsuite/libstdc++-xmethods/deque.cc: Ditto.
945 * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
946 * testsuite/libstdc++-xmethods/list.cc: Ditto.
947 * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
948 * testsuite/libstdc++-xmethods/vector.cc: Ditto.
949
950 2015-04-29 Doug Evans <dje@google.com>
951
952 Use consistent naming for value type attributes.
953 * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
954 to _val_type.
955 (ArraySizeWorker, ArrayEmptyWorker): Ditto.
956 (ArrayFrontWorker, ArrayBackWorker): Ditto.
957 (ArrayAtWorker, ArraySubscriptWorker): Ditto.
958 (DequeWorkerBase): Rename elemtype to val_type.
959 (ForwardListWorkerBase): Rename _elem_type to _val_type.
960 (ForwardListFrontWorker): Ditto. And rename elem_address to
961 val_address.
962 (ForwardListMethodsMatcher): Rename elem_type to val_type.
963 (VectorWorkerBase): Rename _elemtype to _val_type.
964
965 2015-04-29 Jonathan Wakely <jwakely@redhat.com>
966
967 PR libstdc++/65760
968 * include/std/functional (__check_func_return_type): Use is_same to
969 avoid using _is_convertible on incomplete types.
970 * testsuite/20_util/function/65760.cc: New.
971
972 PR libstdc++/64657
973 * include/bits/basic_string (basic_string::_S_copy_chars): Cast
974 expression to void.
975 * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
976 time_get::_M_extract_num, time_get::_M_extract_name,
977 time_get::_M_extract_wday_or_month): Likewise.
978 * include/bits/stl_algo.h (__includes, __replace_copy_if,
979 __is_sorted_until, __is_permutation, transform): Likewise.
980 * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
981 __equal::equal, __lexicographical_compare_impl, equal): Likewise.
982 * include/bits/stl_numeric.h (inner_product): Likewise.
983 * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
984 * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
985 input_iterator_wrapper): Declare unusable comma operator.
986 * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
987 * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
988 New.
989
990 2015-04-28 Doug Evans <dje@google.com>
991
992 * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
993 Define to zero.
994
995 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
996
997 * include/bits/stl_algo.h (random_shuffle): Only define for hosted
998 implementations.
999
1000 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
1001
1002 * Makefile.am (SUBDIRS): Move python to hosted_source.
1003 * Makefile.in: Regenerate.
1004 * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
1005 * configure: Regenerate.
1006
1007 2015-04-28 Marc Glisse <marc.glisse@inria.fr>
1008
1009 PR libstdc++/65883
1010 * include/std/limits (numeric_limits): Add missing unsigned.
1011
1012 2015-04-28 Stephan Bergmann <sbergman@redhat.com>
1013
1014 * include/debug/vector (_Safe_vector::operator=): Add missing returns.
1015
1016 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
1017
1018 PR libstdc++/60333
1019 * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
1020 Handle enumeration types larger than sizeof(long).
1021 (__make_signed_selector<_Tp, false, true>): Find unsigned type then
1022 make it signed.
1023 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1024 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1025 Likewise.
1026 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
1027 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
1028 dg-error.
1029 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
1030
1031 PR libstdc++/61645
1032 * include/bits/forward_list.h (forward_list::splice_after): Add
1033 noexcept.
1034 * include/bits/forward_list.tcc (forward_list::splice_after):
1035 Likewise.
1036
1037 PR libstdc++/65631
1038 * include/bits/random.h (seed_seq) Define copy constructor and copy
1039 assignment as deleted.
1040 * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
1041
1042 * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
1043 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
1044 Use -std=gnu++1z. Check feature-test macro.
1045
1046 * include/std/type_traits (void_t): Add.
1047 * testsuite/20_util/void_t/1.cc: New.
1048
1049 2015-04-28 Tim Shen <timshen@google.com>
1050
1051 * include/bits/regex.tcc: Handle regex_constants::__polynomial.
1052 * include/bits/regex_automaton.tcc: Throw exception when parsing
1053 back-reference with flag __polynomial.
1054 * include/bits/regex_constants.h: Add extension flag
1055 syntax_option_type __polynomial.
1056 * bits/regex_executor.tcc: Still let BFS process ECMAScript.
1057 Alternative operation will be fixed in the coming refactoring.
1058 * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
1059 loose match_search_debug to use DFS only.
1060
1061 2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
1062
1063 PR libstdc++/65909
1064 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
1065 Make the generated test program fail gracefully if the target
1066 doesn't support passing command-line arguments.
1067
1068 2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
1069 Jonathan Wakely <jwakely@redhat.com>
1070
1071 * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
1072 Return false or zero if the library is built without exceptions.
1073 * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
1074 the library is built without exceptions.
1075
1076 2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
1077
1078 * config/abi/pre/gnu.ver: Fix comment.
1079
1080 Add support for std::uncaught_exceptions.
1081 * acinclude.m4: Bump libtool_VERSION.
1082 * config/abi/pre/gnu.ver: Export the new symbol.
1083 * configure: Regenerate.
1084 * libsupc++/eh_catch.cc (uncaught_exceptions): New.
1085 * libsupc++/exception (uncaught_exceptions): New.
1086 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
1087 * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
1088
1089 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
1090 Michael Hanselmann <public@hansmi.ch>
1091
1092 PR libstdc++/62258
1093 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
1094 uncaught exceptions.
1095 * testsuite/18_support/exception_ptr/62258.cc: New.
1096
1097 2015-04-27 Jonathan Wakely <jwakely@redhat.com>
1098
1099 * doc/xml/manual/extensions.xml: Add cross-reference.
1100 * doc/html/manual/ext_compile_checks.html: Regenerate.
1101
1102 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
1103
1104 * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
1105 * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
1106
1107 2015-04-22 Renlin Li <renlin.li@arm.com>
1108
1109 * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
1110 * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
1111 * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
1112 * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
1113 * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
1114
1115 2015-04-21 Jonathan Wakely <jwakely@redhat.com>
1116
1117 * doc/xml/manual/configure.xml: Update descriptions of options
1118 affecting dual ABI and add cross-references.
1119 * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
1120 * doc/xml/manual/using.xml: Document ABI transition.
1121 * doc/html/*: Regenerate.
1122
1123 * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
1124 * doc/xml/manual/using.xml: Document newer -std options. Use better
1125 examples of nested namespaces.
1126
1127 2015-04-20 Jonathan Wakely <jwakely@redhat.com>
1128
1129 * doc/xml/manual/concurrency_extensions.xml: Update documentation
1130 on atomics.
1131 * doc/xml/manual/using.xml: Likewise. Improve markup.
1132 * doc/html/*: Regenerate.
1133
1134 2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1135
1136 * scripts/extract_symvers.pl: Ignore elfdump error output.
1137
1138 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
1139
1140 PR libstdc++/61347
1141 * include/bits/stl_iterator_base_funcs.h (_List_iterator,
1142 _List_const_iterator): Declare.
1143 (__distance): Declare new overloads for _List_iterator and
1144 _List_const_iterator.
1145 * include/bits/stl_list.h (__distance): New overloads for
1146 _List_iterator and _List_const_iterator.
1147 * testsuite/23_containers/list/61347.cc: New testcase.
1148
1149 2015-04-14 Jonathan Wakely <jwakely@redhat.com>
1150
1151 * doc/xml/manual/evolution.xml: Fix typos.
1152 * doc/html/manual/api.html: Regenerate.
1153
1154 2015-04-14 Hans-Peter Nilsson <hp@axis.com>
1155
1156 * testsuite/29_atomics/atomic/62259.cc: Assert atomic
1157 alignment is larger-equal, not equal, to default alignment.
1158
1159 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
1160
1161 PR libstdc++/65754
1162 * config/abi/pre/gnu.ver: Export base object constructors for
1163 fstreams.
1164 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1165 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1166 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1167 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1168 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1169 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1170 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1171 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1172 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1173 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1174 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1175 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1176 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1177 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1178 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1179 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1180 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1181 * testsuite/27_io/basic_fstream/cons/base.cc: New.
1182
1183 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
1184
1185 * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
1186 * doc/html/*: Regenerate.
1187
1188 2015-04-12 Uros Bizjak <ubizjak@gmail.com>
1189
1190 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1191
1192 2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
1193
1194 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1195
1196 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1197
1198 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
1199
1200 * doc/xml/manual/test.xml: Improve documentation on running a subset
1201 of tests.
1202 * doc/html/manual/test.html: Regenerate.
1203
1204 2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1205
1206 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1207 for GCC 5.1 release.
1208 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1209 Likewise.
1210
1211 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
1212
1213 * include/std/shared_mutex (shared_timed_mutex): Add comments to
1214 explain the logic in the non-pthread_rwlock_t version.
1215 (_Mutex): Remove redundant type.
1216 (_M_n_readers): Rename to _S_max_readers.
1217 (_M_write_entered, _M_readers): New convenience functions.
1218 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
1219 functions. Use predicates with condition variables. Simplify bitwise
1220 operations.
1221 (try_lock_for, try_shared_lock_for): Convert duration to time_point
1222 and call try_lock_until or try_shared_lock_until respectively.
1223 (try_lock_until, try_shared_lock_until): Wait on the condition
1224 variables until the specified time passes.
1225 (unlock): Add Debug Mode assertion.
1226 (unlock_shared): Add Debug Mode assertion.
1227 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
1228
1229 * include/std/shared_mutex (shared_timed_mutex): Only use
1230 pthread_rwlock_t when the POSIX Timeouts option is supported.
1231 * testsuite/30_threads/shared_lock/cons/5.cc: Remove
1232 dg-require-gthreads-timed.
1233 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1234 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1235 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1236
1237 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
1238
1239 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1240
1241 2015-04-09 Jonathan Wakely <jwakely@redhat.com>
1242 Richard Henderson <rth@redhat.com>
1243
1244 PR libstdc++/65147
1245 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
1246 alignment.
1247 * include/std/atomic (atomic): For types with a power of two size set
1248 alignment to at least the size.
1249 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1250 * testsuite/29_atomics/atomic/65147.cc: New.
1251 * testsuite/29_atomics/atomic_integral/65147.cc: New.
1252
1253 2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1254
1255 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1256 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1257 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1258
1259 2015-04-07 Jakub Jelinek <jakub@redhat.com>
1260
1261 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1262 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1263 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1264 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1265 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1266 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1267 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1268 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1269
1270 2015-03-30 Jonathan Wakely <jwakely@redhat.com>
1271
1272 PR libstdc++/65630
1273 * config/abi/pre/gnu.ver: Export operator+ for new strings.
1274 * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
1275 * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
1276
1277 2015-03-28 Tim Shen <timshen@google.com>
1278
1279 PR libstdc++/65420
1280 * include/bits/regex_constants.h: Use constexpr variables for flags.
1281 * testsuite/28_regex/constants/constexpr.cc: New testcase.
1282
1283 2015-03-27 Jonathan Wakely <jwakely@redhat.com>
1284
1285 PR libstdc++/65499
1286 * include/std/chrono: Add using-directive for literals to std::chrono.
1287 * testsuite/20_util/duration/literals/65499.cc: New.
1288
1289 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
1290
1291 PR libstdc++/58038
1292 PR libstdc++/60421
1293 * include/std/thread (this_thread::sleep_for): Check for negative
1294 durations.
1295 (this_thread::sleep_until): Check for times in the past.
1296 * testsuite/30_threads/this_thread/58038.cc: New.
1297 * testsuite/30_threads/this_thread/60421.cc: New.
1298
1299 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
1300
1301 PR libstdc++/62259
1302 PR libstdc++/65147
1303 * include/std/atomic (atomic<T>): Increase alignment for types with
1304 the same size as one of the integral types.
1305 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1306 * testsuite/29_atomics/atomic/62259.cc: New.
1307
1308 2015-03-26 Richard Henderson <rth@redhat.com>
1309
1310 PR libstdc++/65033
1311 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
1312 a fake pointer indicating type alignment.
1313 (__atomic_base<T *>::is_lock_free): Likewise.
1314 * include/std/atomic (atomic<T>::is_lock_free): Likewise.
1315
1316 2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
1317
1318 PR libstdc++/33394
1319 * testsuite/21_strings/basic_string/pthread33394.cc: Use
1320 dg-additional-options.
1321
1322 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
1323
1324 PR libstdc++/65543
1325 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
1326 thinko in r150387.
1327 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
1328 Likewise.
1329 * testsuite/27_io/rvalue_streams-2.cc: New.
1330
1331 2015-03-24 Jonathan Wakely <jwakely@redhat.com>
1332
1333 PR libstdc++/33394
1334 * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
1335
1336 2015-03-23 Jonathan Wakely <jwakely@redhat.com>
1337
1338 PR libstdc++/64967
1339 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
1340 * configure: Regenerate.
1341 * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
1342 system_category): Use macros for versioned namespace.
1343 * src/c++11/futex.cc: Add missing end macro for versioned namespace.
1344
1345 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
1346
1347 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
1348 test for unused for ARM.
1349 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
1350 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1351
1352 2015-03-20 Jonathan Wakely <jwakely@redhat.com>
1353
1354 * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
1355 * include/ext/codecvt_specializations.h (encoding_state,
1356 encoding_char_traits): Remove abi-tag and use inline namespace.
1357 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
1358
1359 2015-03-19 Jason Merrill <jason@redhat.com>
1360
1361 * config/locale/gnu/messages_members.cc: Revert abi-tag change.
1362 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
1363
1364 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1365
1366 PR c++/65046
1367 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
1368 get_catalogs): Add abi-tag.
1369 * include/ext/codecvt_specializations.h (encoding_state,
1370 encoding_char_traits): Likewise.
1371 * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
1372 * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
1373 numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
1374 money_get_shim, money_put_shim, messages_shim): Likewise.
1375 * src/c++11/future.cc (future_error_category::message): Likewise.
1376 * src/c++11/system_error.cc (generic_error_category::message,
1377 system_error_category::message): Likewise.
1378 (__sso_string): Disable -Wabi-tag warnings.
1379
1380 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1381
1382 PR libstdc++/13631
1383 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
1384 implementation for old glibc. Fix whitespace.
1385
1386 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1387 Torvald Riegel <triegel@redhat.com>
1388
1389 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
1390 * config.h.in: Regenerate.
1391 * configure: Regenerate.
1392 * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
1393 (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
1394 (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
1395 (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
1396 EDEADLK.
1397
1398 2015-03-17 Jonathan Wakely <jwakely@redhat.com>
1399
1400 * libsupc++/nested_exception.h: Do not try to derive from final
1401 classes.
1402 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
1403 final class.
1404
1405 * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
1406 unused exception variable.
1407 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1408 * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
1409 test.
1410 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1411
1412 2015-03-13 Jonathan Wakely <jwakely@redhat.com>
1413
1414 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
1415 * configure: Regenerate.
1416
1417 * include/experimental/system_error: Fix include guard.
1418
1419 2015-03-12 Renlin Li <renlin.li@arm.com>
1420
1421 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
1422 wrapped target.
1423
1424 2015-03-10 Tim Shen <timshen@google.com>
1425
1426 PR libstdc++/64441
1427 * include/bits/regex.h (match_results<>::size,
1428 match_results<>::position, match_results<>::str,
1429 match_results<>::operator[], match_results<>::prefix,
1430 match_results<>::suffix, match_results<>::end,
1431 match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
1432 match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
1433 global __unmatched_sub. Add unmatched submatch as part of
1434 match_results.
1435 * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
1436 regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
1437 * testsuite/28_regex/match_results/out_of_range_submatches.cc:
1438 New testcases.
1439
1440 2015-03-09 Jonathan Wakely <jwakely@redhat.com>
1441
1442 PR libstdc++/64467
1443 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
1444 for newlib targets. Really fix mixed line-endings this time.
1445
1446 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
1447
1448 * include/std/future (future_error(error_code)): Construct base
1449 class with error_code's message.
1450 * src/c++11/future.cc (future_error::what()): Do not call c_str() on
1451 temporary string.
1452
1453 2015-03-05 Jonathan Wakely <jwakely@redhat.com>
1454
1455 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1456 noconv result.
1457 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
1458 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
1459
1460 2015-03-04 Jonathan Wakely <jwakely@redhat.com>
1461
1462 PR libstdc++/64797
1463 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1464 incomplete multibyte sequences correctly.
1465 * include/std/codecvt (codecvt_utf8, codecvt_utf16,
1466 codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
1467 * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
1468 Define constants.
1469 (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
1470 Define convenience functions.
1471 (read_utf8_code_point): Return relevant constant to distinguish
1472 incomplete characters from invalid sequences.
1473 (read_utf16_code_point): Likewise. Check for invalid sequences.
1474 (ucs4_in, utf16_in): Use incomplete_mb_character constant.
1475 (utf16_out): Check for invalid sequences.
1476 (utf16_span): Fix condition.
1477 (ucs2_out): Use is_high_surrogate.
1478 (ucs2_in): Use incomplete_mb_character constant and fix condition.
1479 * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
1480 * testsuite/22_locale/conversions/buffer/1.cc: New.
1481 * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
1482 char32_t instead of wchar_t.
1483 * testsuite/22_locale/conversions/string/3.cc: New.
1484
1485 2015-03-03 Iain Sandoe <iain@codesourcery.com>
1486
1487 PR libstdc++/64883
1488 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
1489 visibility for Darwin.
1490 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
1491 also deprecated.
1492 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1493
1494 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
1495
1496 PR libstdc++/65279
1497 * include/std/scoped_allocator (__inner_type_impl,
1498 scoped_allocator_adaptor): Add defaulted copy assignment and move
1499 assignment operators.
1500 * testsuite/20_util/scoped_allocator/65279.cc: New.
1501
1502 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
1503
1504 PR libstdc++/64367
1505 * include/std/stdexcept (__sso_string): Don't use non-static member
1506 in sizeof.
1507
1508 2015-02-28 Matthias Klose <doko@ubuntu.com>
1509
1510 PR libstdc++/65246
1511 * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
1512
1513 2015-02-22 Jonathan Wakely <jwakely@redhat.com>
1514
1515 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
1516 * doc/html/manual/status.html: Regenerate.
1517
1518 2015-02-20 Jonathan Wakely <jwakely@redhat.com>
1519
1520 PR libstdc++/64695
1521 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
1522 tuple layout.
1523
1524 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
1525 behavior.
1526 * doc/html/manual/status.html: Regenerate.
1527
1528 2015-02-19 Jonathan Wakely <jwakely@redhat.com>
1529
1530 PR libstdc++/58357
1531 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
1532 * include/bits/stl_algo.h (__rotate, rotate): Likewise.
1533
1534 2015-02-19 Hans-Peter Nilsson <hp@axis.com>
1535
1536 PR testsuite/65093
1537 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
1538 (test01): Add explanatory comment. Keep only the bd1 sub-test and
1539 split out bd2, bd3, bd4, and bd5 sub-tests into...
1540 * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
1541 testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
1542 testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
1543 testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
1544 New separate files with the old parts.
1545
1546 2015-02-18 Jonathan Wakely <jwakely@redhat.com>
1547
1548 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
1549 surrogate pairs.
1550 (utf16_in): Pass mode argument to write_utf16_code_point.
1551 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
1552 native byte order.
1553 * testsuite/22_locale/codecvt/char16_t.cc: New.
1554 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
1555
1556 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
1557 * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
1558
1559 2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1560 Jonathan Wakely <jwakely@redhat.com>
1561
1562 * testsuite/22_locale/codecvt/char32_t.cc: New.
1563
1564 2015-02-17 Jonathan Wakely <jwakely@redhat.com>
1565
1566 PR libstdc++/65085
1567 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
1568 empty string gets null-terminated.
1569 * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
1570
1571 2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
1572
1573 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
1574 mixed line-endings introduced in last change.
1575
1576 2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
1577
1578 * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
1579 for __NEWLIB__ macro with a dejagnu set macro.
1580 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1581
1582 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
1583
1584 PR libstdc++/64467
1585 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
1586 special case for '\n'.
1587 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1588
1589 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
1590
1591 * src/c++11/futex.cc: Do not define for gthr-single.h targets.
1592
1593 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
1594
1595 PR libstdc++/64883
1596 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
1597 of deprecated.
1598 * include/c_std/cstdio (gets): Likewise.
1599 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
1600 with attributes used in darwin headers.
1601
1602 2015-01-29 Jakub Jelinek <jakub@redhat.com>
1603
1604 * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
1605 $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
1606 * configure: Regenerated.
1607
1608 2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
1609
1610 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1611 after vtv_cygmin is set.
1612 * configure: Regenerated.
1613
1614 2015-01-29 Matthias Klose <doko@ubuntu.com>
1615
1616 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1617 unconditionally.
1618 * configure: Regenerate.
1619
1620 2015-01-29 Caroline Tice <cmtice@google.com>
1621
1622 Committing VTV Cywin/Ming patch for Patrick Wollgast
1623 * configure: Regenerate.
1624 * libsupc++/Makefile.in: Regenerate.
1625 * src/Makefile.in: Regenerate.
1626
1627 2015-01-29 Jonathan Wakely <jwakely@redhat.com>
1628
1629 * include/bits/atomic_base.h: Use __always_inline__ instead of
1630 always_inline.
1631 * include/bits/atomic_futex.h: Likewise.
1632 * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
1633 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
1634 __packed__ instead of packed.
1635 * include/std/shared_mutex: Use __unused__ instead of unused.
1636 * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
1637 * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
1638 * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
1639
1640 2015-01-28 Caroline Tice <cmtice@google.com>
1641
1642 Committing VTV Cywin/Ming patch for Patrick Wollgast
1643 * acinclude.m4: Define VTV_CYGMIN.
1644 * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
1645 and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
1646 * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
1647 for Cygwin and MinGW.
1648 * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
1649 VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
1650 libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
1651
1652 2015-01-28 Jonathan Wakely <jwakely@redhat.com>
1653
1654 PR libstdc++/64828
1655 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
1656 * libsupc++/Makefile.in: Regenerate.
1657 * src/c++11/Makefile.in: Regenerate.
1658
1659 2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1660
1661 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
1662 check for unsupported.
1663 (v3_target_compile_as_c): Likewise.
1664
1665 2015-01-28 Richard Biener <rguenther@suse.de>
1666
1667 PR libstdc++/64798
1668 * libsupc++/eh_alloc.cc (struct allocated_entry): Align
1669 data member.
1670 (pool::allocate): Adjust allocation size and alignment to
1671 that change.
1672 (pool::free): Adjust pointer offsetting.
1673
1674 2015-01-27 Jonathan Wakely <jwakely@redhat.com>
1675
1676 PR libstdc++/64368
1677 * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
1678 shared_timed_mutex::try_lock_until): Only define when POSIX thread
1679 timeouts option is supported.
1680 (shared_timed_mutex::try_shared_lock_for,
1681 shared_timed_mutex::try_shared_lock_until): Likewise.
1682
1683 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
1684
1685 PR libstdc++/64368
1686 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
1687 numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
1688 * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
1689 and use cache's _M_grouping field.
1690 (__numpunct_fill_cache): Likewise.
1691 (__moneypunct_fill_cache): Improve comments.
1692
1693 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
1694
1695 * testsuite/23_containers/set/operations/2.cc: Add test for
1696 non-transparent comparison function.
1697
1698 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
1699
1700 PR target/29366
1701 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
1702 Remove SH4A inline asm and lock based implementations and use the
1703 defaults from ext/atomicity.h.
1704
1705 2015-01-23 Jonathan Wakely <jwakely@redhat.com>
1706
1707 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
1708 new std::string constructors for byname facets.
1709
1710 2015-01-22 Richard Biener <rguenther@suse.de>
1711
1712 PR libstdc++/64535
1713 * libsupc++/eh_alloc.cc: Include new.
1714 (bitmask_type): Remove.
1715 (one_buffer): Likewise.
1716 (emergency_buffer): Likewise.
1717 (emergency_used): Likewise.
1718 (dependents_buffer): Likewise.
1719 (dependents_used): Likewise.
1720 (class pool): New custom fixed-size arena, variable size object
1721 allocator.
1722 (emergency_pool): New global.
1723 (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
1724 (__cxxabiv1::__cxa_free_exception): Likewise.
1725 (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
1726 (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
1727
1728 2015-01-22 Tim Shen <timshen@google.com>
1729
1730 PR libstdc++/64680
1731 * include/bits/regex.h (basic_regex<>::basic_regex,
1732 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
1733 standard interface.
1734 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
1735
1736 2015-01-22 Tim Shen <timshen@google.com>
1737
1738 PR libstdc++/64649
1739 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1740 regex_traits<>::lookup_classname): Correctly narrow input chars.
1741 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
1742
1743 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
1744
1745 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
1746
1747 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
1748
1749 * testsuite/29_atomics/atomic/64658.cc: Test stored value.
1750
1751 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1752
1753 * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
1754 * doc/xml/manual/status_cxx2014.xml: Update status.
1755 * doc/html/manual/status.html: Regenerate.
1756
1757 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1758
1759 PR libstdc++/64650
1760 * include/experimental/optional (bad_optional_access): Add default
1761 constructor.
1762 * testsuite/experimental/optional/requirements.cc: Test for default
1763 constructor.
1764
1765 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1766
1767 * include/bits/stl_map.h (map::find<>, map::count<>,
1768 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
1769 member function templates to perform heterogeneous lookup.
1770 * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
1771 multimap::lower_bound<>, multimap::upper_bound<>,
1772 multimap::equal_range<>): Likewise.
1773 * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
1774 multiset::lower_bound<>, multiset::upper_bound<>,
1775 multiset::equal_range<>): Likewise.
1776 * include/bits/stl_set.h (set::find<>, set::count<>,
1777 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
1778 * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
1779 _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
1780 _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
1781 _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
1782 * testsuite/23_containers/map/operations/2.cc: New.
1783 * testsuite/23_containers/multimap/operations/2.cc: New.
1784 * testsuite/23_containers/multiset/operations/2.cc: New.
1785 * testsuite/23_containers/set/operations/2.cc: New.
1786
1787 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1788
1789 * config/abi/pre/gnu.ver: Export new constructors.
1790 * include/bits/codecvt.h (codecvt_byname): Add string constructor.
1791 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
1792 specializations and declare explicit instantiations.
1793 * include/bits/locale_classes.h (locale, collate_byname): Add string
1794 constructors.
1795 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
1796 Likewise.
1797 * include/bits/locale_facets_nonio.h (time_get_byname,
1798 time_put_byname, moneypunct_byname, messages_byname): Likewise.
1799 * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
1800 codecvt_byname<char32_t>): Define explicit instantiations.
1801 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
1802 Instantiate string constructors.
1803 (ctype_byname): Define string constructor.
1804 * testsuite/22_locale/codecvt_byname/1.cc: New.
1805 * testsuite/22_locale/collate_byname/1.cc: New.
1806 * testsuite/22_locale/ctype_byname/2.cc: New.
1807 * testsuite/22_locale/messages_byname/1.cc: New.
1808 * testsuite/22_locale/moneypunct_byname/1.cc: New.
1809 * testsuite/22_locale/numpunct_byname/1.cc: New.
1810
1811 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1812
1813 PR libstdc++/64658
1814 * include/std/atomic (atomic_init): Define.
1815 * testsuite/29_atomics/atomic/64658.cc: New.
1816
1817 2015-01-19 Tim Shen <timshen@google.com>
1818
1819 PR libstdc++/64649
1820 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1821 regex_traits<>::lookup_classname): Support forward iterators.
1822 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
1823 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
1824
1825 2015-01-19 Tim Shen <timshen@google.com>
1826
1827 PR libstdc++/64584
1828 PR libstdc++/64585
1829 * include/bits/regex.h (basic_regex<>::basic_regex,
1830 basic_regex<>::assign, basic_regex<>::imbue,
1831 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
1832 imbuing basic_regex; Make assign() transactional against exception.
1833 * include/bits/regex_compiler.h (__compile_nfa<>): Add back
1834 __compile_nfa SFINAE.
1835 * include/std/regex: Adjust include order to avoid __compile_nfa
1836 forward declaration.
1837 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
1838 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
1839
1840 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
1841 Jonathan Wakely <jwakely@redhat.com>
1842
1843 * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
1844 on overloads for arrays.
1845 (cbegin, cend, rbegin, rend, crbegin, crend): New.
1846 * testsuite/24_iterators/range_access_cpp14.cc: New.
1847
1848 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1849
1850 PR libstdc++/64646
1851 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
1852 end of the second range.
1853 * testsuite/25_algorithms/is_permutation/64646.cc: New.
1854
1855 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1856
1857 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
1858 * doc/html/manual/status.html: Regenerate.
1859
1860 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1861
1862 * include/bits/atomic_futex.h: Use mutex and condition_variable when
1863 atomic int is not lock-free. Make member variables private.
1864 * src/c++11/futex.cc: Likewise.
1865
1866 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
1867
1868 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1869
1870 PR libstdc++/64638
1871 * include/bits/atomic_futex.h: Use appropriate config macros for
1872 availability of std::mutex, std::condition and std::chrono.
1873
1874 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
1875 Jonathan Wakely <jwakely@redhat.com>
1876
1877 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
1878 * doc/html/*: Regenerate.
1879
1880 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1881
1882 DR 488
1883 PR libstdc++/58357
1884 * include/bits/algorithmfwd.h (rotate): Return an iterator.
1885 * include/bits/stl_algo.h (rotate, __rotate): Likewise.
1886 * testsuite/25_algorithms/rotate/dr488.cc: New.
1887 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
1888 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
1889 2.cc: Likewise.
1890 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
1891 pod.cc: Likewise.
1892
1893 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1894
1895 PR libstdc++/60940
1896 * include/bits/atomic_base.h: Remove atomic integral typedefs as
1897 synonyms for __atomic_base<int> etc.
1898 * include/std/atomic: Make atomic_int a synonym for atomic<int> and
1899 likewise for all atomic integral types.
1900 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
1901 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1902
1903 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1904
1905 PR libstdc++/56785
1906 * include/std/tuple (_Tuple_impl): Remove zero-element specialization
1907 and define one-element specialization.
1908 * testsuite/20_util/tuple/56785.cc: New.
1909
1910 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1911
1912 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
1913 Remove unused header.
1914 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
1915 Likewise.
1916 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1917 Likewise.
1918
1919 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1920
1921 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
1922 * include/std/locale: Include new header.
1923 * include/Makefile.am: Add it.
1924 * include/Makefile.in: Regenerate.
1925 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
1926 * testsuite/22_locale/conversions/string/1.cc: New.
1927 * testsuite/22_locale/conversions/string/2.cc: New.
1928 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
1929 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
1930 New.
1931
1932 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1933
1934 * config/abi/pre/gnu.ver: Export new symbols.
1935 * include/Makefile.am: Add codecvt.
1936 * include/Makefile.in: Regenerate.
1937 * include/std/codecvt: New header.
1938 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
1939 __codecvt_utf8_utf16_base): Define specializations.
1940 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
1941 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
1942 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1943 New.
1944
1945 2015-01-16 Torvald Riegel <triegel@redhat.com>
1946
1947 * src/c++11/futex.cc: New file.
1948 * include/bits/atomic_futex.h: New file.
1949 * include/std/future (__future_base::_State_baseV2): Use
1950 atomic_futex_unsigned instead of mutex+condvar.
1951 * src/c++11/futex.cc: Likewise.
1952 * include/Makefile.am: Add atomic_futex.h.
1953 * include/Makefile.in: Likewise.
1954 * src/c++11/Makefile.am: Add futex.cc.
1955 * src/c++11/Makefile.in: Likewise.
1956
1957 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1958
1959 * acinclude.m4: Fix typo in comment.
1960 * configure: Regenerate.
1961 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
1962 codecvt<char16_t, char, mbstate_t>): Declare specializations.
1963 * include/bits/locale_facets.h: Reserve space for new specializations.
1964 * src/c++11/Makefile.am: Add codecvt.cc.
1965 * src/c++11/Makefile.in: Regenerate.
1966 * src/c++11/codecvt.cc: New.
1967 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
1968 with -std=gnu++11.
1969 * src/c++98/Makefile.in: Regenerate.
1970 * src/c++98/locale_init.cc: Initialize new codecvt specializations.
1971 * src/c++98/localename.cc: Likewise.
1972 * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
1973 * testsuite/22_locale/codecvt/utf8.cc: New.
1974 * testsuite/22_locale/locale/cons/unicode.cc: Check that new
1975 specializations are installed in locale objects.
1976
1977 2015-01-16 Torvald Riegel <triegel@redhat.com>
1978
1979 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
1980 implementation.
1981
1982 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
1983
1984 PR libstdc++/64571
1985 * config/abi/pre/gnu.ver: Export fstream functions using new string.
1986
1987 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
1988
1989 PR libstdc++/64560
1990 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
1991 for RTTI support.
1992
1993 PR libstdc++/64553
1994 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
1995
1996 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1997
1998 * doc/xml/manual/parallel_mode.xml: Update for libgomp being
1999 renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
2000 Multi Processing Runtime Library".
2001
2002 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
2003
2004 PR libstdc++/64476
2005 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
2006 is_assignable arguments.
2007 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
2008 New.
2009
2010 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2011
2012 * libsupc++/unwind-cxx.h: Revert previous commit.
2013
2014 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
2015
2016 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
2017
2018 2015-01-09 Tim Shen <timshen@google.com>
2019
2020 PR libstdc++/64239
2021 * include/bits/regex.h (match_results<>::swap): Use std::swap
2022 instead of swap.
2023 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
2024 Likewise.
2025 * testsuite/28_regex/match_results/swap.cc: New testcase.
2026
2027 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
2028
2029 PR libstdc++/60132
2030 * include/std/type_traits (has_trivial_default_constructor,
2031 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
2032 attribute.
2033 * testsuite/20_util/has_trivial_copy_assign/requirements/
2034 explicit_instantiation.cc: Use -Wno-deprecated.
2035 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
2036 Likewise.
2037 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
2038 * testsuite/20_util/has_trivial_copy_constructor/requirements/
2039 explicit_instantiation.cc: Likewise.
2040 * testsuite/20_util/has_trivial_copy_constructor/requirements/
2041 typedefs.cc: Likewise.
2042 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
2043 * testsuite/20_util/has_trivial_default_constructor/requirements/
2044 explicit_instantiation.c: Likewise.
2045 * testsuite/20_util/has_trivial_default_constructor/requirements/
2046 typedefs.cc: Likewise.
2047 * testsuite/20_util/has_trivial_default_constructor/value.cc:
2048 Likewise.
2049 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
2050 trait.
2051 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
2052 * testsuite/util/testsuite_common_types.h: Likewise.
2053
2054 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
2055
2056 * include/bits/hashtable_policy.h: Use __bool_constant.
2057
2058 2015-01-07 Jonathan Wakely <jwakely@redhat.com>
2059
2060 * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
2061 * libsupc++/Makefile.in: Regenerate.
2062
2063 2015-01-06 Jonathan Wakely <jwakely@redhat.com>
2064
2065 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
2066
2067 2015-01-05 Jakub Jelinek <jakub@redhat.com>
2068
2069 Update copyright years.
2070
2071 2015-01-04 Jonathan Wakely <jwakely@redhat.com>
2072
2073 PR libstdc++/64483
2074 * testsuite/18_support/exception_ptr/64241.cc: Use
2075 dg-require-atomic-builtins.
2076
2077 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
2078
2079 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
2080 date.
2081
2082 2015-01-02 Tim Shen <timshen@google.com>
2083
2084 PR libstdc++/64475
2085 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
2086 iterator, since the original one shouldn't be mutated.
2087
2088 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2089
2090 PR libstdc++/64422
2091 * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
2092 (string::insert): Likewise.
2093 (string::replace): Likewise.
2094 (wstring::erase): Likewise.
2095 (wstring::insert): Likewise.
2096 (wstring::replace): Likewise.
2097 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
2098
2099 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
2100
2101 PR libstdc++/64468
2102 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
2103
2104 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
2105
2106 PR libstdc++/64438
2107 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
2108 Revert removal of dg-require-string-conversions.
2109 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
2110 Likewise.
2111 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
2112 Likewise.
2113 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
2114 Likewise.
2115 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
2116 Likewise.
2117 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
2118 Likewise.
2119 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
2120 Likewise.
2121 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
2122 Likewise.
2123 * testsuite/21_strings/basic_string/numeric_conversions/char/
2124 stoull.cc: Likewise.
2125 * testsuite/21_strings/basic_string/numeric_conversions/char/
2126 to_string.cc: Likewise.
2127 \f
2128 Copyright (C) 2015 Free Software Foundation, Inc.
2129
2130 Copying and distribution of this file, with or without modification,
2131 are permitted in any medium without royalty provided the copyright
2132 notice and this notice are preserved.