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