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