1 2015-05-29 François Dumont fdumont@gcc.gnu.org>
3 * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT,
4 _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition...
5 * include/debug/assertions.h: ...here, new.
6 * include/debug/formatter.h
7 (_Error_formatter::_Is_iterator_value_type): New.
8 (_Error_formatter::_Is_instance): New.
9 (_Error_formatter::_Parameter): Make public and not friend anymore.
10 (_Error_formatter::_Parameter::__instance): New _M_kind enum entry.
11 (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum
13 (_Error_formatter::_Parameter::_Type): New.
14 (_Error_formatter::_Parameter::_Instance): New, inherit from
16 (union _Error_formatter::_Parameter::_M_variant): Reorganize.
17 (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all
18 overloads take iterator through a const reference.
19 (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)):
21 (_Parameter(const _Type&, const char*, _Is_instance)): New.
22 (_Error_formatter::_M_print_type): Delete.
23 (_Error_formatter::_M_iterator_value_type): New.
24 (_Error_formatter::_M_instance): New.
25 * include/Makefile.am: Add new above debug file.
26 * include/Makefile.in: Regenerate.
27 * include/debug/functions.h
28 (__check_dereferenceable(const _Safe_iterator<>&),
29 __valid_range(const _Safe_iterator<>&),
30 __is_safe_random_iterator<_Safe_iterator<>>): Move...
31 * include/debug/safe_iterator.h: ... here.
32 Replace debug.h include with assertions.h.
33 (__check_singular_aux): Move...
34 * include/debug/safe_base.h: ... here.
35 * include/debug/functions.h
36 (__check_dereferenceable(const _Safe_local_iterator<>&),
37 __valid_range(const _Safe_local_iterator<>&): Move...
38 * include/debug/safe_local_iterator.h: ...here.
39 * include/debug/safe_sequence.h: Replace debug.h with assertions.h.
40 Remove _Safe_iterator declaration.
41 * include/debug/safe_unordered_container.h: Replace debug.h with
43 * include/debug/array: Replace safe_sequence.h include with
44 formatter.h and macros.h.
45 * include/debug/deque: Include functions.tcc.
46 * include/debug/forward_list: Likewise.
47 * include/debug/list: Likewise.
48 * include/debug/string: Likewise.
49 * include/debug/vector: Likewise.
50 * include/bits/unique_ptr.h: Replace debug.h include with new
52 * include/bits/stl_iterator_base_funcs.h: Likewise.
53 * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
54 Adjust dg-error line number.
55 * testsuite/23_containers/array/tuple_interface/
56 tuple_element_debug_neg.cc: Likewise.
57 * src/c++11/debug.cc: Adapt.
59 2015-05-29 Jonathan Wakely <jwakely@redhat.com>
61 * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute.
62 * doc/html/manual/*: Regenerate.
64 * include/std/future (__async_result_of): New alias template.
65 (async): Use __async_result_of to pass decayed types to result_of.
66 * testsuite/30_threads/async/lwg2021.cc: New.
67 * doc/xml/manual/intro.xml: Document LWG 2021 status.
70 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
71 memcmp with null pointers.
72 (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
75 2015-05-28 Jonathan Wakely <jwakely@redhat.com>
78 * include/profile/array (array::data): Use _S_ptr.
79 * include/debug/array (array::data): Likewise.
82 * include/std/array (__array_traits::_S_ptr): New function.
83 (array::data): Use _S_ptr to avoid creating invalid reference.
84 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
85 dg-error line numbers.
86 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
89 2015-05-27 Jonathan Wakely <jwakely@redhat.com>
91 * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
92 instead of downcasting.
93 (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
94 (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
95 (_Rb_tree::_S_iter): Remove.
96 (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
97 (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
98 instead of _S_lower_bound_tr
99 (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
100 (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
101 instead of calling _S_lower_bound_tr.
102 (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
103 (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
104 instead of calling _S_upper_bound_tr.
105 (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
106 (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
107 (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
108 (_Rb_tree::_M_get_insert_unique_pos): Likewise.
109 (_Rb_tree::_M_get_insert_equal_pos): Likewise.
110 (_Rb_tree::_M_insert_equal_lower_node): Likewise.
111 (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
112 _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
115 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
116 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
118 (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
119 (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
120 * include/ext/aligned_buffer.h (__aligned_membuf): New type using
121 alignment of _Tp as a member subobject, not as a complete object.
122 * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
123 _Link_type manually as it might not be in the debug info.
125 2015-05-26 Doug Evans <dje@google.com>
127 * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
129 * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
132 2015-05-26 Jonathan Wakely <jwakely@redhat.com>
134 * include/bits/locale_conv.h: Fix copyright years.
135 * include/bits/quoted_string.h: Likewise.
136 * src/filesystem/Makefile.am: Likewise.
137 * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
138 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
140 * testsuite/22_locale/conversions/string/1.cc: Likewise.
141 * testsuite/22_locale/conversions/string/2.cc: Likewise.
142 * testsuite/22_locale/conversions/string/3.cc: Likewise.
143 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
145 * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
147 * testsuite/util/testsuite_fs.h: Likewise.
149 2015-05-23 François Dumont fdumont@gcc.gnu.org>
152 * include/debug/functions.h (__check_sorted_aux): Cast expression to
155 2015-05-21 David Edelsohn <dje.gcc@gmail.com>
158 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
159 Don't use isync. Use lwsync if available.
160 * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
161 powerpc cpu definition.
163 2015-05-21 Jason Merrill <jason@redhat.com>
165 * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
166 * libsupc++/del_op.cc: Likewise.
168 2015-05-20 François Dumont fdumont@gcc.gnu.org>
170 * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
172 (_Error_formatter::_M_print_type): New.
174 (_Error_formatter::_Parameter::_M_print_field): Use latter.
175 (_Error_formatter::_M_print_type): Implement latter using
176 __cxaabiv1::__cxa_demangle to print demangled type name.
178 * include/bits/cpp_type_traits.h
179 (std::move_iterator): Delete declaration.
180 (std::__is_move_iterator<move_iterator>): Move partial specialization...
181 * include/bits/stl_iterator.h: ... here.
182 (std::__miter_base): Overloads for std::reverse_iterator and
184 * include/bits/stl_algobase.h (std::__miter_base): Provide default
187 2015-05-20 Jonathan Wakely <jwakely@redhat.com>
189 * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
192 * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
193 overload for pointers.
194 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
195 808590.cc: Add -std=gnu++03 switch.
196 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
197 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
198 * testsuite/23_containers/vector/modifiers/push_back/
199 strong_guarantee.cc: New.
201 2015-05-19 Jonathan Wakely <jwakely@redhat.com>
203 * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
204 (operator==(const list&, const list&)): If size() is O(1) compare
205 sizes before comparing each element.
206 * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
207 (list::resize): Use _M_resize_pos.
209 2015-05-19 François Dumont <fdumont@gcc.gnu.org>
211 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
213 * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
214 * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
215 * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
217 2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
219 * configure.host: Define cpu_defines_dir for ARM.
220 * config/cpu/arm/cpu_defines.h: New file.
222 2015-05-17 François Dumont <fdumont@gcc.gnu.org>
224 * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
225 missing constructors.
226 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
228 * include/debug/unordered_map (unordered_map, unordered_multimap): Add
229 missing constructors.
230 * include/debug/unordered_set (unordered_set, unordered_multiset):
232 * include/profile/unordered_map (unordered_map, unordered_multimap): Add
233 missing constructors.
234 * include/profile/unordered_set (unordered_set, unordered_multiset):
237 2015-05-15 Jonathan Wakely <jwakely@redhat.com>
239 * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
240 use throughout the file.
241 (make_file_type): New function.
242 (file_size(const path&, error_code&)): Report an error for anything
243 that isn't a regular file.
244 (status(const path&), symlink_status(const path&)): Do not throw for
245 file_type::not_found.
246 (temp_directory_path()): Check additional environment variables.
247 * testsuite/experimental/filesystem/operations/exists.cc: New.
248 * testsuite/experimental/filesystem/operations/file_size.cc: New.
249 * testsuite/experimental/filesystem/operations/status.cc: New.
250 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
253 2015-05-14 Nathan Myers <ncm@cantrip.org>
254 Jonathan Wakely <jwakely@redhat.com>
257 * include/std/unordered_map (unordered_map, unordered_multimap): Add
258 missing constructors.
259 * include/std/unordered_set (unordered_set, unordered_multiset):
261 * testsuite/23_containers/unordered_map/cons/66055.cc: New.
262 * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
263 * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
264 * testsuite/23_containers/unordered_set/cons/66055.cc: New.
266 2015-05-14 Jonathan Wakely <jwakely@redhat.com>
269 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
271 * config.h.in: Regenerate.
272 * configure: Regenerate.
273 * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
274 not return after copying contents. Use fchmod, fchmodat, and sendfile
276 (current_path, permissions, space): Use errno not return value.
279 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
281 * config.h.in: Regenerate.
282 * configure: Regenerate.
283 * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
285 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
287 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
288 * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
289 * config.h.in: Regenerate.
290 * configure: Likewise.
291 * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
292 __USING_SJLJ_EXCEPTIONS__.
293 * libsupc++/eh_throw.cc: Likewise.
294 * libsupc++/eh_ptr.cc: Likewise.
295 * doc/html/manual/appendix_porting.html: Remove
296 GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
297 * doc/xml/manual/build_hacking.xml: Likewise.
298 * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
299 * doc/xml/manual/configure.xml: Likewise.
301 2015-05-13 Jonathan Wakely <jwakely@redhat.com>
303 * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
304 for nullptr (LWG 2415).
305 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
306 construction from empty unique_ptr.
307 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
308 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
310 * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
312 * testsuite/20_util/raw_storage_iterator/base.cc: New.
314 * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
315 Remove explicit (LWG 2407).
317 * include/bits/basic_string.h (basic_string::basic_string()): Make
318 noexcept conditional on allocator (LWG 2455).
320 * include/std/complex (polar): Check for negative rho (LWG 2459).
322 * include/experimental/tuple (apply): Handle pointers to member (LWG
324 * include/std/functional (_Mem_fn_base): Make constructors constexpr.
325 (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
326 * testsuite/experimental/tuple/apply.cc: Test pointer to member.
328 * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
330 * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
331 * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
332 * testsuite/23_containers/forward_list/allocator/minimal.cc:
334 * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
335 * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
336 * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
337 * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
338 * testsuite/23_containers/unordered_map/allocator/minimal.cc:
340 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
342 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
344 * testsuite/23_containers/unordered_set/allocator/minimal.cc:
346 * testsuite/util/testsuite_allocator.h: Remove unused parameter.
348 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
349 * configure: Regenerate.
351 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
353 * Makefile.in: Regenerated with automake-1.11.6.
354 * aclocal.m4: Likewise.
355 * configure: Likewise.
356 * doc/Makefile.in: Likewise.
357 * include/Makefile.in: Likewise.
358 * libsupc++/Makefile.in: Likewise.
359 * po/Makefile.in: Likewise.
360 * python/Makefile.in: Likewise.
361 * src/Makefile.in: Likewise.
362 * src/c++11/Makefile.in: Likewise.
363 * src/c++98/Makefile.in: Likewise.
364 * src/filesystem/Makefile.in: Likewise.
365 * testsuite/Makefile.in: Likewise.
367 2015-05-09 Jason Merrill <jason@redhat.com>
369 * testsuite/20_util/headers/functional/synopsis.cc: Add
370 _GLIBCXX14_CONSTEXPR.
371 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
373 2015-05-08 Jason Merrill <jason@redhat.com>
375 * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
376 * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
377 * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
378 * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
379 * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
380 * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
381 * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
382 * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
383 * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
384 * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
385 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
387 * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
388 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
389 Adjust expected errors.
390 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
392 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
394 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
396 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
398 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
400 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
402 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
404 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
406 * testsuite/23_containers/vector/requirements/dr438
407 /constructor_1_neg.cc: Likewise.
408 * testsuite/23_containers/vector/requirements/dr438
409 /constructor_2_neg.cc: Likewise.
410 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
412 * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
413 * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
414 * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
415 * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
416 * testsuite/ext/array_allocator/check_allocate_max_size.cc:
418 * testsuite/ext/array_allocator/check_deallocate_null.cc:
420 * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
421 * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
422 * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
423 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
425 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
427 * testsuite/tr1/2_general_utilities/shared_ptr/assign
428 /auto_ptr_rvalue_neg.cc: Add -std=c++98.
429 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
430 Add -std=c++98 -fno-show-column.
431 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
433 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
435 * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
436 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
438 * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
439 * src/c++98/Makefile.in: Regenerate.
440 * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
441 * src/Makefile.in: Regenerate.
443 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
446 * include/std/future (async): Change default policy to launch::async.
448 * include/experimental/any (any::_Storage): Fix alignment of buffer.
449 (any::_Internal): Check alignment of type.
450 * testsuite/experimental/any/cons/aligned.cc: New.
451 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
453 * include/experimental/iterator (ostream_joiner): Simplify by using
454 the injected-class-name and the ostream_type typedef.
456 * include/experimental/iterator: New. Define ostream_joiner.
457 * include/Makefile.am: Add new header.
458 * include/Makefile.in: Regenerate.
459 * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
460 * testsuite/experimental/iterator/ostream_joiner.cc: New.
461 * testsuite/experimental/iterator/requirements.cc: New.
462 * doc/xml/manual/status_cxx2017.xml: Update status.
463 * doc/html/manual/status.html: Regenerate.
465 * include/experimental/numeric: New. Define gcd and lcm.
466 * include/Makefile.am: Add new header.
467 * include/Makefile.in: Regenerate.
468 * testsuite/experimental/numeric/gcd.cc: New.
469 * testsuite/experimental/numeric/lcm.cc: New.
470 * doc/xml/manual/status_cxx2017.xml: Update status.
471 * doc/html/manual/status.html: Regenerate.
473 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
475 Revert addition of feature macros from other headers per latest SD-6.
476 * include/experimental/deque: Remove feature-test macro.
477 * include/experimental/forward_list: Ditto.
478 * include/experimental/list: Ditto.
479 * include/experimental/map: Ditto.
480 * include/experimental/set: Ditto.
481 * include/experimental/string: Ditto.
482 * include/experimental/unordered_map: Ditto.
483 * include/experimental/unordered_set: Ditto.
485 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
487 * include/experimental/any (any::_Storage): Make non-copyable.
488 (any::any): Do not copy _Storage object.
489 (any::operator=): Implement more efficiently than swapping.
490 (any::swap): Use new _Op_xfer operation.
491 (any::_Op::_Op_xfer): New enumerator.
492 (_Manager_internal::_S_alloc): Remove unused function.
493 (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
494 parameter instead of returning a _Storage object.
495 (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
496 _Op_xfer operation for moving and swapping.
497 * testsuite/experimental/any/cons/nontrivial.cc: New.
498 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
500 * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
502 * src/filesystem/path.cc (filesystem_error::~filesystem_error):
506 * include/std/tuple (forward_as_tuple, tie): Add constexpr.
507 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
508 and fix tests for forward_as_tuple and tie.
510 * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
511 Set timespec members explicitly instead of with a braced-init-list.
512 [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
514 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
516 * include/experimental/deque: Add feature-test macro.
517 * include/experimental/forward_list: Ditto.
518 * include/experimental/list: Ditto.
519 * include/experimental/map: Ditto.
520 * include/experimental/set: Ditto.
521 * include/experimental/string: Ditto.
522 * include/experimental/unordered_map: Ditto.
523 * include/experimental/unordered_set: Ditto.
525 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
527 * include/experimental/memory: Correct feature-test macro.
529 * include/experimental/memory: Add feature-test macro.
530 * include/experimental/vector: Likewise.
531 * doc/xml/manual/status_cxx2017.xml: Update status.
532 * doc/html/manual/status.html: Regenerate.
534 2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
536 Implement observer_ptr.
537 * include/Makefile.am: Add new header.
538 * include/Makefile.in: Regenerate.
539 * include/experimental/memory: New.
540 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
541 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
542 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
543 * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
544 * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
545 * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
546 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
547 * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
549 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
551 * src/filesystem/path.cc (path::compare): Do not copy strings.
553 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
555 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
556 * configure: Regenerate.
557 * config.h.in: Regenerate.
558 * configure.ac: Check for utime.h
559 * include/experimental/fs_path.h (path::string<>)
560 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
561 * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
562 closedir, dirent, readdir_r): Replace dummy functions with #error.
563 (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
564 * src/filesystem/ops.cc (do_stat, is_set): Make inline.
565 (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
566 (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
567 (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
570 * include/experimental/fs_path.h (path::_List): Use vector instead of
572 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
573 * src/filesystem/path.cc: Use std::prev instead of decrementing
574 rvalues. Fix whitespace.
575 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
576 Do not decrement iterators before begin.
578 * include/experimental/fs_dir.h: Fix use of non-reserved names.
579 * include/experimental/fs_ops.h: Likewise.
580 * include/experimental/fs_path.h: Likewise.
581 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
582 C++11 when checking for support.
584 * include/bits/locale_classes.h (locale::facet): Delete copy
585 operations in C++11 mode.
587 * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
589 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
590 * configure: Regenerate.
592 2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
594 Inline one-line erasure dispatch functions.
595 * include/experimental/forward_list (erase_if(), erase()): Inline.
596 * include/experimental/list (erase_if(), erase()): Inline.
597 * include/experimental/map (erase_if(*)): Inline.
598 * include/experimental/set (erase_if(*)): Inline.
599 * include/experimental/string (erase_if(), erase()): Inline.
600 * include/experimental/unordered_map (erase_if(*)): Inline.
601 * include/experimental/unordered_set (erase_if(*)): Inline.
603 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
605 * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
606 * doc/xml/manual/status_cxx2011.xml: Update status tables.
607 * doc/xml/manual/status_cxx2014.xml: Likewise.
608 * doc/xml/manual/status_cxx2017.xml: New.
609 * doc/xml/manual/using.xml: Fix typo.
610 * doc/html/*: Regenerate.
612 * include/std/memory (pointer_safety, declare_reachable,
613 undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
614 get_pointer_safety): Define.
615 * testsuite/20_util/pointer_safety/1.cc: New.
617 2015-04-30 Jonathan Wakely <jwakely@redhat.com>
619 Implement N4100 File System TS
620 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
621 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
622 * config.h.in: Regenerate.
623 * configure: Regenerate.
624 * configure.ac: Enable filesystem TS and check its dependencies.
625 * include/Makefile.am: Add new headers.
626 * include/Makefile.in: Regenerate.
627 * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
628 __str_codecvt_out): Move code conversion logic from wstring_convert
629 into new global functions.
630 (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
632 (wstring_convert::_M_conv): Remove.
633 * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
634 * include/experimental/filesystem: New.
635 * include/experimental/fs_dir.h: New.
636 * include/experimental/fs_fwd.h: New.
637 * include/experimental/fs_ops.h: New.
638 * include/experimental/fs_path.h: New.
639 * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
640 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
641 * src/Makefile.am (SUBDIRS): Add filesystem.
642 * src/Makefile.in: Regenerate.
643 * src/filesystem/Makefile.am: New.
644 * src/filesystem/Makefile.in: New.
645 * src/filesystem/dir.cc: New.
646 * src/filesystem/ops.cc: New.
647 * src/filesystem/path.cc: New.
648 * testsuite/experimental/filesystem/operations/absolute.cc: New.
649 * testsuite/experimental/filesystem/operations/copy.cc: New.
650 * testsuite/experimental/filesystem/operations/current_path.cc: New.
651 * testsuite/experimental/filesystem/path/append/path.cc: New.
652 * testsuite/experimental/filesystem/path/assign/assign.cc: New.
653 * testsuite/experimental/filesystem/path/assign/copy.cc: New.
654 * testsuite/experimental/filesystem/path/compare/compare.cc: New.
655 * testsuite/experimental/filesystem/path/compare/path.cc: New.
656 * testsuite/experimental/filesystem/path/compare/strings.cc: New.
657 * testsuite/experimental/filesystem/path/concat/path.cc: New.
658 * testsuite/experimental/filesystem/path/concat/strings.cc: New.
659 * testsuite/experimental/filesystem/path/construct/copy.cc: New.
660 * testsuite/experimental/filesystem/path/construct/default.cc: New.
661 * testsuite/experimental/filesystem/path/construct/locale.cc: New.
662 * testsuite/experimental/filesystem/path/construct/range.cc: New.
663 * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
664 * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
665 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
667 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
669 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
671 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
673 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
675 * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
676 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
678 * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
679 * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
680 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
682 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
684 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
686 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
688 * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
689 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
690 * testsuite/experimental/filesystem/path/query/empty.cc: New.
691 * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
692 * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
693 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
695 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
697 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
699 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
701 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
703 * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
704 * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
705 * testsuite/util/testsuite_fs.h: New.
707 2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
709 Add fundamentals TR container erasure.
710 * include/Makefile.am: Add new headers.
711 * include/Makefile.in: Add new headers.
712 * include/experimental/array: New.
713 * include/experimental/deque: New.
714 * include/experimental/erase_if.tcc: New.
715 * include/experimental/forward_list: New.
716 * include/experimental/list: New.
717 * include/experimental/map: New.
718 * include/experimental/set: New.
719 * include/experimental/string: New.
720 * include/experimental/unordered_map: New.
721 * include/experimental/unordered_set: New.
722 * include/experimental/vector: New.
723 * testsuite/experimental/deque/erasure.cc: New.
724 * testsuite/experimental/forward_list/erasure.cc: New.
725 * testsuite/experimental/list/erasure.cc: New.
726 * testsuite/experimental/map/erasure.cc: New.
727 * testsuite/experimental/set/erasure.cc: New.
728 * testsuite/experimental/string/erasure.cc: New.
729 * testsuite/experimental/unordered_map/erasure.cc: New.
730 * testsuite/experimental/unordered_set/erasure.cc: New.
731 * testsuite/experimental/vector/erasure.cc: New.
733 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
735 * include/bits/cpp_type_traits.h
736 (__gnu_cxx::__is_normal_iterator): Delete.
737 * include/bits/stl_algobase.h (std::__niter_base): Adapt.
738 * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
739 (std::__niter_base): Overloads for std::reverse_iterator,
740 __gnu_cxx::__normal_iterator and std::move_iterator.
742 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
744 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
746 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
747 Remove usage of latter and compute size of the prime numbers array
750 2015-04-29 Doug Evans <dje@google.com>
753 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
754 Replace all lookups of "bool" with this.
755 (get_std_size_type): New function. Replace all lookups of std::size_t
757 (*Worker): New method get_result_type.
758 (DequeWorkerBase.__init__): New arg val_type. All callers updated.
759 (ListWorkerBase.__init__): New arg val_type. All callers updated.
760 (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
761 Delete setting of name, enabled.
762 (UniquePtrDerefWorker.__init__): New arg elem_type. All callers
763 updated. Delete setting of name.
764 (UniquePtrMethodsMatcher): Rewrite for consistency with all other
765 libstdc++ xmethod matchers.
766 * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
767 * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
768 * testsuite/libstdc++-xmethods/deque.cc: Ditto.
769 * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
770 * testsuite/libstdc++-xmethods/list.cc: Ditto.
771 * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
772 * testsuite/libstdc++-xmethods/vector.cc: Ditto.
774 2015-04-29 Doug Evans <dje@google.com>
776 Use consistent naming for value type attributes.
777 * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
779 (ArraySizeWorker, ArrayEmptyWorker): Ditto.
780 (ArrayFrontWorker, ArrayBackWorker): Ditto.
781 (ArrayAtWorker, ArraySubscriptWorker): Ditto.
782 (DequeWorkerBase): Rename elemtype to val_type.
783 (ForwardListWorkerBase): Rename _elem_type to _val_type.
784 (ForwardListFrontWorker): Ditto. And rename elem_address to
786 (ForwardListMethodsMatcher): Rename elem_type to val_type.
787 (VectorWorkerBase): Rename _elemtype to _val_type.
789 2015-04-29 Jonathan Wakely <jwakely@redhat.com>
792 * include/std/functional (__check_func_return_type): Use is_same to
793 avoid using _is_convertible on incomplete types.
794 * testsuite/20_util/function/65760.cc: New.
797 * include/bits/basic_string (basic_string::_S_copy_chars): Cast
799 * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
800 time_get::_M_extract_num, time_get::_M_extract_name,
801 time_get::_M_extract_wday_or_month): Likewise.
802 * include/bits/stl_algo.h (__includes, __replace_copy_if,
803 __is_sorted_until, __is_permutation, transform): Likewise.
804 * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
805 __equal::equal, __lexicographical_compare_impl, equal): Likewise.
806 * include/bits/stl_numeric.h (inner_product): Likewise.
807 * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
808 * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
809 input_iterator_wrapper): Declare unusable comma operator.
810 * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
811 * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
814 2015-04-28 Doug Evans <dje@google.com>
816 * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
819 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
821 * include/bits/stl_algo.h (random_shuffle): Only define for hosted
824 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
826 * Makefile.am (SUBDIRS): Move python to hosted_source.
827 * Makefile.in: Regenerate.
828 * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
829 * configure: Regenerate.
831 2015-04-28 Marc Glisse <marc.glisse@inria.fr>
834 * include/std/limits (numeric_limits): Add missing unsigned.
836 2015-04-28 Stephan Bergmann <sbergman@redhat.com>
838 * include/debug/vector (_Safe_vector::operator=): Add missing returns.
840 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
843 * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
844 Handle enumeration types larger than sizeof(long).
845 (__make_signed_selector<_Tp, false, true>): Find unsigned type then
847 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
848 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
850 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
851 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
853 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
856 * include/bits/forward_list.h (forward_list::splice_after): Add
858 * include/bits/forward_list.tcc (forward_list::splice_after):
862 * include/bits/random.h (seed_seq) Define copy constructor and copy
863 assignment as deleted.
864 * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
866 * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
867 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
868 Use -std=gnu++1z. Check feature-test macro.
870 * include/std/type_traits (void_t): Add.
871 * testsuite/20_util/void_t/1.cc: New.
873 2015-04-28 Tim Shen <timshen@google.com>
875 * include/bits/regex.tcc: Handle regex_constants::__polynomial.
876 * include/bits/regex_automaton.tcc: Throw exception when parsing
877 back-reference with flag __polynomial.
878 * include/bits/regex_constants.h: Add extension flag
879 syntax_option_type __polynomial.
880 * bits/regex_executor.tcc: Still let BFS process ECMAScript.
881 Alternative operation will be fixed in the coming refactoring.
882 * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
883 loose match_search_debug to use DFS only.
885 2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
888 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
889 Make the generated test program fail gracefully if the target
890 doesn't support passing command-line arguments.
892 2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
893 Jonathan Wakely <jwakely@redhat.com>
895 * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
896 Return false or zero if the library is built without exceptions.
897 * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
898 the library is built without exceptions.
900 2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
902 * config/abi/pre/gnu.ver: Fix comment.
904 Add support for std::uncaught_exceptions.
905 * acinclude.m4: Bump libtool_VERSION.
906 * config/abi/pre/gnu.ver: Export the new symbol.
907 * configure: Regenerate.
908 * libsupc++/eh_catch.cc (uncaught_exceptions): New.
909 * libsupc++/exception (uncaught_exceptions): New.
910 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
911 * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
913 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
914 Michael Hanselmann <public@hansmi.ch>
917 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
919 * testsuite/18_support/exception_ptr/62258.cc: New.
921 2015-04-27 Jonathan Wakely <jwakely@redhat.com>
923 * doc/xml/manual/extensions.xml: Add cross-reference.
924 * doc/html/manual/ext_compile_checks.html: Regenerate.
926 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
928 * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
929 * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
931 2015-04-22 Renlin Li <renlin.li@arm.com>
933 * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
934 * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
935 * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
936 * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
937 * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
939 2015-04-21 Jonathan Wakely <jwakely@redhat.com>
941 * doc/xml/manual/configure.xml: Update descriptions of options
942 affecting dual ABI and add cross-references.
943 * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
944 * doc/xml/manual/using.xml: Document ABI transition.
945 * doc/html/*: Regenerate.
947 * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
948 * doc/xml/manual/using.xml: Document newer -std options. Use better
949 examples of nested namespaces.
951 2015-04-20 Jonathan Wakely <jwakely@redhat.com>
953 * doc/xml/manual/concurrency_extensions.xml: Update documentation
955 * doc/xml/manual/using.xml: Likewise. Improve markup.
956 * doc/html/*: Regenerate.
958 2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
960 * scripts/extract_symvers.pl: Ignore elfdump error output.
962 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
965 * include/bits/stl_iterator_base_funcs.h (_List_iterator,
966 _List_const_iterator): Declare.
967 (__distance): Declare new overloads for _List_iterator and
968 _List_const_iterator.
969 * include/bits/stl_list.h (__distance): New overloads for
970 _List_iterator and _List_const_iterator.
971 * testsuite/23_containers/list/61347.cc: New testcase.
973 2015-04-14 Jonathan Wakely <jwakely@redhat.com>
975 * doc/xml/manual/evolution.xml: Fix typos.
976 * doc/html/manual/api.html: Regenerate.
978 2015-04-14 Hans-Peter Nilsson <hp@axis.com>
980 * testsuite/29_atomics/atomic/62259.cc: Assert atomic
981 alignment is larger-equal, not equal, to default alignment.
983 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
986 * config/abi/pre/gnu.ver: Export base object constructors for
988 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
989 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
990 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
991 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
992 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
993 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
994 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
995 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
996 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
997 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
998 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
999 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1000 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1001 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1002 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1003 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1004 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1005 * testsuite/27_io/basic_fstream/cons/base.cc: New.
1007 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
1009 * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
1010 * doc/html/*: Regenerate.
1012 2015-04-12 Uros Bizjak <ubizjak@gmail.com>
1014 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
1016 2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
1018 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1020 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
1022 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
1024 * doc/xml/manual/test.xml: Improve documentation on running a subset
1026 * doc/html/manual/test.html: Regenerate.
1028 2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1030 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
1031 for GCC 5.1 release.
1032 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1035 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
1037 * include/std/shared_mutex (shared_timed_mutex): Add comments to
1038 explain the logic in the non-pthread_rwlock_t version.
1039 (_Mutex): Remove redundant type.
1040 (_M_n_readers): Rename to _S_max_readers.
1041 (_M_write_entered, _M_readers): New convenience functions.
1042 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
1043 functions. Use predicates with condition variables. Simplify bitwise
1045 (try_lock_for, try_shared_lock_for): Convert duration to time_point
1046 and call try_lock_until or try_shared_lock_until respectively.
1047 (try_lock_until, try_shared_lock_until): Wait on the condition
1048 variables until the specified time passes.
1049 (unlock): Add Debug Mode assertion.
1050 (unlock_shared): Add Debug Mode assertion.
1051 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
1053 * include/std/shared_mutex (shared_timed_mutex): Only use
1054 pthread_rwlock_t when the POSIX Timeouts option is supported.
1055 * testsuite/30_threads/shared_lock/cons/5.cc: Remove
1056 dg-require-gthreads-timed.
1057 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1058 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1059 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1061 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
1063 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
1065 2015-04-09 Jonathan Wakely <jwakely@redhat.com>
1066 Richard Henderson <rth@redhat.com>
1069 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
1071 * include/std/atomic (atomic): For types with a power of two size set
1072 alignment to at least the size.
1073 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1074 * testsuite/29_atomics/atomic/65147.cc: New.
1075 * testsuite/29_atomics/atomic_integral/65147.cc: New.
1077 2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1079 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1080 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1081 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1083 2015-04-07 Jakub Jelinek <jakub@redhat.com>
1085 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1086 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1087 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1088 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1089 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1090 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1091 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1092 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1094 2015-03-30 Jonathan Wakely <jwakely@redhat.com>
1097 * config/abi/pre/gnu.ver: Export operator+ for new strings.
1098 * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
1099 * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
1101 2015-03-28 Tim Shen <timshen@google.com>
1104 * include/bits/regex_constants.h: Use constexpr variables for flags.
1105 * testsuite/28_regex/constants/constexpr.cc: New testcase.
1107 2015-03-27 Jonathan Wakely <jwakely@redhat.com>
1110 * include/std/chrono: Add using-directive for literals to std::chrono.
1111 * testsuite/20_util/duration/literals/65499.cc: New.
1113 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
1117 * include/std/thread (this_thread::sleep_for): Check for negative
1119 (this_thread::sleep_until): Check for times in the past.
1120 * testsuite/30_threads/this_thread/58038.cc: New.
1121 * testsuite/30_threads/this_thread/60421.cc: New.
1123 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
1127 * include/std/atomic (atomic<T>): Increase alignment for types with
1128 the same size as one of the integral types.
1129 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1130 * testsuite/29_atomics/atomic/62259.cc: New.
1132 2015-03-26 Richard Henderson <rth@redhat.com>
1135 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
1136 a fake pointer indicating type alignment.
1137 (__atomic_base<T *>::is_lock_free): Likewise.
1138 * include/std/atomic (atomic<T>::is_lock_free): Likewise.
1140 2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
1143 * testsuite/21_strings/basic_string/pthread33394.cc: Use
1144 dg-additional-options.
1146 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
1149 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
1151 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
1153 * testsuite/27_io/rvalue_streams-2.cc: New.
1155 2015-03-24 Jonathan Wakely <jwakely@redhat.com>
1158 * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
1160 2015-03-23 Jonathan Wakely <jwakely@redhat.com>
1163 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
1164 * configure: Regenerate.
1165 * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
1166 system_category): Use macros for versioned namespace.
1167 * src/c++11/futex.cc: Add missing end macro for versioned namespace.
1169 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
1171 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
1172 test for unused for ARM.
1173 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
1174 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1176 2015-03-20 Jonathan Wakely <jwakely@redhat.com>
1178 * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
1179 * include/ext/codecvt_specializations.h (encoding_state,
1180 encoding_char_traits): Remove abi-tag and use inline namespace.
1181 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
1183 2015-03-19 Jason Merrill <jason@redhat.com>
1185 * config/locale/gnu/messages_members.cc: Revert abi-tag change.
1186 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
1188 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1191 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
1192 get_catalogs): Add abi-tag.
1193 * include/ext/codecvt_specializations.h (encoding_state,
1194 encoding_char_traits): Likewise.
1195 * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
1196 * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
1197 numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
1198 money_get_shim, money_put_shim, messages_shim): Likewise.
1199 * src/c++11/future.cc (future_error_category::message): Likewise.
1200 * src/c++11/system_error.cc (generic_error_category::message,
1201 system_error_category::message): Likewise.
1202 (__sso_string): Disable -Wabi-tag warnings.
1204 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1207 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
1208 implementation for old glibc. Fix whitespace.
1210 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1211 Torvald Riegel <triegel@redhat.com>
1213 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
1214 * config.h.in: Regenerate.
1215 * configure: Regenerate.
1216 * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
1217 (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
1218 (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
1219 (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
1222 2015-03-17 Jonathan Wakely <jwakely@redhat.com>
1224 * libsupc++/nested_exception.h: Do not try to derive from final
1226 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
1229 * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
1230 unused exception variable.
1231 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1232 * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
1234 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1236 2015-03-13 Jonathan Wakely <jwakely@redhat.com>
1238 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
1239 * configure: Regenerate.
1241 * include/experimental/system_error: Fix include guard.
1243 2015-03-12 Renlin Li <renlin.li@arm.com>
1245 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
1248 2015-03-10 Tim Shen <timshen@google.com>
1251 * include/bits/regex.h (match_results<>::size,
1252 match_results<>::position, match_results<>::str,
1253 match_results<>::operator[], match_results<>::prefix,
1254 match_results<>::suffix, match_results<>::end,
1255 match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
1256 match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
1257 global __unmatched_sub. Add unmatched submatch as part of
1259 * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
1260 regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
1261 * testsuite/28_regex/match_results/out_of_range_submatches.cc:
1264 2015-03-09 Jonathan Wakely <jwakely@redhat.com>
1267 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
1268 for newlib targets. Really fix mixed line-endings this time.
1270 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
1272 * include/std/future (future_error(error_code)): Construct base
1273 class with error_code's message.
1274 * src/c++11/future.cc (future_error::what()): Do not call c_str() on
1277 2015-03-05 Jonathan Wakely <jwakely@redhat.com>
1279 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1281 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
1282 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
1284 2015-03-04 Jonathan Wakely <jwakely@redhat.com>
1287 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1288 incomplete multibyte sequences correctly.
1289 * include/std/codecvt (codecvt_utf8, codecvt_utf16,
1290 codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
1291 * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
1293 (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
1294 Define convenience functions.
1295 (read_utf8_code_point): Return relevant constant to distinguish
1296 incomplete characters from invalid sequences.
1297 (read_utf16_code_point): Likewise. Check for invalid sequences.
1298 (ucs4_in, utf16_in): Use incomplete_mb_character constant.
1299 (utf16_out): Check for invalid sequences.
1300 (utf16_span): Fix condition.
1301 (ucs2_out): Use is_high_surrogate.
1302 (ucs2_in): Use incomplete_mb_character constant and fix condition.
1303 * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
1304 * testsuite/22_locale/conversions/buffer/1.cc: New.
1305 * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
1306 char32_t instead of wchar_t.
1307 * testsuite/22_locale/conversions/string/3.cc: New.
1309 2015-03-03 Iain Sandoe <iain@codesourcery.com>
1312 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
1313 visibility for Darwin.
1314 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
1316 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1318 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
1321 * include/std/scoped_allocator (__inner_type_impl,
1322 scoped_allocator_adaptor): Add defaulted copy assignment and move
1323 assignment operators.
1324 * testsuite/20_util/scoped_allocator/65279.cc: New.
1326 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
1329 * include/std/stdexcept (__sso_string): Don't use non-static member
1332 2015-02-28 Matthias Klose <doko@ubuntu.com>
1335 * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
1337 2015-02-22 Jonathan Wakely <jwakely@redhat.com>
1339 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
1340 * doc/html/manual/status.html: Regenerate.
1342 2015-02-20 Jonathan Wakely <jwakely@redhat.com>
1345 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
1348 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
1350 * doc/html/manual/status.html: Regenerate.
1352 2015-02-19 Jonathan Wakely <jwakely@redhat.com>
1355 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
1356 * include/bits/stl_algo.h (__rotate, rotate): Likewise.
1358 2015-02-19 Hans-Peter Nilsson <hp@axis.com>
1361 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
1362 (test01): Add explanatory comment. Keep only the bd1 sub-test and
1363 split out bd2, bd3, bd4, and bd5 sub-tests into...
1364 * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
1365 testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
1366 testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
1367 testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
1368 New separate files with the old parts.
1370 2015-02-18 Jonathan Wakely <jwakely@redhat.com>
1372 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
1374 (utf16_in): Pass mode argument to write_utf16_code_point.
1375 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
1377 * testsuite/22_locale/codecvt/char16_t.cc: New.
1378 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
1380 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
1381 * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
1383 2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1384 Jonathan Wakely <jwakely@redhat.com>
1386 * testsuite/22_locale/codecvt/char32_t.cc: New.
1388 2015-02-17 Jonathan Wakely <jwakely@redhat.com>
1391 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
1392 empty string gets null-terminated.
1393 * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
1395 2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
1397 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
1398 mixed line-endings introduced in last change.
1400 2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
1402 * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
1403 for __NEWLIB__ macro with a dejagnu set macro.
1404 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1406 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
1409 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
1410 special case for '\n'.
1411 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1413 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
1415 * src/c++11/futex.cc: Do not define for gthr-single.h targets.
1417 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
1420 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
1422 * include/c_std/cstdio (gets): Likewise.
1423 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
1424 with attributes used in darwin headers.
1426 2015-01-29 Jakub Jelinek <jakub@redhat.com>
1428 * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
1429 $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
1430 * configure: Regenerated.
1432 2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
1434 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1435 after vtv_cygmin is set.
1436 * configure: Regenerated.
1438 2015-01-29 Matthias Klose <doko@ubuntu.com>
1440 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1442 * configure: Regenerate.
1444 2015-01-29 Caroline Tice <cmtice@google.com>
1446 Committing VTV Cywin/Ming patch for Patrick Wollgast
1447 * configure: Regenerate.
1448 * libsupc++/Makefile.in: Regenerate.
1449 * src/Makefile.in: Regenerate.
1451 2015-01-29 Jonathan Wakely <jwakely@redhat.com>
1453 * include/bits/atomic_base.h: Use __always_inline__ instead of
1455 * include/bits/atomic_futex.h: Likewise.
1456 * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
1457 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
1458 __packed__ instead of packed.
1459 * include/std/shared_mutex: Use __unused__ instead of unused.
1460 * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
1461 * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
1462 * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
1464 2015-01-28 Caroline Tice <cmtice@google.com>
1466 Committing VTV Cywin/Ming patch for Patrick Wollgast
1467 * acinclude.m4: Define VTV_CYGMIN.
1468 * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
1469 and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
1470 * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
1471 for Cygwin and MinGW.
1472 * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
1473 VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
1474 libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
1476 2015-01-28 Jonathan Wakely <jwakely@redhat.com>
1479 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
1480 * libsupc++/Makefile.in: Regenerate.
1481 * src/c++11/Makefile.in: Regenerate.
1483 2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1485 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
1486 check for unsupported.
1487 (v3_target_compile_as_c): Likewise.
1489 2015-01-28 Richard Biener <rguenther@suse.de>
1492 * libsupc++/eh_alloc.cc (struct allocated_entry): Align
1494 (pool::allocate): Adjust allocation size and alignment to
1496 (pool::free): Adjust pointer offsetting.
1498 2015-01-27 Jonathan Wakely <jwakely@redhat.com>
1501 * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
1502 shared_timed_mutex::try_lock_until): Only define when POSIX thread
1503 timeouts option is supported.
1504 (shared_timed_mutex::try_shared_lock_for,
1505 shared_timed_mutex::try_shared_lock_until): Likewise.
1507 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
1510 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
1511 numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
1512 * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
1513 and use cache's _M_grouping field.
1514 (__numpunct_fill_cache): Likewise.
1515 (__moneypunct_fill_cache): Improve comments.
1517 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
1519 * testsuite/23_containers/set/operations/2.cc: Add test for
1520 non-transparent comparison function.
1522 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
1525 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
1526 Remove SH4A inline asm and lock based implementations and use the
1527 defaults from ext/atomicity.h.
1529 2015-01-23 Jonathan Wakely <jwakely@redhat.com>
1531 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
1532 new std::string constructors for byname facets.
1534 2015-01-22 Richard Biener <rguenther@suse.de>
1537 * libsupc++/eh_alloc.cc: Include new.
1538 (bitmask_type): Remove.
1539 (one_buffer): Likewise.
1540 (emergency_buffer): Likewise.
1541 (emergency_used): Likewise.
1542 (dependents_buffer): Likewise.
1543 (dependents_used): Likewise.
1544 (class pool): New custom fixed-size arena, variable size object
1546 (emergency_pool): New global.
1547 (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
1548 (__cxxabiv1::__cxa_free_exception): Likewise.
1549 (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
1550 (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
1552 2015-01-22 Tim Shen <timshen@google.com>
1555 * include/bits/regex.h (basic_regex<>::basic_regex,
1556 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
1558 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
1560 2015-01-22 Tim Shen <timshen@google.com>
1563 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1564 regex_traits<>::lookup_classname): Correctly narrow input chars.
1565 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
1567 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
1569 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
1571 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
1573 * testsuite/29_atomics/atomic/64658.cc: Test stored value.
1575 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1577 * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
1578 * doc/xml/manual/status_cxx2014.xml: Update status.
1579 * doc/html/manual/status.html: Regenerate.
1581 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1584 * include/experimental/optional (bad_optional_access): Add default
1586 * testsuite/experimental/optional/requirements.cc: Test for default
1589 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1591 * include/bits/stl_map.h (map::find<>, map::count<>,
1592 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
1593 member function templates to perform heterogeneous lookup.
1594 * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
1595 multimap::lower_bound<>, multimap::upper_bound<>,
1596 multimap::equal_range<>): Likewise.
1597 * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
1598 multiset::lower_bound<>, multiset::upper_bound<>,
1599 multiset::equal_range<>): Likewise.
1600 * include/bits/stl_set.h (set::find<>, set::count<>,
1601 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
1602 * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
1603 _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
1604 _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
1605 _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
1606 * testsuite/23_containers/map/operations/2.cc: New.
1607 * testsuite/23_containers/multimap/operations/2.cc: New.
1608 * testsuite/23_containers/multiset/operations/2.cc: New.
1609 * testsuite/23_containers/set/operations/2.cc: New.
1611 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1613 * config/abi/pre/gnu.ver: Export new constructors.
1614 * include/bits/codecvt.h (codecvt_byname): Add string constructor.
1615 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
1616 specializations and declare explicit instantiations.
1617 * include/bits/locale_classes.h (locale, collate_byname): Add string
1619 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
1621 * include/bits/locale_facets_nonio.h (time_get_byname,
1622 time_put_byname, moneypunct_byname, messages_byname): Likewise.
1623 * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
1624 codecvt_byname<char32_t>): Define explicit instantiations.
1625 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
1626 Instantiate string constructors.
1627 (ctype_byname): Define string constructor.
1628 * testsuite/22_locale/codecvt_byname/1.cc: New.
1629 * testsuite/22_locale/collate_byname/1.cc: New.
1630 * testsuite/22_locale/ctype_byname/2.cc: New.
1631 * testsuite/22_locale/messages_byname/1.cc: New.
1632 * testsuite/22_locale/moneypunct_byname/1.cc: New.
1633 * testsuite/22_locale/numpunct_byname/1.cc: New.
1635 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1638 * include/std/atomic (atomic_init): Define.
1639 * testsuite/29_atomics/atomic/64658.cc: New.
1641 2015-01-19 Tim Shen <timshen@google.com>
1644 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1645 regex_traits<>::lookup_classname): Support forward iterators.
1646 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
1647 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
1649 2015-01-19 Tim Shen <timshen@google.com>
1653 * include/bits/regex.h (basic_regex<>::basic_regex,
1654 basic_regex<>::assign, basic_regex<>::imbue,
1655 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
1656 imbuing basic_regex; Make assign() transactional against exception.
1657 * include/bits/regex_compiler.h (__compile_nfa<>): Add back
1658 __compile_nfa SFINAE.
1659 * include/std/regex: Adjust include order to avoid __compile_nfa
1660 forward declaration.
1661 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
1662 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
1664 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
1665 Jonathan Wakely <jwakely@redhat.com>
1667 * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
1668 on overloads for arrays.
1669 (cbegin, cend, rbegin, rend, crbegin, crend): New.
1670 * testsuite/24_iterators/range_access_cpp14.cc: New.
1672 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1675 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
1676 end of the second range.
1677 * testsuite/25_algorithms/is_permutation/64646.cc: New.
1679 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1681 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
1682 * doc/html/manual/status.html: Regenerate.
1684 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1686 * include/bits/atomic_futex.h: Use mutex and condition_variable when
1687 atomic int is not lock-free. Make member variables private.
1688 * src/c++11/futex.cc: Likewise.
1690 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
1692 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1695 * include/bits/atomic_futex.h: Use appropriate config macros for
1696 availability of std::mutex, std::condition and std::chrono.
1698 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
1699 Jonathan Wakely <jwakely@redhat.com>
1701 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
1702 * doc/html/*: Regenerate.
1704 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1708 * include/bits/algorithmfwd.h (rotate): Return an iterator.
1709 * include/bits/stl_algo.h (rotate, __rotate): Likewise.
1710 * testsuite/25_algorithms/rotate/dr488.cc: New.
1711 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
1712 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
1714 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
1717 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1720 * include/bits/atomic_base.h: Remove atomic integral typedefs as
1721 synonyms for __atomic_base<int> etc.
1722 * include/std/atomic: Make atomic_int a synonym for atomic<int> and
1723 likewise for all atomic integral types.
1724 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
1725 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1727 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1730 * include/std/tuple (_Tuple_impl): Remove zero-element specialization
1731 and define one-element specialization.
1732 * testsuite/20_util/tuple/56785.cc: New.
1734 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1736 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
1737 Remove unused header.
1738 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
1740 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1743 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1745 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
1746 * include/std/locale: Include new header.
1747 * include/Makefile.am: Add it.
1748 * include/Makefile.in: Regenerate.
1749 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
1750 * testsuite/22_locale/conversions/string/1.cc: New.
1751 * testsuite/22_locale/conversions/string/2.cc: New.
1752 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
1753 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
1756 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1758 * config/abi/pre/gnu.ver: Export new symbols.
1759 * include/Makefile.am: Add codecvt.
1760 * include/Makefile.in: Regenerate.
1761 * include/std/codecvt: New header.
1762 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
1763 __codecvt_utf8_utf16_base): Define specializations.
1764 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
1765 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
1766 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1769 2015-01-16 Torvald Riegel <triegel@redhat.com>
1771 * src/c++11/futex.cc: New file.
1772 * include/bits/atomic_futex.h: New file.
1773 * include/std/future (__future_base::_State_baseV2): Use
1774 atomic_futex_unsigned instead of mutex+condvar.
1775 * src/c++11/futex.cc: Likewise.
1776 * include/Makefile.am: Add atomic_futex.h.
1777 * include/Makefile.in: Likewise.
1778 * src/c++11/Makefile.am: Add futex.cc.
1779 * src/c++11/Makefile.in: Likewise.
1781 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1783 * acinclude.m4: Fix typo in comment.
1784 * configure: Regenerate.
1785 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
1786 codecvt<char16_t, char, mbstate_t>): Declare specializations.
1787 * include/bits/locale_facets.h: Reserve space for new specializations.
1788 * src/c++11/Makefile.am: Add codecvt.cc.
1789 * src/c++11/Makefile.in: Regenerate.
1790 * src/c++11/codecvt.cc: New.
1791 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
1793 * src/c++98/Makefile.in: Regenerate.
1794 * src/c++98/locale_init.cc: Initialize new codecvt specializations.
1795 * src/c++98/localename.cc: Likewise.
1796 * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
1797 * testsuite/22_locale/codecvt/utf8.cc: New.
1798 * testsuite/22_locale/locale/cons/unicode.cc: Check that new
1799 specializations are installed in locale objects.
1801 2015-01-16 Torvald Riegel <triegel@redhat.com>
1803 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
1806 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
1809 * config/abi/pre/gnu.ver: Export fstream functions using new string.
1811 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
1814 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
1818 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
1820 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1822 * doc/xml/manual/parallel_mode.xml: Update for libgomp being
1823 renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
1824 Multi Processing Runtime Library".
1826 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
1829 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
1830 is_assignable arguments.
1831 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
1834 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
1836 * libsupc++/unwind-cxx.h: Revert previous commit.
1838 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
1840 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
1842 2015-01-09 Tim Shen <timshen@google.com>
1845 * include/bits/regex.h (match_results<>::swap): Use std::swap
1847 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1849 * testsuite/28_regex/match_results/swap.cc: New testcase.
1851 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
1854 * include/std/type_traits (has_trivial_default_constructor,
1855 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
1857 * testsuite/20_util/has_trivial_copy_assign/requirements/
1858 explicit_instantiation.cc: Use -Wno-deprecated.
1859 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1861 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1862 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1863 explicit_instantiation.cc: Likewise.
1864 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1865 typedefs.cc: Likewise.
1866 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1867 * testsuite/20_util/has_trivial_default_constructor/requirements/
1868 explicit_instantiation.c: Likewise.
1869 * testsuite/20_util/has_trivial_default_constructor/requirements/
1870 typedefs.cc: Likewise.
1871 * testsuite/20_util/has_trivial_default_constructor/value.cc:
1873 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
1875 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1876 * testsuite/util/testsuite_common_types.h: Likewise.
1878 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
1880 * include/bits/hashtable_policy.h: Use __bool_constant.
1882 2015-01-07 Jonathan Wakely <jwakely@redhat.com>
1884 * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
1885 * libsupc++/Makefile.in: Regenerate.
1887 2015-01-06 Jonathan Wakely <jwakely@redhat.com>
1889 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
1891 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1893 Update copyright years.
1895 2015-01-04 Jonathan Wakely <jwakely@redhat.com>
1898 * testsuite/18_support/exception_ptr/64241.cc: Use
1899 dg-require-atomic-builtins.
1901 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
1903 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
1906 2015-01-02 Tim Shen <timshen@google.com>
1909 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
1910 iterator, since the original one shouldn't be mutated.
1912 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1915 * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
1916 (string::insert): Likewise.
1917 (string::replace): Likewise.
1918 (wstring::erase): Likewise.
1919 (wstring::insert): Likewise.
1920 (wstring::replace): Likewise.
1921 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
1923 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
1926 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
1928 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
1931 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
1932 Revert removal of dg-require-string-conversions.
1933 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1935 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1937 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1939 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1941 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1943 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1945 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1947 * testsuite/21_strings/basic_string/numeric_conversions/char/
1948 stoull.cc: Likewise.
1949 * testsuite/21_strings/basic_string/numeric_conversions/char/
1950 to_string.cc: Likewise.
1952 Copyright (C) 2015 Free Software Foundation, Inc.
1954 Copying and distribution of this file, with or without modification,
1955 are permitted in any medium without royalty provided the copyright
1956 notice and this notice are preserved.