PR target/66224
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob6f2c465a7d145c81f76f0033c023a6d463b2c9c9
1 2015-05-21  David Edelsohn  <dje.gcc@gmail.com>
3         PR target/66224
4         * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
5         Don't use isync. Use lwsync if available.
6         * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
7         powerpc cpu definition.
9 2015-05-21  Jason Merrill  <jason@redhat.com>
11         * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
12         * libsupc++/del_op.cc: Likewise.
14 2015-05-20  François Dumont  fdumont@gcc.gnu.org>
16         * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
17         usage of typeid.
18         (_Error_formatter::_M_print_type): New.
19         * src/c++11/debug.cc
20         (_Error_formatter::_Parameter::_M_print_field): Use latter.
21         (_Error_formatter::_M_print_type): Implement latter using
22         __cxaabiv1::__cxa_demangle to print demangled type name.
24         * include/bits/cpp_type_traits.h
25         (std::move_iterator): Delete declaration.
26         (std::__is_move_iterator<move_iterator>): Move partial specialization...
27         * include/bits/stl_iterator.h: ... here.
28         (std::__miter_base): Overloads for std::reverse_iterator and
29         std::move_iterator.
30         * include/bits/stl_algobase.h (std::__miter_base): Provide default
31         implementation.
33 2015-05-20  Jonathan Wakely  <jwakely@redhat.com>
35         * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
37         PR libstdc++/66078
38         * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
39         overload for pointers.
40         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
41         808590.cc: Add -std=gnu++03 switch.
42         * testsuite/20_util/specialized_algorithms/uninitialized_copy/
43         808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
44         * testsuite/23_containers/vector/modifiers/push_back/
45         strong_guarantee.cc: New.
47 2015-05-19  Jonathan Wakely  <jwakely@redhat.com>
49         * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
50         (operator==(const list&, const list&)): If size() is O(1) compare
51         sizes before comparing each element.
52         * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
53         (list::resize): Use _M_resize_pos.
55 2015-05-19  François Dumont  <fdumont@gcc.gnu.org>
57         * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
58         invocations.
59         * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
60         * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
61         * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
63 2015-05-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
65         * configure.host: Define cpu_defines_dir for ARM.
66         * config/cpu/arm/cpu_defines.h: New file.
68 2015-05-17  François Dumont  <fdumont@gcc.gnu.org>
70         * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
71         missing constructors.
72         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
73         Likewise.
74         * include/debug/unordered_map (unordered_map, unordered_multimap): Add
75         missing constructors.
76         * include/debug/unordered_set (unordered_set, unordered_multiset):
77         Likewise.
78         * include/profile/unordered_map (unordered_map, unordered_multimap): Add
79         missing constructors.
80         * include/profile/unordered_set (unordered_set, unordered_multiset):
81         Likewise.
83 2015-05-15  Jonathan Wakely  <jwakely@redhat.com>
85         * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
86         use throughout the file.
87         (make_file_type): New function.
88         (file_size(const path&, error_code&)): Report an error for anything
89         that isn't a regular file.
90         (status(const path&), symlink_status(const path&)): Do not throw for
91         file_type::not_found.
92         (temp_directory_path()): Check additional environment variables.
93         * testsuite/experimental/filesystem/operations/exists.cc: New.
94         * testsuite/experimental/filesystem/operations/file_size.cc: New.
95         * testsuite/experimental/filesystem/operations/status.cc: New.
96         * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
97         New.
99 2015-05-14  Nathan Myers  <ncm@cantrip.org>
100             Jonathan Wakely  <jwakely@redhat.com>
102         PR libstdc++/66055
103         * include/std/unordered_map (unordered_map, unordered_multimap): Add
104         missing constructors.
105         * include/std/unordered_set (unordered_set, unordered_multiset):
106         Likewise.
107         * testsuite/23_containers/unordered_map/cons/66055.cc: New.
108         * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
109         * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
110         * testsuite/23_containers/unordered_set/cons/66055.cc: New.
112 2015-05-14  Jonathan Wakely  <jwakely@redhat.com>
114         PR libstdc++/66011
115         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
116         sendfile.
117         * config.h.in: Regenerate.
118         * configure: Regenerate.
119         * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
120         not return after copying contents. Use fchmod, fchmodat, and sendfile
121         when available.
122         (current_path, permissions, space): Use errno not return value.
124         PR libstdc++/66018
125         * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
126         dirent.d_type.
127         * config.h.in: Regenerate.
128         * configure: Regenerate.
129         * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
131 2015-05-13  Eric Botcazou  <ebotcazou@adacore.com>
133         * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
134         * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
135         * config.h.in: Regenerate.
136         * configure: Likewise.
137         * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
138         __USING_SJLJ_EXCEPTIONS__.
139         * libsupc++/eh_throw.cc: Likewise.
140         * libsupc++/eh_ptr.cc: Likewise.
141         * doc/html/manual/appendix_porting.html: Remove
142         GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
143         * doc/xml/manual/build_hacking.xml: Likewise.
144         * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
145         * doc/xml/manual/configure.xml: Likewise.
147 2015-05-13  Jonathan Wakely  <jwakely@redhat.com>
149         * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
150         for nullptr (LWG 2415).
151         * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
152         construction from empty unique_ptr.
153         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
154         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
156         * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
157         Define (LWG 2454).
158         * testsuite/20_util/raw_storage_iterator/base.cc: New.
160         * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
161         Remove explicit (LWG 2407).
163         * include/bits/basic_string.h (basic_string::basic_string()): Make
164         noexcept conditional on allocator (LWG 2455).
166         * include/std/complex (polar): Check for negative rho (LWG 2459).
168         * include/experimental/tuple (apply): Handle pointers to member (LWG
169         2418).
170         * include/std/functional (_Mem_fn_base): Make constructors constexpr.
171         (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
172         * testsuite/experimental/tuple/apply.cc: Test pointer to member.
174         * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
176         * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
177         * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
178         * testsuite/23_containers/forward_list/allocator/minimal.cc:
179         Likewise.
180         * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
181         * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
182         * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
183         * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
184         * testsuite/23_containers/unordered_map/allocator/minimal.cc:
185         Likewise.
186         * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
187         Likewise.
188         * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
189         Likewise.
190         * testsuite/23_containers/unordered_set/allocator/minimal.cc:
191         Likewise.
192         * testsuite/util/testsuite_allocator.h: Remove unused parameter.
194         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
195         * configure: Regenerate.
197 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
199         * Makefile.in: Regenerated with automake-1.11.6.
200         * aclocal.m4: Likewise.
201         * configure: Likewise.
202         * doc/Makefile.in: Likewise.
203         * include/Makefile.in: Likewise.
204         * libsupc++/Makefile.in: Likewise.
205         * po/Makefile.in: Likewise.
206         * python/Makefile.in: Likewise.
207         * src/Makefile.in: Likewise.
208         * src/c++11/Makefile.in: Likewise.
209         * src/c++98/Makefile.in: Likewise.
210         * src/filesystem/Makefile.in: Likewise.
211         * testsuite/Makefile.in: Likewise.
213 2015-05-09  Jason Merrill  <jason@redhat.com>
215         * testsuite/20_util/headers/functional/synopsis.cc: Add
216         _GLIBCXX14_CONSTEXPR.
217         * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
219 2015-05-08  Jason Merrill  <jason@redhat.com>
221         * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
222         * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
223         * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
224         * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
225         * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
226         * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
227         * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
228         * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
229         * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
230         * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
231         * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: Likewise.
232         * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
233         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Adjust expected errors.
234         * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: Likewise.
235         * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: Likewise.
236         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Likewise.
237         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Likewise.
238         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
239         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
240         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
241         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Likewise.
242         * testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc: Likewise.
243         * testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc: Likewise.
244         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:  Likewise.
245         * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
246         * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
247         * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
248         * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
249         * testsuite/ext/array_allocator/check_allocate_max_size.cc: Add -Wno-deprecated.
250         * testsuite/ext/array_allocator/check_deallocate_null.cc: Add -Wno-deprecated.
251         * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
252         * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
253         * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
254         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: Add -std=c++98.
255         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: Add -std=c++98.
256         * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: Add -std=c++98.
257         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Add -std=c++98 -fno-show-column.
258         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: Add -std=c++98.
259         * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: Add -std=c++98.
260         * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
261         * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
263         * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
264         * src/c++98/Makefile.in: Regenerate.
265         * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
266         * src/Makefile.in: Regenerate.
268 2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
270         PR libstdc++/51617
271         * include/std/future (async): Change default policy to launch::async.
273         * include/experimental/any (any::_Storage): Fix alignment of buffer.
274         (any::_Internal): Check alignment of type.
275         * testsuite/experimental/any/cons/aligned.cc: New.
276         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
278         * include/experimental/iterator (ostream_joiner): Simplify by using
279         the injected-class-name and the ostream_type typedef.
281         * include/experimental/iterator: New. Define ostream_joiner.
282         * include/Makefile.am: Add new header.
283         * include/Makefile.in: Regenerate.
284         * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
285         * testsuite/experimental/iterator/ostream_joiner.cc: New.
286         * testsuite/experimental/iterator/requirements.cc: New.
287         * doc/xml/manual/status_cxx2017.xml: Update status.
288         * doc/html/manual/status.html: Regenerate.
290         * include/experimental/numeric: New. Define gcd and lcm.
291         * include/Makefile.am: Add new header.
292         * include/Makefile.in: Regenerate.
293         * testsuite/experimental/numeric/gcd.cc: New.
294         * testsuite/experimental/numeric/lcm.cc: New.
295         * doc/xml/manual/status_cxx2017.xml: Update status.
296         * doc/html/manual/status.html: Regenerate.
298 2015-05-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
300         Revert addition of feature macros from other headers per latest SD-6.
301         * include/experimental/deque: Remove feature-test macro.
302         * include/experimental/forward_list: Ditto.
303         * include/experimental/list: Ditto.
304         * include/experimental/map: Ditto.
305         * include/experimental/set: Ditto.
306         * include/experimental/string: Ditto.
307         * include/experimental/unordered_map: Ditto.
308         * include/experimental/unordered_set: Ditto.
310 2015-05-02  Jonathan Wakely  <jwakely@redhat.com>
312         * include/experimental/any (any::_Storage): Make non-copyable.
313         (any::any): Do not copy _Storage object.
314         (any::operator=): Implement more efficiently than swapping.
315         (any::swap): Use new _Op_xfer operation.
316         (any::_Op::_Op_xfer): New enumerator.
317         (_Manager_internal::_S_alloc): Remove unused function.
318         (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
319         parameter instead of returning a _Storage object.
320         (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
321         _Op_xfer operation for moving and swapping.
322         * testsuite/experimental/any/cons/nontrivial.cc: New.
323         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
325         * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
326         Declare.
327         * src/filesystem/path.cc (filesystem_error::~filesystem_error):
328         Define.
330         PR libstdc++/65978
331         * include/std/tuple (forward_as_tuple, tie): Add constexpr.
332         * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
333         and fix tests for forward_as_tuple and tie.
335         * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
336         Set timespec members explicitly instead of with a braced-init-list.
337         [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
339 2015-05-02  Edward Smith-Rowland  <3dw4rd@verizon.net>
341         * include/experimental/deque: Add feature-test macro.
342         * include/experimental/forward_list: Ditto.
343         * include/experimental/list: Ditto.
344         * include/experimental/map: Ditto.
345         * include/experimental/set: Ditto.
346         * include/experimental/string: Ditto.
347         * include/experimental/unordered_map: Ditto.
348         * include/experimental/unordered_set: Ditto.
350 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
352         * include/experimental/memory: Correct feature-test macro.
354         * include/experimental/memory: Add feature-test macro.
355         * include/experimental/vector: Likewise.
356         * doc/xml/manual/status_cxx2017.xml: Update status.
357         * doc/html/manual/status.html: Regenerate.
359 2015-05-01  Ville Voutilainen  <ville.voutilainen@gmail.com>
361         Implement observer_ptr.
362         * include/Makefile.am: Add new header.
363         * include/Makefile.in: Regenerate.
364         * include/experimental/memory: New.
365         * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
366         * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
367         * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
368         * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
369         * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
370         * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
371         * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
372         * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
374 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
376         * src/filesystem/path.cc (path::compare): Do not copy strings.
378         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
379         is not available.
380         (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
381         * configure: Regenerate.
382         * config.h.in: Regenerate.
383         * configure.ac: Check for utime.h
384         * include/experimental/fs_path.h (path::string<>)
385         [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
386         * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
387         closedir, dirent, readdir_r): Replace dummy functions with #error.
388         (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
389         * src/filesystem/ops.cc (do_stat, is_set): Make inline.
390         (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
391         (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
392         (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
393         error_code.
395         * include/experimental/fs_path.h (path::_List): Use vector instead of
396         list.
397         * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
398         * src/filesystem/path.cc: Use std::prev instead of decrementing
399         rvalues. Fix whitespace.
400         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
401         Do not decrement iterators before begin.
403         * include/experimental/fs_dir.h: Fix use of non-reserved names.
404         * include/experimental/fs_ops.h: Likewise.
405         * include/experimental/fs_path.h: Likewise.
406         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
407         C++11 when checking for support.
409         * include/bits/locale_classes.h (locale::facet): Delete copy
410         operations in C++11 mode.
412         * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
414         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
415         * configure: Regenerate.
417 2015-05-01  Edward Smith-Rowland  <3dw4rd@verizon.net>
419         Inline one-line erasure dispatch functions.
420         * include/experimental/forward_list (erase_if(), erase()): Inline.
421         * include/experimental/list (erase_if(), erase()): Inline.
422         * include/experimental/map (erase_if(*)): Inline.
423         * include/experimental/set (erase_if(*)): Inline.
424         * include/experimental/string (erase_if(), erase()): Inline.
425         * include/experimental/unordered_map (erase_if(*)): Inline.
426         * include/experimental/unordered_set (erase_if(*)): Inline.
428 2015-05-01  Jonathan Wakely  <jwakely@redhat.com>
430         * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
431         * doc/xml/manual/status_cxx2011.xml: Update status tables.
432         * doc/xml/manual/status_cxx2014.xml: Likewise.
433         * doc/xml/manual/status_cxx2017.xml: New.
434         * doc/xml/manual/using.xml: Fix typo.
435         * doc/html/*: Regenerate.
437         * include/std/memory (pointer_safety, declare_reachable,
438         undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
439         get_pointer_safety): Define.
440         * testsuite/20_util/pointer_safety/1.cc: New.
442 2015-04-30  Jonathan Wakely  <jwakely@redhat.com>
444         Implement N4100 File System TS
445         * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
446         (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
447         * config.h.in: Regenerate.
448         * configure: Regenerate.
449         * configure.ac: Enable filesystem TS and check its dependencies.
450         * include/Makefile.am: Add new headers.
451         * include/Makefile.in: Regenerate.
452         * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
453         __str_codecvt_out): Move code conversion logic from wstring_convert
454         into new global functions.
455         (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
456         functions.
457         (wstring_convert::_M_conv): Remove.
458         * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
459         * include/experimental/filesystem: New.
460         * include/experimental/fs_dir.h: New.
461         * include/experimental/fs_fwd.h: New.
462         * include/experimental/fs_ops.h: New.
463         * include/experimental/fs_path.h: New.
464         * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
465         * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
466         * src/Makefile.am (SUBDIRS): Add filesystem.
467         * src/Makefile.in: Regenerate.
468         * src/filesystem/Makefile.am: New.
469         * src/filesystem/Makefile.in: New.
470         * src/filesystem/dir.cc: New.
471         * src/filesystem/ops.cc: New.
472         * src/filesystem/path.cc: New.
473         * testsuite/experimental/filesystem/operations/absolute.cc: New.
474         * testsuite/experimental/filesystem/operations/copy.cc: New.
475         * testsuite/experimental/filesystem/operations/current_path.cc: New.
476         * testsuite/experimental/filesystem/path/append/path.cc: New.
477         * testsuite/experimental/filesystem/path/assign/assign.cc: New.
478         * testsuite/experimental/filesystem/path/assign/copy.cc: New.
479         * testsuite/experimental/filesystem/path/compare/compare.cc: New.
480         * testsuite/experimental/filesystem/path/compare/path.cc: New.
481         * testsuite/experimental/filesystem/path/compare/strings.cc: New.
482         * testsuite/experimental/filesystem/path/concat/path.cc: New.
483         * testsuite/experimental/filesystem/path/concat/strings.cc: New.
484         * testsuite/experimental/filesystem/path/construct/copy.cc: New.
485         * testsuite/experimental/filesystem/path/construct/default.cc: New.
486         * testsuite/experimental/filesystem/path/construct/locale.cc: New.
487         * testsuite/experimental/filesystem/path/construct/range.cc: New.
488         * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
489         * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
490         * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
491         New.
492         * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
493         New.
494         * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
495         New.
496         * testsuite/experimental/filesystem/path/decompose/root_name.cc:
497         New.
498         * testsuite/experimental/filesystem/path/decompose/root_path.cc:
499         New.
500         * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
501         * testsuite/experimental/filesystem/path/generic/generic_string.cc:
502         New.
503         * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
504         * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
505         * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
506         New.
507         * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
508         New.
509         * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
510         New.
511         * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
512         New.
513         * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
514         * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
515         * testsuite/experimental/filesystem/path/query/empty.cc: New.
516         * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
517         * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
518         * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
519         New.
520         * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
521         New.
522         * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
523         New.
524         * testsuite/experimental/filesystem/path/query/has_root_name.cc:
525         New.
526         * testsuite/experimental/filesystem/path/query/has_root_path.cc:
527         New.
528         * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
529         * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
530         * testsuite/util/testsuite_fs.h: New.
532 2015-04-30  Edward Smith-Rowland  <3dw4rd@verizon.net>
534         Add fundamentals TR container erasure.
535         * include/Makefile.am: Add new headers.
536         * include/Makefile.in: Add new headers.
537         * include/experimental/array: New.
538         * include/experimental/deque: New.
539         * include/experimental/erase_if.tcc: New.
540         * include/experimental/forward_list: New.
541         * include/experimental/list: New.
542         * include/experimental/map: New.
543         * include/experimental/set: New.
544         * include/experimental/string: New.
545         * include/experimental/unordered_map: New.
546         * include/experimental/unordered_set: New.
547         * include/experimental/vector: New.
548         * testsuite/experimental/deque/erasure.cc: New.
549         * testsuite/experimental/forward_list/erasure.cc: New.
550         * testsuite/experimental/list/erasure.cc: New.
551         * testsuite/experimental/map/erasure.cc: New.
552         * testsuite/experimental/set/erasure.cc: New.
553         * testsuite/experimental/string/erasure.cc: New.
554         * testsuite/experimental/unordered_map/erasure.cc: New.
555         * testsuite/experimental/unordered_set/erasure.cc: New.
556         * testsuite/experimental/vector/erasure.cc: New.
558 2015-04-30  François Dumont  <fdumont@gcc.gnu.org>
560         * include/bits/cpp_type_traits.h
561         (__gnu_cxx::__is_normal_iterator): Delete.
562         * include/bits/stl_algobase.h (std::__niter_base): Adapt.
563         * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
564         (std::__niter_base): Overloads for std::reverse_iterator,
565         __gnu_cxx::__normal_iterator and std::move_iterator.
567 2015-04-30  François Dumont  <fdumont@gcc.gnu.org>
569         * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
570         Delete.
571         * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
572         Remove usage of latter and compute size of the prime numbers array
573         locally.
575 2015-04-29  Doug Evans  <dje@google.com>
577         PR libstdc++/65839
578         * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
579         Replace all lookups of "bool" with this.
580         (get_std_size_type): New function.  Replace all lookups of std::size_t
581         with this.
582         (*Worker): New method get_result_type.
583         (DequeWorkerBase.__init__): New arg val_type.  All callers updated.
584         (ListWorkerBase.__init__): New arg val_type.  All callers updated.
585         (UniquePtrGetWorker.__init__): New arg elem_type.  All callers updated.
586         Delete setting of name, enabled.
587         (UniquePtrDerefWorker.__init__): New arg elem_type.  All callers
588         updated.  Delete setting of name.
589         (UniquePtrMethodsMatcher): Rewrite for consistency with all other
590         libstdc++ xmethod matchers.
591         * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
592         * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
593         * testsuite/libstdc++-xmethods/deque.cc: Ditto.
594         * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
595         * testsuite/libstdc++-xmethods/list.cc: Ditto.
596         * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
597         * testsuite/libstdc++-xmethods/vector.cc: Ditto.
599 2015-04-29  Doug Evans  <dje@google.com>
601         Use consistent naming for value type attributes.
602         * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
603         to _val_type.
604         (ArraySizeWorker, ArrayEmptyWorker): Ditto.
605         (ArrayFrontWorker, ArrayBackWorker): Ditto.
606         (ArrayAtWorker, ArraySubscriptWorker): Ditto.
607         (DequeWorkerBase): Rename elemtype to val_type.
608         (ForwardListWorkerBase): Rename _elem_type to _val_type.
609         (ForwardListFrontWorker): Ditto.  And rename elem_address to
610         val_address.
611         (ForwardListMethodsMatcher): Rename elem_type to val_type.
612         (VectorWorkerBase): Rename _elemtype to _val_type.
614 2015-04-29  Jonathan Wakely  <jwakely@redhat.com>
616         PR libstdc++/65760
617         * include/std/functional (__check_func_return_type): Use is_same to
618         avoid using _is_convertible on incomplete types.
619         * testsuite/20_util/function/65760.cc: New.
621         PR libstdc++/64657
622         * include/bits/basic_string (basic_string::_S_copy_chars): Cast
623         expression to void.
624         * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
625         time_get::_M_extract_num, time_get::_M_extract_name,
626         time_get::_M_extract_wday_or_month): Likewise.
627         * include/bits/stl_algo.h (__includes, __replace_copy_if,
628         __is_sorted_until, __is_permutation, transform): Likewise.
629         * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
630         __equal::equal, __lexicographical_compare_impl, equal): Likewise.
631         * include/bits/stl_numeric.h (inner_product): Likewise.
632         * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
633         * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
634         input_iterator_wrapper): Declare unusable comma operator.
635         * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
636         * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
637         New.
639 2015-04-28  Doug Evans  <dje@google.com>
641         * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
642         Define to zero.
644 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
646         * include/bits/stl_algo.h (random_shuffle): Only define for hosted
647         implementations.
649 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
651         * Makefile.am (SUBDIRS): Move python to hosted_source.
652         * Makefile.in: Regenerate.
653         * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
654         * configure: Regenerate.
656 2015-04-28  Marc Glisse  <marc.glisse@inria.fr>
658         PR libstdc++/65883
659         * include/std/limits (numeric_limits): Add missing unsigned.
661 2015-04-28  Stephan Bergmann  <sbergman@redhat.com>
663         * include/debug/vector (_Safe_vector::operator=): Add missing returns.
665 2015-04-28  Jonathan Wakely  <jwakely@redhat.com>
667         PR libstdc++/60333
668         * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
669         Handle enumeration types larger than sizeof(long).
670         (__make_signed_selector<_Tp, false, true>): Find unsigned type then
671         make it signed.
672         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
673         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
674         Likewise.
675         * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
676         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
677         dg-error.
678         * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
680         PR libstdc++/61645
681         * include/bits/forward_list.h (forward_list::splice_after): Add
682         noexcept.
683         * include/bits/forward_list.tcc (forward_list::splice_after):
684         Likewise.
686         PR libstdc++/65631
687         * include/bits/random.h (seed_seq) Define copy constructor and copy
688         assignment as deleted.
689         * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
691         * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
692         * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
693         Use -std=gnu++1z. Check feature-test macro.
695         * include/std/type_traits (void_t): Add.
696         * testsuite/20_util/void_t/1.cc: New.
698 2015-04-28  Tim Shen  <timshen@google.com>
700         * include/bits/regex.tcc: Handle regex_constants::__polynomial.
701         * include/bits/regex_automaton.tcc: Throw exception when parsing
702         back-reference with flag __polynomial.
703         * include/bits/regex_constants.h: Add extension flag
704         syntax_option_type __polynomial.
705         * bits/regex_executor.tcc: Still let BFS process ECMAScript.
706         Alternative operation will be fixed in the coming refactoring.
707         * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
708         loose match_search_debug to use DFS only.
710 2015-04-27  Sandra Loosemore  <sandra@codesourcery.com>
712         PR libstdc++/65909
713         * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
714         Make the generated test program fail gracefully if the target
715         doesn't support passing command-line arguments.
717 2015-04-27  Federico Lenarduzzi  <federico.lenarduzzi@tallertechnologies.com>
718             Jonathan Wakely  <jwakely@redhat.com>
720         * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
721         Return false or zero if the library is built without exceptions.
722         * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
723         the library is built without exceptions.
725 2015-04-27  Ville Voutilainen  <ville.voutilainen@gmail.com>
727         * config/abi/pre/gnu.ver: Fix comment.
729         Add support for std::uncaught_exceptions.
730         * acinclude.m4: Bump libtool_VERSION.
731         * config/abi/pre/gnu.ver: Export the new symbol.
732         * configure: Regenerate.
733         * libsupc++/eh_catch.cc (uncaught_exceptions): New.
734         * libsupc++/exception (uncaught_exceptions): New.
735         * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
736         * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
738 2015-04-27  Dmitry Prokoptsev  <dprokoptsev@gmail.com>
739             Michael Hanselmann  <public@hansmi.ch>
741         PR libstdc++/62258
742         * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
743         uncaught exceptions.
744         * testsuite/18_support/exception_ptr/62258.cc: New.
746 2015-04-27  Jonathan Wakely  <jwakely@redhat.com>
748         * doc/xml/manual/extensions.xml: Add cross-reference.
749         * doc/html/manual/ext_compile_checks.html: Regenerate.
751 2015-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>
753         * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
754         * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
756 2015-04-22  Renlin Li  <renlin.li@arm.com>
758         * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
759         * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
760         * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
761         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
762         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
764 2015-04-21  Jonathan Wakely  <jwakely@redhat.com>
766         * doc/xml/manual/configure.xml: Update descriptions of options
767         affecting dual ABI and add cross-references.
768         * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
769         * doc/xml/manual/using.xml: Document ABI transition.
770         * doc/html/*: Regenerate.
772         * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
773         * doc/xml/manual/using.xml: Document newer -std options. Use better
774         examples of nested namespaces.
776 2015-04-20  Jonathan Wakely  <jwakely@redhat.com>
778         * doc/xml/manual/concurrency_extensions.xml: Update documentation
779         on atomics.
780         * doc/xml/manual/using.xml: Likewise. Improve markup.
781         * doc/html/*: Regenerate.
783 2015-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
785         * scripts/extract_symvers.pl: Ignore elfdump error output.
787 2015-04-14  Marc Glisse  <marc.glisse@inria.fr>
789         PR libstdc++/61347
790         * include/bits/stl_iterator_base_funcs.h (_List_iterator,
791         _List_const_iterator): Declare.
792         (__distance): Declare new overloads for _List_iterator and
793         _List_const_iterator.
794         * include/bits/stl_list.h (__distance): New overloads for
795         _List_iterator and _List_const_iterator.
796         * testsuite/23_containers/list/61347.cc: New testcase.
798 2015-04-14  Jonathan Wakely  <jwakely@redhat.com>
800         * doc/xml/manual/evolution.xml: Fix typos.
801         * doc/html/manual/api.html: Regenerate.
803 2015-04-14  Hans-Peter Nilsson  <hp@axis.com>
805         * testsuite/29_atomics/atomic/62259.cc: Assert atomic
806         alignment is larger-equal, not equal, to default alignment.
808 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
810         PR libstdc++/65754
811         * config/abi/pre/gnu.ver: Export base object constructors for
812         fstreams.
813         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
814         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
815         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
816         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
817         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
818         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
819         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
820         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
821         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
822         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
823         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
824         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
825         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
826         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
827         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
828         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
829         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
830         * testsuite/27_io/basic_fstream/cons/base.cc: New.
832 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
834         * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
835         * doc/html/*: Regenerate.
837 2015-04-12  Uros Bizjak  <ubizjak@gmail.com>
839         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
841 2015-04-10  Andreas Schwab  <schwab@linux-m68k.org>
843         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
845         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
847 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
849         * doc/xml/manual/test.xml: Improve documentation on running a subset
850         of tests.
851         * doc/html/manual/test.html: Regenerate.
853 2015-04-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
855         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
856         for GCC 5.1 release.
857         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
858         Likewise.
860 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
862         * include/std/shared_mutex (shared_timed_mutex): Add comments to
863         explain the logic in the non-pthread_rwlock_t version.
864         (_Mutex): Remove redundant type.
865         (_M_n_readers): Rename to _S_max_readers.
866         (_M_write_entered, _M_readers): New convenience functions.
867         (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
868         functions. Use predicates with condition variables. Simplify bitwise
869         operations.
870         (try_lock_for, try_shared_lock_for): Convert duration to time_point
871         and call try_lock_until or try_shared_lock_until respectively.
872         (try_lock_until, try_shared_lock_until): Wait on the condition
873         variables until the specified time passes.
874         (unlock): Add Debug Mode assertion.
875         (unlock_shared): Add Debug Mode assertion.
876         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
878         * include/std/shared_mutex (shared_timed_mutex): Only use
879         pthread_rwlock_t when the POSIX Timeouts option is supported.
880         * testsuite/30_threads/shared_lock/cons/5.cc: Remove
881         dg-require-gthreads-timed.
882         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
883         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
884         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
886 2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
888         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
890 2015-04-09  Jonathan Wakely  <jwakely@redhat.com>
891             Richard Henderson  <rth@redhat.com>
893         PR libstdc++/65147
894         * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
895         alignment.
896         * include/std/atomic (atomic): For types with a power of two size set
897         alignment to at least the size.
898         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
899         * testsuite/29_atomics/atomic/65147.cc: New.
900         * testsuite/29_atomics/atomic_integral/65147.cc: New.
902 2015-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
904         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
905         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
906         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
908 2015-04-07  Jakub Jelinek  <jakub@redhat.com>
910         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
911         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
912         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
913         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
914         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
915         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
916         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
917         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
919 2015-03-30  Jonathan Wakely  <jwakely@redhat.com>
921         PR libstdc++/65630
922         * config/abi/pre/gnu.ver: Export operator+ for new strings.
923         * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
924         * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
926 2015-03-28  Tim Shen  <timshen@google.com>
928         PR libstdc++/65420
929         * include/bits/regex_constants.h: Use constexpr variables for flags.
930         * testsuite/28_regex/constants/constexpr.cc: New testcase.
932 2015-03-27  Jonathan Wakely  <jwakely@redhat.com>
934         PR libstdc++/65499
935         * include/std/chrono: Add using-directive for literals to std::chrono.
936         * testsuite/20_util/duration/literals/65499.cc: New.
938 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
940         PR libstdc++/58038
941         PR libstdc++/60421
942         * include/std/thread (this_thread::sleep_for): Check for negative
943         durations.
944         (this_thread::sleep_until): Check for times in the past.
945         * testsuite/30_threads/this_thread/58038.cc: New.
946         * testsuite/30_threads/this_thread/60421.cc: New.
948 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
950         PR libstdc++/62259
951         PR libstdc++/65147
952         * include/std/atomic (atomic<T>): Increase alignment for types with
953         the same size as one of the integral types.
954         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
955         * testsuite/29_atomics/atomic/62259.cc: New.
957 2015-03-26  Richard Henderson  <rth@redhat.com>
959         PR libstdc++/65033
960         * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
961         a fake pointer indicating type alignment.
962         (__atomic_base<T *>::is_lock_free): Likewise.
963         * include/std/atomic (atomic<T>::is_lock_free): Likewise.
965 2015-03-25  Alan Lawrence  <alan.lawrence@arm.com>
967         PR libstdc++/33394
968         * testsuite/21_strings/basic_string/pthread33394.cc: Use
969         dg-additional-options.
971 2015-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
973         PR libstdc++/65543
974         * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
975         thinko in r150387.
976         * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
977         Likewise.
978         * testsuite/27_io/rvalue_streams-2.cc: New.
980 2015-03-24  Jonathan Wakely  <jwakely@redhat.com>
982         PR libstdc++/33394
983         * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
985 2015-03-23  Jonathan Wakely  <jwakely@redhat.com>
987         PR libstdc++/64967
988         * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
989         * configure: Regenerate.
990         * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
991         system_category): Use macros for versioned namespace.
992         * src/c++11/futex.cc: Add missing end macro for versioned namespace.
994 2015-03-20  James Greenhalgh  <james.greenhalgh@arm.com>
996         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
997         test for unused for ARM.
998         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
999         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1001 2015-03-20  Jonathan Wakely  <jwakely@redhat.com>
1003         * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
1004         * include/ext/codecvt_specializations.h (encoding_state,
1005         encoding_char_traits): Remove abi-tag and use inline namespace.
1006         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
1008 2015-03-19  Jason Merrill  <jason@redhat.com>
1010         * config/locale/gnu/messages_members.cc: Revert abi-tag change.
1011         * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
1013 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1015         PR c++/65046
1016         * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
1017         get_catalogs): Add abi-tag.
1018         * include/ext/codecvt_specializations.h (encoding_state,
1019         encoding_char_traits): Likewise.
1020         * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
1021         * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
1022         numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
1023         money_get_shim, money_put_shim, messages_shim): Likewise.
1024         * src/c++11/future.cc (future_error_category::message): Likewise.
1025         * src/c++11/system_error.cc (generic_error_category::message,
1026         system_error_category::message): Likewise.
1027         (__sso_string): Disable -Wabi-tag warnings.
1029 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1031         PR libstdc++/13631
1032         * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
1033         implementation for old glibc. Fix whitespace.
1035 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
1036             Torvald Riegel  <triegel@redhat.com>
1038         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
1039         * config.h.in: Regenerate.
1040         * configure: Regenerate.
1041         * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
1042         (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
1043         (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
1044         (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
1045         EDEADLK.
1047 2015-03-17  Jonathan Wakely  <jwakely@redhat.com>
1049         * libsupc++/nested_exception.h: Do not try to derive from final
1050         classes.
1051         * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
1052         final class.
1054         * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
1055         unused exception variable.
1056         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1057         * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
1058         test.
1059         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1061 2015-03-13  Jonathan Wakely  <jwakely@redhat.com>
1063         * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
1064         * configure: Regenerate.
1066         * include/experimental/system_error: Fix include guard.
1068 2015-03-12  Renlin Li  <renlin.li@arm.com>
1070         * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
1071         wrapped target.
1073 2015-03-10  Tim Shen  <timshen@google.com>
1075         PR libstdc++/64441
1076         * include/bits/regex.h (match_results<>::size,
1077         match_results<>::position, match_results<>::str,
1078         match_results<>::operator[], match_results<>::prefix,
1079         match_results<>::suffix, match_results<>::end,
1080         match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
1081         match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
1082         global __unmatched_sub. Add unmatched submatch as part of
1083         match_results.
1084         * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
1085         regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
1086         * testsuite/28_regex/match_results/out_of_range_submatches.cc:
1087         New testcases.
1089 2015-03-09  Jonathan Wakely  <jwakely@redhat.com>
1091         PR libstdc++/64467
1092         * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
1093         for newlib targets. Really fix mixed line-endings this time.
1095 2015-03-06  Jonathan Wakely  <jwakely@redhat.com>
1097         * include/std/future (future_error(error_code)): Construct base
1098         class with error_code's message.
1099         * src/c++11/future.cc (future_error::what()): Do not call c_str() on
1100         temporary string.
1102 2015-03-05  Jonathan Wakely  <jwakely@redhat.com>
1104         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1105         noconv result.
1106         * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
1107         * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
1109 2015-03-04  Jonathan Wakely  <jwakely@redhat.com>
1111         PR libstdc++/64797
1112         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1113         incomplete multibyte sequences correctly.
1114         * include/std/codecvt (codecvt_utf8, codecvt_utf16,
1115         codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
1116         * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
1117         Define constants.
1118         (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
1119         Define convenience functions.
1120         (read_utf8_code_point): Return relevant constant to distinguish
1121         incomplete characters from invalid sequences.
1122         (read_utf16_code_point): Likewise. Check for invalid sequences.
1123         (ucs4_in, utf16_in): Use incomplete_mb_character constant.
1124         (utf16_out): Check for invalid sequences.
1125         (utf16_span): Fix condition.
1126         (ucs2_out): Use is_high_surrogate.
1127         (ucs2_in): Use incomplete_mb_character constant and fix condition.
1128         * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
1129         * testsuite/22_locale/conversions/buffer/1.cc: New.
1130         * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
1131         char32_t instead of wchar_t.
1132         * testsuite/22_locale/conversions/string/3.cc: New.
1134 2015-03-03  Iain Sandoe  <iain@codesourcery.com>
1136         PR libstdc++/64883
1137         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
1138         visibility for Darwin.
1139         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
1140         also deprecated.
1141         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1143 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
1145         PR libstdc++/65279
1146         * include/std/scoped_allocator (__inner_type_impl,
1147         scoped_allocator_adaptor): Add defaulted copy assignment and move
1148         assignment operators.
1149         * testsuite/20_util/scoped_allocator/65279.cc: New.
1151 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
1153         PR libstdc++/64367
1154         * include/std/stdexcept (__sso_string): Don't use non-static member
1155         in sizeof.
1157 2015-02-28  Matthias Klose  <doko@ubuntu.com>
1159         PR libstdc++/65246
1160         * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
1162 2015-02-22  Jonathan Wakely  <jwakely@redhat.com>
1164         * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
1165         * doc/html/manual/status.html: Regenerate.
1167 2015-02-20  Jonathan Wakely  <jwakely@redhat.com>
1169         PR libstdc++/64695
1170         * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
1171         tuple layout.
1173         * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
1174         behavior.
1175         * doc/html/manual/status.html: Regenerate.
1177 2015-02-19  Jonathan Wakely  <jwakely@redhat.com>
1179         PR libstdc++/58357
1180         * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
1181         * include/bits/stl_algo.h (__rotate, rotate): Likewise.
1183 2015-02-19  Hans-Peter Nilsson  <hp@axis.com>
1185         PR testsuite/65093
1186         * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
1187         (test01): Add explanatory comment.  Keep only the bd1 sub-test and
1188         split out bd2, bd3, bd4, and bd5 sub-tests into...
1189         * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
1190         testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
1191         testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
1192         testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
1193         New separate files with the old parts.
1195 2015-02-18  Jonathan Wakely  <jwakely@redhat.com>
1197         * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
1198         surrogate pairs.
1199         (utf16_in): Pass mode argument to write_utf16_code_point.
1200         (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
1201         native byte order.
1202         * testsuite/22_locale/codecvt/char16_t.cc: New.
1203         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
1205         * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
1206         * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
1208 2015-02-17  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
1209             Jonathan Wakely  <jwakely@redhat.com>
1211         * testsuite/22_locale/codecvt/char32_t.cc: New.
1213 2015-02-17  Jonathan Wakely  <jwakely@redhat.com>
1215         PR libstdc++/65085
1216         * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
1217         empty string gets null-terminated.
1218         * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
1220 2015-02-13  Matthew Wahab  <matthew.wahab@arm.com>
1222         * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
1223         mixed line-endings introduced in last change.
1225 2015-02-12  Matthew Wahab  <matthew.wahab@arm.com>
1227         * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
1228         for __NEWLIB__ macro with a dejagnu set macro.
1229         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1231 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
1233         PR libstdc++/64467
1234         * testsuite/28_regex/traits/char/isctype.cc (test01):   Add newlib
1235         special case for '\n'.
1236         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1238 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
1240         * src/c++11/futex.cc: Do not define for gthr-single.h targets.
1242 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
1244         PR libstdc++/64883
1245         * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
1246         of deprecated.
1247         * include/c_std/cstdio (gets): Likewise.
1248         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
1249         with attributes used in darwin headers.
1251 2015-01-29  Jakub Jelinek  <jakub@redhat.com>
1253         * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
1254         $vtv_cygmin = yes.  Initialize vtv_cygmin=no unconditionally first.
1255         * configure: Regenerated.
1257 2015-01-29  H.J. Lu  <hongjiu.lu@intel.com>
1259         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1260         after vtv_cygmin is set.
1261         * configure: Regenerated.
1263 2015-01-29  Matthias Klose  <doko@ubuntu.com>
1265         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1266         unconditionally.
1267         * configure: Regenerate.
1269 2015-01-29  Caroline Tice  <cmtice@google.com>
1271         Committing VTV Cywin/Ming patch for Patrick Wollgast
1272         * configure: Regenerate.
1273         * libsupc++/Makefile.in: Regenerate.
1274         * src/Makefile.in: Regenerate.
1276 2015-01-29  Jonathan Wakely  <jwakely@redhat.com>
1278         * include/bits/atomic_base.h: Use __always_inline__ instead of
1279         always_inline.
1280         * include/bits/atomic_futex.h: Likewise.
1281         * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
1282         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
1283         __packed__ instead of packed.
1284         * include/std/shared_mutex: Use __unused__ instead of unused.
1285         * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
1286         * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
1287         * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
1289 2015-01-28  Caroline Tice  <cmtice@google.com>
1291         Committing VTV Cywin/Ming patch for Patrick Wollgast
1292         * acinclude.m4: Define VTV_CYGMIN.
1293         * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
1294         and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
1295         * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
1296         for Cygwin and MinGW.
1297         * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
1298         VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
1299         libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
1301 2015-01-28  Jonathan Wakely  <jwakely@redhat.com>
1303         PR libstdc++/64828
1304         * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
1305         * libsupc++/Makefile.in: Regenerate.
1306         * src/c++11/Makefile.in: Regenerate.
1308 2015-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
1310         * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
1311         check for unsupported.
1312         (v3_target_compile_as_c): Likewise.
1314 2015-01-28  Richard Biener  <rguenther@suse.de>
1316         PR libstdc++/64798
1317         * libsupc++/eh_alloc.cc (struct allocated_entry): Align
1318         data member.
1319         (pool::allocate): Adjust allocation size and alignment to
1320         that change.
1321         (pool::free): Adjust pointer offsetting.
1323 2015-01-27  Jonathan Wakely  <jwakely@redhat.com>
1325         PR libstdc++/64368
1326         * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
1327         shared_timed_mutex::try_lock_until): Only define when POSIX thread
1328         timeouts option is supported.
1329         (shared_timed_mutex::try_shared_lock_for,
1330         shared_timed_mutex::try_shared_lock_until): Likewise.
1332 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
1334         PR libstdc++/64368
1335         * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
1336         numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
1337         * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
1338         and use cache's _M_grouping field.
1339         (__numpunct_fill_cache): Likewise.
1340         (__moneypunct_fill_cache): Improve comments.
1342 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
1344         * testsuite/23_containers/set/operations/2.cc: Add test for
1345         non-transparent comparison function.
1347 2015-01-25  Oleg Endo  <olegendo@gcc.gnu.org>
1349         PR target/29366
1350         * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): 
1351         Remove SH4A inline asm and lock based implementations and use the
1352         defaults from ext/atomicity.h.
1354 2015-01-23  Jonathan Wakely  <jwakely@redhat.com>
1356         * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
1357         new std::string constructors for byname facets.
1359 2015-01-22  Richard Biener  <rguenther@suse.de>
1361         PR libstdc++/64535
1362         * libsupc++/eh_alloc.cc: Include new.
1363         (bitmask_type): Remove.
1364         (one_buffer): Likewise.
1365         (emergency_buffer): Likewise.
1366         (emergency_used): Likewise.
1367         (dependents_buffer): Likewise.
1368         (dependents_used): Likewise.
1369         (class pool): New custom fixed-size arena, variable size object
1370         allocator.
1371         (emergency_pool): New global.
1372         (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
1373         (__cxxabiv1::__cxa_free_exception): Likewise.
1374         (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
1375         (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
1377 2015-01-22  Tim Shen  <timshen@google.com>
1379         PR libstdc++/64680
1380         * include/bits/regex.h (basic_regex<>::basic_regex,
1381         basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
1382         standard interface.
1383         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
1385 2015-01-22  Tim Shen  <timshen@google.com>
1387         PR libstdc++/64649
1388         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1389         regex_traits<>::lookup_classname): Correctly narrow input chars.
1390         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
1392 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
1394         * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
1396 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
1398         * testsuite/29_atomics/atomic/64658.cc: Test stored value.
1400 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1402         * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
1403         * doc/xml/manual/status_cxx2014.xml: Update status.
1404         * doc/html/manual/status.html: Regenerate.
1406 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1408         PR libstdc++/64650
1409         * include/experimental/optional (bad_optional_access): Add default
1410         constructor.
1411         * testsuite/experimental/optional/requirements.cc: Test for default
1412         constructor.
1414 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1416         * include/bits/stl_map.h (map::find<>, map::count<>,
1417         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
1418         member function templates to perform heterogeneous lookup.
1419         * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
1420         multimap::lower_bound<>, multimap::upper_bound<>,
1421         multimap::equal_range<>): Likewise.
1422         * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
1423         multiset::lower_bound<>, multiset::upper_bound<>,
1424         multiset::equal_range<>): Likewise.
1425         * include/bits/stl_set.h (set::find<>, set::count<>,
1426         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
1427         * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
1428         _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
1429         _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
1430         _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
1431         * testsuite/23_containers/map/operations/2.cc: New.
1432         * testsuite/23_containers/multimap/operations/2.cc: New.
1433         * testsuite/23_containers/multiset/operations/2.cc: New.
1434         * testsuite/23_containers/set/operations/2.cc: New.
1436 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1438         * config/abi/pre/gnu.ver: Export new constructors.
1439         * include/bits/codecvt.h (codecvt_byname): Add string constructor.
1440         (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
1441         specializations and declare explicit instantiations.
1442         * include/bits/locale_classes.h (locale, collate_byname): Add string
1443         constructors.
1444         * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
1445         Likewise.
1446         * include/bits/locale_facets_nonio.h (time_get_byname,
1447         time_put_byname, moneypunct_byname, messages_byname): Likewise.
1448         * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
1449         codecvt_byname<char32_t>): Define explicit instantiations.
1450         * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
1451         Instantiate string constructors.
1452         (ctype_byname): Define string constructor.
1453         * testsuite/22_locale/codecvt_byname/1.cc: New.
1454         * testsuite/22_locale/collate_byname/1.cc: New.
1455         * testsuite/22_locale/ctype_byname/2.cc: New.
1456         * testsuite/22_locale/messages_byname/1.cc: New.
1457         * testsuite/22_locale/moneypunct_byname/1.cc: New.
1458         * testsuite/22_locale/numpunct_byname/1.cc: New.
1460 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
1462         PR libstdc++/64658
1463         * include/std/atomic (atomic_init): Define.
1464         * testsuite/29_atomics/atomic/64658.cc: New.
1466 2015-01-19  Tim Shen  <timshen@google.com>
1468         PR libstdc++/64649
1469         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1470         regex_traits<>::lookup_classname): Support forward iterators.
1471         * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
1472         * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
1474 2015-01-19  Tim Shen  <timshen@google.com>
1476         PR libstdc++/64584
1477         PR libstdc++/64585
1478         * include/bits/regex.h (basic_regex<>::basic_regex,
1479         basic_regex<>::assign, basic_regex<>::imbue,
1480         basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
1481         imbuing basic_regex; Make assign() transactional against exception.
1482         * include/bits/regex_compiler.h (__compile_nfa<>): Add back
1483         __compile_nfa SFINAE.
1484         * include/std/regex: Adjust include order to avoid __compile_nfa
1485         forward declaration.
1486         * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
1487         * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
1489 2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
1490             Jonathan Wakely  <jwakely@redhat.com>
1492         * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
1493         on overloads for arrays.
1494         (cbegin, cend, rbegin, rend, crbegin, crend): New.
1495         * testsuite/24_iterators/range_access_cpp14.cc: New.
1497 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
1499         PR libstdc++/64646
1500         * include/bits/stl_algo.h (__is_permutation): Also test for reaching
1501         end of the second range.
1502         * testsuite/25_algorithms/is_permutation/64646.cc: New.
1504 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
1506         * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
1507         * doc/html/manual/status.html: Regenerate.
1509 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
1511         * include/bits/atomic_futex.h: Use mutex and condition_variable when
1512         atomic int is not lock-free. Make member variables private.
1513         * src/c++11/futex.cc: Likewise.
1515         * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
1517 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
1519         PR libstdc++/64638
1520         * include/bits/atomic_futex.h: Use appropriate config macros for
1521         availability of std::mutex, std::condition and std::chrono.
1523 2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
1524             Jonathan Wakely  <jwakely@redhat.com>
1526         * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
1527         * doc/html/*: Regenerate.
1529 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
1531         DR 488
1532         PR libstdc++/58357
1533         * include/bits/algorithmfwd.h (rotate): Return an iterator.
1534         * include/bits/stl_algo.h (rotate, __rotate): Likewise.
1535         * testsuite/25_algorithms/rotate/dr488.cc: New.
1536         * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
1537         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
1538         2.cc: Likewise.
1539         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
1540         pod.cc: Likewise.
1542 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
1544         PR libstdc++/60940
1545         * include/bits/atomic_base.h: Remove atomic integral typedefs as
1546         synonyms for __atomic_base<int> etc.
1547         * include/std/atomic: Make atomic_int a synonym for atomic<int> and
1548         likewise for all atomic integral types.
1549         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
1550         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1552 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
1554         PR libstdc++/56785
1555         * include/std/tuple (_Tuple_impl): Remove zero-element specialization
1556         and define one-element specialization.
1557         * testsuite/20_util/tuple/56785.cc: New.
1559 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
1561         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
1562         Remove unused header.
1563         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
1564         Likewise.
1565         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1566         Likewise.
1568 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
1570         * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
1571         * include/std/locale: Include new header.
1572         * include/Makefile.am: Add it.
1573         * include/Makefile.in: Regenerate.
1574         * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
1575         * testsuite/22_locale/conversions/string/1.cc: New.
1576         * testsuite/22_locale/conversions/string/2.cc: New.
1577         * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
1578         * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
1579         New.
1581 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
1583         * config/abi/pre/gnu.ver: Export new symbols.
1584         * include/Makefile.am: Add codecvt.
1585         * include/Makefile.in: Regenerate.
1586         * include/std/codecvt: New header.
1587         * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
1588         __codecvt_utf8_utf16_base): Define specializations.
1589         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
1590         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
1591         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1592         New.
1594 2015-01-16  Torvald Riegel  <triegel@redhat.com>
1596         * src/c++11/futex.cc: New file.
1597         * include/bits/atomic_futex.h: New file.
1598         * include/std/future (__future_base::_State_baseV2): Use
1599         atomic_futex_unsigned instead of mutex+condvar.
1600         * src/c++11/futex.cc: Likewise.
1601         * include/Makefile.am: Add atomic_futex.h.
1602         * include/Makefile.in: Likewise.
1603         * src/c++11/Makefile.am: Add futex.cc.
1604         * src/c++11/Makefile.in: Likewise.
1606 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
1608         * acinclude.m4: Fix typo in comment.
1609         * configure: Regenerate.
1610         * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
1611         codecvt<char16_t, char, mbstate_t>): Declare specializations.
1612         * include/bits/locale_facets.h: Reserve space for new specializations.
1613         * src/c++11/Makefile.am: Add codecvt.cc.
1614         * src/c++11/Makefile.in: Regenerate.
1615         * src/c++11/codecvt.cc: New.
1616         * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
1617         with -std=gnu++11.
1618         * src/c++98/Makefile.in: Regenerate.
1619         * src/c++98/locale_init.cc: Initialize new codecvt specializations.
1620         * src/c++98/localename.cc: Likewise.
1621         * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
1622         * testsuite/22_locale/codecvt/utf8.cc: New.
1623         * testsuite/22_locale/locale/cons/unicode.cc: Check that new
1624         specializations are installed in locale objects.
1626 2015-01-16  Torvald Riegel  <triegel@redhat.com>
1628         * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
1629         implementation.
1631 2015-01-13  Jonathan Wakely  <jwakely@redhat.com>
1633         PR libstdc++/64571
1634         * config/abi/pre/gnu.ver: Export fstream functions using new string.
1636 2015-01-12  Jonathan Wakely  <jwakely@redhat.com>
1638         PR libstdc++/64560
1639         * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
1640         for RTTI support.
1642         PR libstdc++/64553
1643         * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
1645 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
1647         * doc/xml/manual/parallel_mode.xml: Update for libgomp being
1648         renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
1649         Multi Processing Runtime Library".
1651 2015-01-09  Jonathan Wakely  <jwakely@redhat.com>
1653         PR libstdc++/64476
1654         * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
1655         is_assignable arguments.
1656         * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
1657         New.
1659 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
1661         * libsupc++/unwind-cxx.h: Revert previous commit.
1663 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
1665         * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
1667 2015-01-09  Tim Shen  <timshen@google.com>
1669         PR libstdc++/64239
1670         * include/bits/regex.h (match_results<>::swap): Use std::swap
1671         instead of swap.
1672         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1673         Likewise.
1674         * testsuite/28_regex/match_results/swap.cc: New testcase.
1676 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
1678         PR libstdc++/60132
1679         * include/std/type_traits (has_trivial_default_constructor,
1680         has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
1681         attribute.
1682         * testsuite/20_util/has_trivial_copy_assign/requirements/
1683         explicit_instantiation.cc: Use -Wno-deprecated.
1684         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1685         Likewise.
1686         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1687         * testsuite/20_util/has_trivial_copy_constructor/requirements/
1688         explicit_instantiation.cc: Likewise.
1689         * testsuite/20_util/has_trivial_copy_constructor/requirements/
1690         typedefs.cc: Likewise.
1691         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1692         * testsuite/20_util/has_trivial_default_constructor/requirements/
1693         explicit_instantiation.c: Likewise.
1694         * testsuite/20_util/has_trivial_default_constructor/requirements/
1695         typedefs.cc: Likewise.
1696         * testsuite/20_util/has_trivial_default_constructor/value.cc:
1697         Likewise.
1698         * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
1699         trait.
1700         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1701         * testsuite/util/testsuite_common_types.h: Likewise.
1703 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
1705         * include/bits/hashtable_policy.h: Use __bool_constant.
1707 2015-01-07  Jonathan Wakely  <jwakely@redhat.com>
1709         * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
1710         * libsupc++/Makefile.in: Regenerate.
1712 2015-01-06  Jonathan Wakely  <jwakely@redhat.com>
1714         * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
1716 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
1718         Update copyright years.
1720 2015-01-04  Jonathan Wakely  <jwakely@redhat.com>
1722         PR libstdc++/64483
1723         * testsuite/18_support/exception_ptr/64241.cc: Use
1724         dg-require-atomic-builtins.
1726 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
1728         * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
1729         date.
1731 2015-01-02  Tim Shen  <timshen@google.com>
1733         PR libstdc++/64475
1734         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
1735         iterator, since the original one shouldn't be mutated.
1737 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
1739         PR libstdc++/64422
1740         * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
1741         (string::insert): Likewise.
1742         (string::replace): Likewise.
1743         (wstring::erase): Likewise.
1744         (wstring::insert): Likewise.
1745         (wstring::replace): Likewise.
1746         * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
1748 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
1750         PR libstdc++/64468
1751         * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
1753 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
1755         PR libstdc++/64438
1756         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
1757         Revert removal of dg-require-string-conversions.
1758         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1759         Likewise.
1760         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1761         Likewise.
1762         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1763         Likewise.
1764         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1765         Likewise.
1766         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1767         Likewise.
1768         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1769         Likewise.
1770         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1771         Likewise.
1772         * testsuite/21_strings/basic_string/numeric_conversions/char/
1773         stoull.cc: Likewise.
1774         * testsuite/21_strings/basic_string/numeric_conversions/char/
1775         to_string.cc: Likewise.
1777 Copyright (C) 2015 Free Software Foundation, Inc.
1779 Copying and distribution of this file, with or without modification,
1780 are permitted in any medium without royalty provided the copyright
1781 notice and this notice are preserved.