1 2014-10-15 Paolo Carlini <paolo.carlini@oracle.com>
3 * testsuite/20_util/add_const/requirements/alias_decl.cc: New.
4 * testsuite/20_util/add_cv/requirements/alias_decl.cc: Likewise.
5 * testsuite/20_util/add_pointer/requirements/alias_decl.cc: Likewise.
6 * testsuite/20_util/add_volatile/requirements/alias_decl.cc: Likewise.
7 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
9 * testsuite/20_util/aligned_union/requirements/alias_decl.cc: Likewise.
10 * testsuite/20_util/remove_all_extents/requirements/alias_decl.cc:
12 * testsuite/20_util/remove_const/requirements/alias_decl.cc: Likewise.
13 * testsuite/20_util/remove_cv/requirements/alias_decl.cc: Likewise.
14 * testsuite/20_util/remove_extent/requirements/alias_decl.cc: Likewise.
15 * testsuite/20_util/remove_pointer/requirements/alias_decl.cc:
17 * testsuite/20_util/remove_volatile/requirements/alias_decl.cc:
20 2014-10-15 Paolo Carlini <paolo.carlini@oracle.com>
22 * include/std/limits: Remove stray spaces after backslash.
23 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
25 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
27 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
30 2014-10-14 DJ Delorie <dj@redhat.com>
32 * src/c++11/limits.cc: Add support for __intN types.
33 * include/std/type_traits: Likewise.
34 * include/std/limits: Likewise.
35 * include/c_std/cstdlib: Likewise.
36 * include/bits/cpp_type_traits.h: Likewise.
37 * include/c_global/cstdlib: Likewise.
39 2014-10-14 Jonathan Wakely <jwakely@redhat.com>
41 * testsuite/20_util/align/1.cc: Add dg-require-stdint.
42 * testsuite/20_util/align/2.cc: Likewise.
44 * doc/xml/manual/intro.xml: Update.
45 * doc/xml/manual/status_cxx2011.xml: Update.
46 * doc/html/manual/*: Regenerate.
48 2014-10-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
51 * include/std/iomanip (_Put_time): New struct.
52 (put_time): New manipulator.
53 (operator<<): New overloaded function.
54 * testsuite/27_io/manipulators/extended/put_time/char/1.cc: New.
55 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: New.
56 * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: New.
57 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: New.
59 2014-10-14 Kai Tietz <ktietz@redhat.com>
62 * config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC):
64 * config/os/mingw32-w64/os_defines.h: Likewise.
66 2014-10-14 Paolo Carlini <paolo.carlini@oracle.com>
68 * testsuite/20_util/add_lvalue_reference/requirements/typedefs.cc:
69 Rename to alias_decl.cc.
70 * testsuite/20_util/add_rvalue_reference/requirements/typedefs.cc:
72 * testsuite/20_util/common_type/requirements/typedefs-3.cc: Likewise.
73 * testsuite/20_util/conditional/requirements/typedefs-2.cc: Likewise.
74 * testsuite/20_util/decay/requirements/typedefs-2.cc: Likewise.
75 * testsuite/20_util/enable_if/requirements/typedefs-2.cc: Likewise.
76 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: Likewise.
77 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc:
79 * testsuite/20_util/remove_reference/requirements/typedefs.cc:
81 * testsuite/20_util/result_of/requirements/typedefs.cc: Likewise.
82 * testsuite/20_util/underlying_type/requirements/typedefs-3.cc:
85 2014-10-13 Jonathan Wakely <jwakely@redhat.com>
88 * include/std/memory (align): Do not adjust correctly aligned address.
89 * testsuite/20_util/align/2.cc: New.
91 2014-10-13 Siva Chandra Reddy <sivachandra@google.com>
93 * python/libstdcxx/v6/xmethods.py: Add xmethods for std::array,
94 std::deque, std::forward_list, std::list, std::vector.
95 * testsuite/libstdc++-xmethods/array.cc: New file.
96 * testsuite/libstdc++-xmethods/deque.cc: Likewise.
97 * testsuite/libstdc++-xmethods/forwardlist.cc: Likewise.
98 * testsuite/libstdc++-xmethods/list.cc: Likewise.
99 * testsuite/libstdc++-xmethods/vector.cc: Add tests.
101 2014-10-13 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
103 * include/std/memory (align): Define.
104 * testsuite/20_util/align/1.cc: New.
106 2014-10-13 Marc Glisse <marc.glisse@inria.fr>
110 * include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it
111 isn't done for the sentinel.
112 * include/bits/stl_list.h (_List_base::_M_size): Move...
113 (_List_base::_List_impl::_M_node): ... here.
114 (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
115 _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
116 _List_base::_M_node_count): Adapt to the move.
117 * 23_containers/list/requirements/dr438/assign_neg.cc: Update
119 * 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
120 * 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
121 * 23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
123 2014-10-10 Jonathan Wakely <jwakely@redhat.com>
125 * testsuite/Makefile.in: Regenerate.
127 2014-10-10 Jonathan Wakely <jwakely@redhat.com>
130 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
131 * configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
132 * configure: Regenerate.
133 * include/Makefile.am (stamp-cxx11-abi): New target.
134 (c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
135 * include/Makefile.in: Regenerate.
136 * include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
137 define _GLIBCXX_DEFAULT_ABI_TAG.
138 * include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
140 (list::emplace(const_iterator, const value_type&)): Likewise.
141 (list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
143 * include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
144 (_List_base::_M_size): New data member in cxx11 ABI mode.
145 (_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
147 (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
148 _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
149 _List_base::_M_distance, _List_base::_M_node_count): New functions for
150 accessing list size correctly for the ABI mode.
151 (_List_base::_List_base(_List_base&&)): Copy size and reset source.
152 (_List_base::_M_init()): Initialize size member.
153 (list::size()): Use _List_base::_M_node_count.
154 (list::swap(list&)): Swap sizes.
155 (list::splice(iterator, list&)): Update sizes.
156 (list::splice(iterator, list&, iterator)): Likewise.
157 (list::insert(iterator, const value_type&)): Update size.
158 (list::insert(iterator, _Args&&...)): Likewise.
159 (list::_M_erase(iterator)): Likewise.
160 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
162 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
164 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
166 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
168 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
170 2014-10-09 Jonathan Wakely <jwakely@redhat.com>
172 * doc/xml/manual/status_cxx2011.xml: Update.
173 * doc/html/manual/status.html: Regenerate.
176 * include/std/atomic (atomic): Add assertion for trivially copyable.
177 * testsuite/29_atomics/atomic/60695.cc: Adjust line number.
180 * include/std/functional (__is_location_invariant): Treat all
181 trivially copyable types as location invariant.
183 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
186 * include/std/type_traits (is_trivially_copyable,
187 is_trivially_constructible, is_trivially_default_constructible,
188 is_trivially_copy_constructible, is_trivially_move_constructible,
189 is_trivially_assignable, is_trivially_copy_assignable,
190 is_trivially_move_assignable): New.
191 * testsuite/20_util/is_trivially_assignable/requirements/
192 typedefs.cc: Likewise.
193 * testsuite/20_util/is_trivially_assignable/requirements/
194 explicit_instantiation.cc: Likewise.
195 * testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
196 * testsuite/20_util/is_trivially_constructible/requirements/
197 typedefs.cc: Likewise.
198 * testsuite/20_util/is_trivially_constructible/requirements/
199 explicit_instantiation.cc: Likewise.
200 * testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
201 * testsuite/20_util/is_trivially_copyable/requirements/
202 typedefs.cc: Likewise.
203 * testsuite/20_util/is_trivially_copyable/requirements/
204 explicit_instantiation.cc: Likewise.
205 * testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
206 * testsuite/20_util/is_trivially_copy_assignable/requirements/
207 typedefs.cc: Likewise.
208 * testsuite/20_util/is_trivially_copy_assignable/requirements/
209 explicit_instantiation.cc: Likewise.
210 * testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
211 * testsuite/20_util/is_trivially_copy_constructible/requirements/
212 typedefs.cc: Likewise.
213 * testsuite/20_util/is_trivially_copy_constructible/requirements/
214 explicit_instantiation.cc: Likewise.
215 * testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
216 * testsuite/20_util/is_trivially_default_constructible/requirements/
217 typedefs.cc: Likewise.
218 * testsuite/20_util/is_trivially_default_constructible/requirements/
219 explicit_instantiation.cc: Likewise.
220 * testsuite/20_util/is_trivially_default_constructible/
222 * testsuite/20_util/is_trivially_move_assignable/requirements/
223 typedefs.cc: Likewise.
224 * testsuite/20_util/is_trivially_move_assignable/requirements/
225 explicit_instantiation.cc: Likewise.
226 * testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
227 * testsuite/20_util/is_trivially_move_constructible/requirements/
228 typedefs.cc: Likewise.
229 * testsuite/20_util/is_trivially_move_constructible/requirements/
230 explicit_instantiation.cc: Likewise.
231 * testsuite/20_util/is_trivially_move_constructible/value.cc:
233 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
235 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
237 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
240 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
242 * include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not
243 pass precision when using hexfloat format.
244 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Always
245 output precision if C99 hexfloat conversion specifiers not available.
247 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
249 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
252 2014-10-07 François Dumont <fdumont@gcc.gnu.org>
254 * testsuite/util/testsuite_counter_type.h
255 (counter_type::operator<(const counter_type&)): Update
257 * testsuite/25_algorithms/make_heap/complexity.cc: New.
258 * testsuite/25_algorithms/pop_heap/complexity.cc: New.
259 * testsuite/25_algorithms/push_heap/complexity.cc: New.
260 * testsuite/25_algorithms/sort_heap/complexity.cc: New.
262 2014-10-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
263 Jonathan Wakely <jwakely@redhat.com>
266 * doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
267 * doc/html/manual/status.html: Regenerate.
268 * include/bits/ios_base.h (hexfloat): New function.
269 (defaultfloat): New function.
270 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
271 hexadecimal floating point format.
272 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
275 2014-10-06 Jonathan Wakely <jwakely@redhat.com>
277 * include/Makefile.am: Add new header.
278 * include/Makefile.in: Regenerate.
279 * include/experimental/tuple: New
280 * doc/xml/manual/status_cxx2014.xml: Update.
281 * doc/html/manual/status.html: Regenerate.
282 * testsuite/experimental/feat-lib-fund.cc: Test for new header.
283 * testsuite/experimental/tuple/apply.cc: New.
285 2014-10-05 François Dumont <fdumont@gcc.gnu.org>
288 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
290 * testsuite/23_containers/unordered_set/63456.cc: New.
292 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
295 * doc/xml/manual/containers.xml: Remove outdated section.
296 * doc/html/*: Regenerate.
298 2014-10-02 Jonathan Wakely <jwakely@redhat.com>
300 * include/c_global/ctgmath: Include <complex>.
301 * testsuite/26_numerics/headers/ctgmath/complex.cc: New.
302 * doc/xml/manual/status_cxx2011.xml: Update.
303 * doc/html/manual/status.html: Regenerate.
305 2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
307 * include/bits/stl_function.h: Generic associative lookup feature
309 * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
311 * testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
312 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
313 * testsuite/20_util/duration/literals/range.cc: Adjust.
314 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
315 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
316 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
317 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
318 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
319 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
320 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
323 2014-10-01 François Dumont <fdumont@gcc.gnu.org>
325 * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
326 Adapt to latest modifications on debug iterators.
328 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
330 * include/std/type_traits: Add is_final<> type trait for C++14.
331 * testsuite/util/testsuite_tr1.h: Add
332 * testsuite/20_util/is_final/requirements/
333 explicit_instantiation.cc: New.
334 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
335 * testsuite/20_util/is_final/value.cc: New.
336 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
337 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
338 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
340 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
342 Implement SD-6: SG10 Feature Test Recommendations
343 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
344 * include/bits/stl_algobase.h: Ditto.
345 * include/bits/stl_function.h: Ditto.
346 * include/bits/unique_ptr.h: Ditto.
347 * include/std/chrono: Ditto.
348 * include/std/complex: Ditto.
349 * include/std/iomanip: Ditto.
350 * include/std/shared_mutex: Ditto.
351 * include/std/tuple: Ditto.
352 * include/std/type_traits: Ditto.
353 * include/std/utility: Ditto.
354 * testsuite/experimental/feat-cxx14.cc: New.
355 * testsuite/experimental/feat-lib-fund.cc: New.
356 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
357 * testsuite/20_util/duration/literals/range.cc: Adjust.
358 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
359 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
360 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
361 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
362 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
363 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
364 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
367 2014-09-30 Siva Chandra Reddy <sivachandra@google.com>
369 * python/hook.in: Only import libstdcxx.v6.
370 * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
372 2014-09-30 Jonathan Wakely <jwakely@redhat.com>
374 * doc/xml/manual/status_cxx2011.xml: Update.
375 * doc/html/manual/status.html: Regenerate.
377 2014-09-30 Andreas Schwab <schwab@linux-m68k.org>
379 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
382 * configure.host (abi_baseline_pair): If try_cpu is generic use
383 host_cpu for the default.
385 2014-09-29 François Dumont <fdumont@gcc.gnu.org>
388 * include/debug/safe_base.h
389 (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
390 (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
391 * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
392 before _Safe_iterator_base in memory. Lock before modifying the iterator
394 * include/debug/safe_local_iterator.h
395 (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
397 (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
399 * include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move
400 normal iterator before _Safe_iterator_base in memory. Lock before
401 modifying the iterator in numerous places.
402 * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
403 * include/debug/safe_sequence.tcc
404 (_Safe_sequence<>::_M_transfer_from_if): Adapt.
406 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
409 * doc/xml/manual/status_cxx2011.xml: Update.
410 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
412 (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
413 * include/bits/stl_vector.h (vector::_M_fill_initialize,
414 vector::_M_default_initialize): Use returned iterator.
415 * include/bits/vector.tcc (vector::_M_fill_assign,
416 vector::_M_fill_insert, vector::_M_default_append): Likewise.
417 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
418 16505.cc: Adjust return type.
419 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
422 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
424 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
426 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
428 * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
429 * testsuite/27_io/basic_ios/conv/bool.cc: New.
430 * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
432 * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
434 2014-09-25 Tim Shen <timshen@google.com>
437 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
438 basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
439 _M_loc for basic_regex.
440 * include/bits/regex_automaton.h: Add _M_traits for _NFA.
441 * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
442 Make _Compiler::_M_nfa heap allocated.
443 * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
444 _Compiler::_M_nfa heap allocated.
445 * include/bits/regex_executor.h (_Executor::_M_is_word):
446 Fix accessing _M_traits.
447 * include/bits/regex_executor.tcc (_Executor::_M_dfs):
448 Fix accessing _M_traits.
449 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
452 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
454 * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
455 new GLIBCXX_3.4.21 symbols don't match them.
458 * config/abi/pre/gnu.ver: Add new exports.
459 * include/bits/basic_ios.h (basic_ios::operator bool): Define.
460 * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
462 2014-09-24 François Dumont <fdumont@gcc.gnu.org>
465 * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
466 (_Rb_tree_alloc_node<>): New.
467 (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
468 (_Rb_tree<>::_M_assign_unique): New.
469 (_Rb_tree<>::_M_assign_equal): New.
470 (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
471 * include/bits/stl_map.h
472 (std::map<>::operator=(std::map<>&&)): Default implementation.
473 (std::map<>::operator=(initializer_list<>)): Adapt to use
474 _Rb_tree::_M_assign_unique.
475 * include/bits/stl_multimap.h
476 (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
477 (std::multimap<>::operator=(initializer_list<>)): Adapt to use
478 _Rb_tree::_M_assign_equal.
479 * include/bits/stl_set.h
480 (std::set<>::operator=(std::set<>&&)): Default implementation.
481 (std::set<>::operator=(initializer_list<>)): Adapt to use
482 _Rb_tree::_M_assign_unique.
483 * include/bits/stl_multiset.h
484 (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
485 (std::multiset<>::operator=(initializer_list<>)): Adapt to use
486 _Rb_tree::_M_assign_equal.
487 * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
488 * testsuite/23_containers/map/allocator/init-list.cc: New.
489 * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
490 * testsuite/23_containers/multimap/allocator/copy_assign.cc
492 * testsuite/23_containers/multimap/allocator/init-list.cc: New.
493 * testsuite/23_containers/multimap/allocator/move_assign.cc
495 * testsuite/23_containers/multiset/allocator/copy_assign.cc
497 * testsuite/23_containers/multiset/allocator/init-list.cc: New.
498 * testsuite/23_containers/multiset/allocator/move_assign.cc
500 * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
501 * testsuite/23_containers/set/allocator/init-list.cc: New.
502 * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
504 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
507 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
509 2014-09-23 Jonathan Wakely <jwakely@redhat.com>
511 * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
512 * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
513 to ostream constructor.
514 * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
515 parameter by reference, to avoid ambiguity.
516 * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
518 2014-09-22 Jason Merrill <jason@redhat.com>
520 * testsuite/Makefile.am (%/site.exp): Add @.
521 (check-DEJAGNU): Likewise.
522 * testsuite/Makefile.in: Regenerate.
524 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
526 * include/bits/stl_queue.h: Include missing header.
527 * include/bits/stl_stack.h: Likewise.
528 * testsuite/23_containers/priority_queue/requirements/
529 uses_allocator.cc: New.
530 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
531 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
533 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
535 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
536 * doc/xml/manual/status_cxx2014.xml: Update TS status.
537 * doc/html/manual/status.html: Regenerate.
539 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
541 * include/std/mutex (try_lock): Do not swallow exceptions.
542 * testsuite/30_threads/try_lock/4.cc: Fix test.
544 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
548 * config/abi/pre/gnu.ver: Add new exports.
549 * config/io/basic_file_stdio.h (__basic_file): Support moving and
551 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
553 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
555 * include/bits/fstream.tcc (basic_filebuf): Likewise.
556 * include/bits/move.h (__exchange): Define for C++11 mode.
557 * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
559 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
560 * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
561 basic_fstream): Likewise.
562 * include/std/ios: Remove whitespace.
563 * include/std/istream (basic_istream, basic_iostream): Support moving
565 * include/std/ostream (basic_ostream): Likewise.
566 * include/std/sstream (basic_stringbuf, basic_istringstream,
567 basic_ostringstream, basic_stringstream): Likewise.
568 * include/std/streambuf (basic_streambuf): Do not default copy
569 constructor and assignment on first declaration.
570 * include/std/utility (exchange): Forward to __exchange.
571 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
572 * src/c++11/Makefile.am: Add stream-related files.
573 * src/c++11/Makefile.in: Regenerate.
574 * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
575 New file for explicit instantiation definitions.
576 * src/c++11/ios.cc: Move from src/c++98 to here.
577 (ios_base::_M_move, ios_base::_M_swap): Define.
578 * src/c++11/ios-inst.cc: Move from src/c++98 to here.
579 * src/c++11/iostream-inst.cc: Likewise.
580 * src/c++11/istream-inst.cc: Likewise.
581 * src/c++11/ostream-inst.cc: Likewise.
582 * src/c++11/sstream-inst.cc: Likewise.
583 * src/c++11/streambuf-inst.cc: Likewise.
584 * src/c++98/Makefile.am: Remove stream-related files.
585 * src/c++98/Makefile.in: Regenerate.
586 * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
588 * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
589 * src/c++98/ios-inst.cc: Move to src/c++11/.
590 * src/c++98/ios.cc: Move to src/c++11/.
591 * src/c++98/iostream-inst.cc: Likewise.
592 * src/c++98/istream-inst.cc: Likewise.
593 * src/c++98/ostream-inst.cc: Likewise.
594 * src/c++98/sstream-inst.cc: Likewise.
595 * src/c++98/streambuf-inst.cc: Likewise.
596 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
597 * testsuite/27_io/basic_fstream/cons/move.cc: New.
598 * testsuite/27_io/basic_fstream/assign/1.cc: New.
599 * testsuite/27_io/basic_ifstream/cons/move.cc: New.
600 * testsuite/27_io/basic_ifstream/assign/1.cc: New.
601 * testsuite/27_io/basic_istringstream/assign/1.cc: New.
602 * testsuite/27_io/basic_istringstream/cons/move.cc: New.
603 * testsuite/27_io/basic_ofstream/cons/move.cc: New.
604 * testsuite/27_io/basic_ofstream/assign/1.cc: New.
605 * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
606 * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
607 * testsuite/27_io/basic_stringstream/assign/1.cc: New.
608 * testsuite/27_io/basic_stringstream/cons/move.cc: New.
610 2014-09-17 Jason Merrill <jason@redhat.com>
612 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
613 dynamic_cast more gracefully.
615 2014-09-15 Jakub Jelinek <jakub@redhat.com>
617 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
618 check_p_numbers2, check_p_numbers3, check_p_numbers4,
619 check_p_numbers5, check_p_numbers6, check_p_numbers,
620 check_p_subdirs): New variables.
621 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
622 (check-DEJAGNU): Rewritten so that for parallelized
623 testing each job runs all the *.exp files, with
624 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
625 * testsuite/Makefile.in: Regenerated.
626 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
627 gcc_parallel_test_enable): New procedures. If
628 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
629 runtest_file_p to invoke also gcc_parallel_test_run_p.
630 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
631 by the first parallel runtest encountering it. Fix up path
632 of the extract_symvers script.
633 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
634 serially by the first parallel runtest encountering it. Run
635 dg-finish even in case of error.
637 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
639 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
640 parameters to _Ch_traits.
642 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
644 * include/debug/deque (__gnu_debug::deque): Make base class C++11
647 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
650 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
651 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
653 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
656 * include/bits/regex.h (match_results::format): Remove stray template
658 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
659 Remove parameter name to avoid -Wunused-parameter warning.
660 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
661 mem-initializers to avoid -Wreorder warning.
662 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
663 Remove parameter name to avoid -Wunused-parameter warning.
664 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
665 to avoid -Wempty-body warning when not in debug mode.
667 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
669 * python/hook.in: Load the xmethods.
670 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
671 * python/Makefile.in: Regenerated.
672 * python/libstdcxx/v6/xmethods.py: New file.
673 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
675 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
676 python script if LOAD_XMETHODS is true.
677 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
678 * testsuite/libstdc++-xmethods/vector.cc: New file.
679 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
681 2014-09-10 Tony Wang <tony.wang@arm.com>
684 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
685 Return with CONTINUE_UNWINDING when the state pattern
686 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
688 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
690 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
691 allocator propagation.
692 (deque::emplace_front, deque::emplace_back): Use allocator traits.
693 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
694 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
695 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
696 (_Deque_iterator): Handle allocators with custom pointers.
697 (_Deque_base): Likewise. Use allocator traits.
698 (deque): Likewise. Add allocator-extended constructors.
699 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
700 assignment via tag dispatching.
701 (deque::_M_replace_map): Replace existing data.
702 * include/debug/deque (deque): Add allocator-extended constructors.
703 * include/profile/deque (deque): Likewise.
704 * testsuite/23_containers/deque/allocator/copy.cc: New.
705 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
706 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
707 * testsuite/23_containers/deque/allocator/minimal.cc: New.
708 * testsuite/23_containers/deque/allocator/move.cc: New.
709 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
710 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
711 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
712 * testsuite/23_containers/deque/allocator/swap.cc: New.
713 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
714 Adjust dg-error line number.
715 * testsuite/23_containers/deque/requirements/dr438/
716 constructor_1_neg.cc: Likewise.
717 * testsuite/23_containers/deque/requirements/dr438/
718 constructor_2_neg.cc: Likewise.
719 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
721 * testsuite/23_containers/vector/52591.cc: Test both the propagating
722 and always-equal cases.
724 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
726 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
728 (_Hash_code_base<>): All specialization default constructible if
730 (_Hashtable_base<>): Likewise.
731 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
732 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
733 implementation defaulted.
734 (unordered_multimap<>::unordered_multimap()): Likewise.
735 * include/bits/unordered_set.h
736 (unordered_set<>::unordered_set()): Likewise.
737 (unordered_multiset<>::unordered_multiset()): Likewise.
738 * include/debug/unordered_map: Likewise.
739 * include/debug/unordered_set: Likewise.
740 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
742 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
744 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
746 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
749 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
751 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
753 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
755 * include/std/complex (complex): Define copy constructor and
756 assignment operator as defaulted. Improve Doxygen comments.
758 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
760 * testsuite/ext/random/*: Fix incorrect standard references in
763 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
766 * include/Makefile.am (install-freestanding-headers): Add missing
768 * include/Makefile.in: Regenerate.
770 2014-08-21 Tony Wang <tony.wang@arm.com>
772 * testsuite/18_support/nested_exception/62154.cc: Disable when the
773 target doesn't provide atomic builtins.
775 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
776 Kai Tietz <ktietz@redhat.com>
778 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
780 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
782 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
783 #include <windows.h>.
784 (struct elt): Add dll member.
785 (run): Decrement dll refcount.
786 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
788 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
791 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
792 Rewrite to conform to C++11 requirements.
793 * testsuite/18_support/nested_exception/62154.cc: New.
795 2014-08-14 Matthias Klose <doko@ubuntu.com>
797 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
798 Remove empty directory.
800 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
802 * testsuite/26_numerics/random/linear_congruential_engine/
803 requirements/non_uint_neg.cc: Adjust for parser change.
804 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
805 requirements/non_uint_neg.cc: Likewise.
807 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
810 * include/std/thread (thread::_M_start_thread): Declare new overload.
811 (thread::thread<_Callable, _Args...>): Call new overload with an
812 explicit reference to pthread_create.
813 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
814 * config/abi/pre/gnu.ver: Export new function.
816 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
818 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
820 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
822 * Fix thinko in the last commit.
824 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
827 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
828 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
830 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
832 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
833 and add overloads for rvalue streams.
834 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
836 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
839 * include/bits/basic_string.h (getline): Declare inline.
841 2014-08-09 Ulrich Drepper <drepper@gmail.com>
843 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
844 (uniform_on_sphere_distribution::operator()): Use the new helper
845 class for the implementation.
847 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
848 equal.cc: Remove bogus part of comment.
849 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
850 inequal.cc: Likewise.
851 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
852 serialize.cc: Add check to verify result of serialzation and
854 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
855 generate.cc: New file.
857 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
859 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
860 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
862 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
865 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
866 _M_need_rehash to initialize the rehash policy and check if a rehash is
868 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
870 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
872 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
874 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
875 Adjust dg-error line number.
876 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
878 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
880 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
883 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
885 (_State_baseV2::_M_do_set): Change parameters to pointers.
886 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
887 (_State_baseV2::__setter): Initialize _Setter with pointers.
888 (_State_baseV2::__setter(promise<void>*)): Remove overload.
889 (promise::set_value, promise::set_exception): Pass setter directly
891 (_State_baseV2::_Task_setter): Add template parameter for callable
892 type and replace std::function member with pointer to that type.
893 Change _M_result member from reference to pointer.
894 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
895 and initialize _Task_setter with pointers.
896 (__location_invariant): Specialize for _Setter and _Task_setter.
898 * include/std/future (__location_invariant): Move specializations
899 after preprocessor condition.
901 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
904 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
906 2014-08-01 Zifei Tong <zifeitong@gmail.com>
908 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
909 _GLIBCXX_ prefix to macro.
911 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
913 * python/libstdcxx/v6/printers.py
914 (SingleObjContainerPrinter._contained): Use compatibility mixin.
916 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
918 * testsuite/util/testsuite_allocator.h
919 (tracker_allocator_counter::allocate): Remove new invocation, only
921 (tracker_allocator_counter::deallocate): Remove delete invocation, only
923 (check_inconsistent_alloc_value_type): New.
924 (tracker_allocator): Transform as a facade for any allocator type.
925 (uneq_allocator): Likewise.
926 (propagating_allocator): Likewise.
927 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
928 explicitly non propagating allocator.
929 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
930 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
931 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
932 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
933 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
935 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
937 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
939 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
941 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
943 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
946 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
947 const allocator_type&)): Pass non-const allocator to
949 * testsuite/ext/rope/61946.cc: New.
952 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
953 disambiguate unary constructors.
954 (_Tuple_impl): Pass allocator_arg_t arguments.
955 * testsuite/20_util/tuple/61947.cc: New.
956 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
958 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
960 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
961 * include/bits/random.h (_Adaptor): static_assert for non floating-point
963 * include/bits/random.tcc (generate_canonical): Ditto.
964 * include/ext/random.tcc (hypergeometric_distribution::operator()):
965 Use double as a rng result type.
966 * testsuite/26_numerics/random/pr60037-neg.cc: New.
967 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
969 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
971 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
973 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
975 * include/experimental/string_view: Make the literal operators
976 constexpr like the ctors they call.
978 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
980 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
982 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
984 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
985 to string instead of using gdb.Type.name attribute.
987 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
989 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
992 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
995 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
997 (SingleObjContainerPrinter): Check if type printers are in use.
999 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
1001 * include/ext/random: Minor formatting and cosmetic tweaks.
1002 (uniform_on_sphere_distribution<>::operator==
1003 (const uniform_on_sphere_distribution&,
1004 const uniform_on_sphere_distribution&)): Compare the _M_nds.
1005 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
1006 (operator!=(const uniform_on_sphere_distribution&,
1007 const uniform_on_sphere_distribution&)): Adjust.
1008 * include/ext/random.tcc: Minor cosmetc tweaks.
1010 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
1012 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
1013 printer for class templates.
1014 (register_type_printers): Use TemplateTypePrinter for containers
1015 and other class templates with default template arguments.
1016 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
1018 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
1019 base class for experimental::any and experimental::optional printers.
1020 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
1021 New printers for Fundamentals TS types.
1022 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
1024 2014-07-15 Tim Shen <timshen@google.com>
1027 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
1028 Clear match queue for next use.
1029 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
1031 2014-07-14 Ulrich Drepper <drepper@gmail.com>
1033 * include/ext/random.tcc: Unfortunately more fixes for
1034 operator>> and operator<< for uniform_on_sphere_distribution.
1036 2014-07-13 Ulrich Drepper <drepper@gmail.com>
1038 * include/ext/random.tcc: Fix operator>> and operator<< for
1039 uniform_on_sphere_distribution.
1041 2014-07-12 Ulrich Drepper <drepper@gmail.com>
1043 * include/ext/random: Add uniform_on_sphere_distribution definition.
1044 * include/ext/random.tcc: Add out-of-band member function definitions
1045 for uniform_on_sphere_distribution.
1046 * testsuite/ext/random/uniform_on_sphere_distribution/
1047 cons/default.cc: New file.
1048 * testsuite/ext/random/uniform_on_sphere_distribution/
1049 operators/equal.cc: New file.
1050 * testsuite/ext/random/uniform_on_sphere_distribution/
1051 operators/inequal.cc: New file.
1052 * testsuite/ext/random/uniform_on_sphere_distribution/
1053 operators/serialize.cc: New file.
1055 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
1057 Add the logistic_distribution as an extension.
1058 * include/ext/random: Add the logistic_distribution.
1059 * include/ext/random.tcc: Add the logistic_distribution.
1060 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
1061 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
1062 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
1064 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
1065 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
1066 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
1069 2014-07-11 Samuel Bronson <naesten@gmail.com>
1071 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
1072 instead of insisting that GCC understand -fdiagnostics-color=never
1074 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
1077 2014-07-11 Samuel Bronson <naesten@gmail.com>
1078 Matthias Klose <doko@ubuntu.com>
1081 * python/libstdcxx/v6/printers.py: Port to Python 2+3
1082 (imap): New compat function.
1084 (Iterator): New mixin to allow writing iterators in Python 3 style
1085 regardless of which version we're running on.
1086 [Python3] (long) New compat alias for "int".
1087 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
1089 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
1091 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
1092 tuple members to simplify pretty printing.
1093 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
1095 * testsuite/experimental/any/cons/4.cc: New.
1097 2014-07-09 Jason Merrill <jason@redhat.com>
1100 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
1101 * libsupc++/tinfo.h: Not here.
1103 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
1105 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
1107 * include/experimental/any: Remove unused header.
1108 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
1109 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1110 * testsuite/util/testsuite_regex.h: Move include guard.
1112 2014-07-01 Tim Shen <timshen@google.com>
1116 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
1117 a NFA state limit. If it's exceeded, regex_constants::error_space
1119 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
1120 map (which is sparse) instead of vector. This reduce n times clones'
1121 cost from O(n^2) to O(n).
1122 * include/std/regex: Add map dependency.
1123 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
1126 2014-07-01 Tim Shen <timshen@google.com>
1129 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
1130 not just regex containing back-references.
1131 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
1132 exchange _M_next and _M_alt for alternative operator,
1133 making matching from left to right.
1134 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
1135 Add position tracking fom DFS.
1136 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
1137 _Executor<>::_M_dfs): Likewise.
1138 * include/bits/regex_scanner.h: Remove unused enum entry.
1139 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
1142 2014-06-30 Jason Merrill <jason@redhat.com>
1144 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
1145 is pure, not inline.
1147 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
1150 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
1151 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1154 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1156 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1158 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1160 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
1162 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
1165 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
1167 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
1168 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
1169 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
1171 * include/ext/alloc_traits.h: Fix comment.
1173 * include/Makefile.am: Add new header.
1174 * include/Makefile.in: Regenerate.
1175 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
1176 New RAII utilities for working with allocators.
1177 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
1178 __allocator_type typedef and use new __allocated_ptr type.
1179 (_Sp_counted_ptr_inplace): Likewise.
1180 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
1181 __allocate_guarded to to simplify exception handling.
1182 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
1183 * include/std/future (_Result_alloc::_M_destroy): Likewise.
1184 (_Result_alloc::_S_allocate_result): Likewise.
1185 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
1186 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1187 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
1188 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
1190 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1192 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
1194 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
1195 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1197 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
1199 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
1200 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
1201 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
1202 Remove unused typedef.
1203 (time_get::do_get_monthname): Likewise.
1204 * include/bits/stl_tree.h: Add system_header pragma.
1205 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
1206 redundant const-qualifier.
1207 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
1208 instead of _GLIBCXX_USE_CONSTEXPR.
1210 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
1212 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
1213 * include/std/chrono (_Checked_integral_constant): Allow zero.
1214 * testsuite/20_util/duration/literals/values.cc: Test non-positive
1215 values and digit separators.
1216 * include/experimental/any
1219 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
1220 apply the signed specifier to wchar_t.
1221 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1222 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
1223 cv-qualifier and size.
1224 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1227 * include/experimental/any (any_v1): Rename namespace to
1228 fundamentals_v1. Change string returned by bad_any_cast::what().
1229 * include/experimental/optional (fundamentals_v1): Add namespace.
1230 * include/experimental/string_view (fundamentals_v1): Likewise.
1231 * testsuite/experimental/any/typedefs.cc: New.
1232 * testsuite/experimental/optional/typedefs.cc: New.
1233 * testsuite/experimental/string_view/typedefs.cc: New.
1235 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
1236 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1239 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1241 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
1243 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
1244 * include/Makefile.am: Add new header.
1245 * include/Makefile.in: Regenerate.
1246 * include/experimental/any: New.
1247 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
1249 * testsuite/experimental/any/assign/1.cc: New.
1250 * testsuite/experimental/any/assign/2.cc: New.
1251 * testsuite/experimental/any/cons/1.cc: New.
1252 * testsuite/experimental/any/cons/2.cc: New.
1253 * testsuite/experimental/any/cons/3.cc: New.
1254 * testsuite/experimental/any/misc/any_cast.cc: New.
1255 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
1256 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
1257 * testsuite/experimental/any/misc/swap.cc: New.
1258 * testsuite/experimental/any/modifiers/1.cc: New.
1259 * testsuite/experimental/any/observers/type.cc: New.
1261 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
1262 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
1264 * include/bits/shared_ptr.h (shared_ptr): Likewise.
1265 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1267 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1269 * include/parallel/list_partition.h (__parallel::list_partition):
1271 * include/std/iomanip (quoted): Likewise.
1272 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
1274 * doc/xml/api.xml: Link to more recent API docs.
1275 * include/bits/allocator.h: Fix link in doxygen comment.
1276 * include/bits/char_traits.h: Likewise.
1277 * include/bits/ios_base.h: Likewise.
1278 * include/bits/stl_map.h: Likewise.
1279 * include/bits/stl_multimap.h: Likewise.
1280 * include/bits/stl_multiset.h: Likewise.
1281 * include/bits/stl_set.h: Likewise.
1282 * include/bits/unordered_map.h: Likewise.
1283 * include/bits/unordered_set.h: Likewise.
1284 * include/ext/mt_allocator.h: Likewise.
1285 * include/std/fstream: Likewise.
1286 * include/std/iosfwd: Likewise.
1287 * include/std/ostream: Likewise.
1288 * include/std/sstream: Likewise.
1289 * include/std/streambuf: Likewise.
1290 * doc/html/*: Regenerate.
1292 * include/experimental/any (any_cast): Combine duplicate doxygen
1294 * include/experimental/string_view (basic_string_view): Update
1296 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
1297 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
1298 (dynamic_bitset): Improve Doxygen comments.
1299 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
1302 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
1304 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1305 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1307 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
1310 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
1311 (bin_search_tree_traits): Do not redeclare template-parameters.
1312 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
1314 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1316 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
1317 parameter for DocBook HTML generation.
1318 * doc/Makefile.in: Regenerate.
1319 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
1320 * doc/xml/faq.xml: Update content and improve formatting.
1321 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
1322 * doc/xml/manual/allocator.xml: Add stable ID attribute.
1323 * doc/xml/manual/bitmap_allocator.xml: Likewise.
1324 * doc/xml/manual/build_hacking.xml: Likewise.
1325 * doc/xml/manual/codecvt.xml: Change URL.
1326 * doc/xml/manual/ctype.xml: Add stable ID attribute.
1327 * doc/xml/manual/debug_mode.xml: Likewise.
1328 * doc/xml/manual/documentation_hacking.xml: Likewise.
1329 * doc/xml/manual/evolution.xml: Likewise.
1330 * doc/xml/manual/extensions.xml: Likewise.
1331 * doc/xml/manual/locale.xml: Likewise.
1332 * doc/xml/manual/messages.xml: Make section id consistent, improve
1334 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
1335 * doc/xml/manual/profile_mode.xml: Likewise.
1336 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
1337 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
1338 * doc/xml/manual/status_cxx2011.xml: Likewise.
1339 * doc/xml/manual/status_cxx2014.xml: Likewise.
1340 * doc/xml/manual/status_cxxtr1.xml: Likewise.
1341 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1342 * doc/xml/manual/using.xml: Likewise.
1343 * doc/html/*: Regenerate.
1345 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1347 * include/tr1/beta_function.tcc: Fix spelling of include guard in
1350 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1352 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1354 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
1356 DR 2344 - std::quoted doesn't respect padding
1357 * include/std/iomanip: Allow for padding in quoted inserters.
1358 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
1359 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
1361 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
1363 * testsuite/23_containers/map/operators/1.cc: Simplify test.
1365 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
1367 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1369 * doc/xml/manual/backwards_compatibility.xml
1370 (backwards.second.stringstreams): Likewise.
1371 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
1373 * doc/xml/manual/containers.xml (associative.bitset.type_string):
1374 Replace <quote> in code example.
1375 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
1376 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
1377 fix typos, improve markup.
1378 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
1379 <emphasis> with <replaceable>.
1380 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
1381 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
1382 and remove newlines in string literal.
1384 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1388 * testsuite/20_util/is_assignable/value.cc: Update.
1390 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
1392 * include/std/condition_variable (condition_variable_any::_Unlock): Do
1393 not swallow __forced_unwind.
1394 * include/std/future (__future_base::_Task_setter): Likewise.
1395 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1396 promise and rethrow.
1397 * include/std/mutex (try_lock): Likewise.
1398 * testsuite/30_threads/async/forced_unwind.cc: New.
1399 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1401 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1402 members to avoid wasted space when not using a cache.
1403 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1404 * include/bits/regex_compiler.tcc
1405 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1407 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1408 New enumeration type to indicate match mode.
1409 (__detail::_Executor::_State_info): New type holding members only
1410 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1412 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1413 Replace template parameter with run-time function parameter.
1414 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1415 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1416 implement DFS and BFS mode.
1417 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1418 Split implementation into ...
1419 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1420 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1421 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1422 argument instead of template argument.
1423 (__detail::_Executor::_M_dfs): Likewise.
1424 * include/bits/regex_scanner.tcc: Fix typos in comments.
1425 * testsuite/performance/28_regex/range.cc: New.
1427 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1428 Jonathan Wakely <jwakely@redhat.com>
1430 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1432 (aligned_union): New struct (C++11).
1433 (aligned_union_t): New type alias (C++14).
1434 * doc/xml/manual/status_cxx2011.xml: Update.
1435 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1436 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1439 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
1442 * include/experimental/string_view (operator basic_string): Correct
1444 (to_string): Replace with member function.
1445 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1446 allow _M_str to be null.
1447 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1448 default constructor semantics.
1449 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1450 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1451 copyright dates. Remove unused header.
1452 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1454 * testsuite/experimental/string_view/operations/data/char/1.cc:
1455 Fix copyright dates. Adjust to new default constructor semantics.
1456 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1458 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1460 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1461 (__uses_allocator_arg): Remove unused type.
1462 (__uses_alloc0): Turn into a trivial type.
1463 (__uses_alloc): Add missing template parameter in primary template.
1464 (__uses_alloc_impl): Rename to __uses_alloc_t.
1466 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
1468 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1469 work with previous versions of Tcl.
1471 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1472 Benjamin's old email address.
1474 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1475 Paolo's address too.
1477 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
1479 * include/tr2/bool_set: Use UTF-8 for accented characters.
1480 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1481 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1482 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1484 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
1487 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1489 (_State_base::_M_dot): Likewise.
1491 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
1493 * include/profile/map.h: Fix typo in comment; minor formatting fix.
1494 * include/profile/multimap.h: Likewise.
1495 * include/profile/set.h: Likewise.
1496 * include/profile/multiset.h: Likewise.
1498 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
1500 * include/profile/array: Clean useless white chars.
1501 * include/profile/base.h: Likewise.
1502 * include/profile/iterator_tracker.h: Likewise.
1503 * include/profile/bitset: Code cleanup and remove not instrumented code.
1504 * include/profile/deque: Likewise.
1505 * include/profile/forward_list: Likewise.
1506 * include/profile/list (std::__profile::_List_profile<>): New.
1507 (std::__profile::list<>): Inherit from latter and adapt.
1508 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1509 advise to match any ordered to unordered container conversion.
1510 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1512 * include/Makefile.am: Add latter.
1513 * include/Makefile.in: Regenerate.
1514 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1515 remove not instrumented code.
1516 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1517 * include/profile/set.h (std::__profile::set<>): Likewise.
1518 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1519 * include/profile/unordered_base.h: Add some line feed.
1520 * include/profile/unordered_map: Clean useless white chars and replace
1522 * include/profile/unordered_set: Likewise.
1523 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1524 (std::__profile::_Vector_profile_post<>): New.
1525 (std::__profile::vector<>): Inherit from latter and adapt.
1527 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
1530 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1531 dragonfly target selector to all tests that run on freebsd.
1533 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1535 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1536 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1538 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1540 * testsuite/30_threads/call_once/60497.cc: Likewise.
1541 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1542 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1543 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1544 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1545 * testsuite/30_threads/promise/60966.cc: Likewise.
1546 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1547 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1548 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1549 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1550 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1551 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1552 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1553 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1554 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1555 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1556 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1557 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1558 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1559 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1560 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1561 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1562 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1564 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
1567 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1569 * testsuite/23_containers/unordered_set/61143.cc: New.
1570 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1572 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
1575 * include/std/type_traits: Move include outside namespace std.
1576 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1577 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1578 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1581 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1584 2014-05-21 John Marino <gnugcc@marino.st>
1586 * acinclude.m4 (*-*-dragonfly*): New target.
1587 * configure: Regenerate.
1588 * configure.host (*-*-dragonfly*): New target.
1589 * config/locale/dragonfly/c_locale.cc: New.
1590 * config/locale/dragonfly/ctype_members.cc: New.
1591 * config/os/bsd/dragonfly/ctype_base.h: New.
1592 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1593 * config/os/bsd/dragonfly/ctype_inline.h: New.
1594 * config/os/bsd/dragonfly/os_defines.h: New.
1596 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
1598 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1599 libstdc++.exp imports those flags via getenv.
1600 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1601 CXXFLAGS contains a '-O' flag.
1603 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1607 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1610 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1611 and add unwind directives.
1613 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1615 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1617 2014-05-20 Tim Shen <timshen91@gmail.com>
1620 * include/bits/regex_compiler.h
1621 (_BracketMatcher<>::_M_add_character_class): Add negative character
1623 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1625 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1628 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1630 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1632 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1634 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1635 * libsupc++/new_opnt.cc: Likewise.
1637 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1640 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1641 Pass lock into _M_do_set and hold it until the function returns.
1642 Signal condition variable after call_once completes.
1643 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1645 * testsuite/30_threads/promise/60966.cc: New.
1647 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1648 Sandra Loosemore <sandra@codesourcery.com>
1650 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1651 until after checking that the test is eligible to be run.
1653 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1655 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1656 test for 32-bit target.
1657 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1659 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1662 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1665 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1666 and add unwind directives.
1668 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1670 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1672 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1674 (chrono_literals::_Checked_integral_constant): Define.
1675 Simplify UDL operator templates and check for overflow.
1676 * testsuite/20_util/duration/literals/range.cc: New.
1678 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1679 Jonathan Wakely <jwakely@redhat.com>
1682 * include/bits/parse_numbers.h: Use integral_constant to remove
1683 duplication and simplify.
1684 * testsuite/20_util/duration/literals/61166.cc: New.
1686 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1689 * include/std/type_traits (__make_unsigned, __make_signed): Define
1690 specializations for wchar_t, char16_t and char32_t.
1691 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1692 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1693 test for make_unsigned<volatile wchar_t>.
1694 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1696 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1698 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1700 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1703 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1705 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1706 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1707 * include/std/utility (tuple_size, tuple_element): Likewise.
1708 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1709 Adjust dg-error line number.
1711 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1713 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1714 (__tuple_element_t): Define.
1715 (tuple_element): Use __tuple_element_t.
1716 (__cv_tuple_size): Define.
1717 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1718 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1719 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1720 (__tuple_compare): Remove size check, re-order parameters.
1721 (operator==, operator<): Use static_assert to check requirements.
1722 * include/std/functional (__volget): use __tuple_element_t.
1723 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1724 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1726 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1729 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1730 prevent ADL. Cast comparison results to bool.
1731 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1732 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1735 * include/debug/array (get): Qualify call to other get overload.
1736 * include/profile/array (get): Likewise.
1737 * include/std/array (get): Likewise.
1738 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1739 * include/std/mutex (unique_lock, call_once): Use __addressof.
1740 (__unlock_impl): Remove unused template.
1741 (__try_to_lock): Declare inline.
1742 (__try_lock_impl::__do_try_lock): Qualify function calls.
1743 (lock): Avoid narrowing conversion.
1744 * testsuite/20_util/bind/60497.cc: New.
1745 * testsuite/23_containers/array/element_access/60497.cc: New.
1746 * testsuite/30_threads/call_once/60497.cc: New.
1747 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1749 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1751 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1752 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1753 * acinclude.m4 (libtool_VERSION): Bump.
1754 * configure: Regenerate.
1755 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1756 * testsuite/28_regex/regex_error/base.cc: New.
1758 2014-05-08 Joshua Gay <jgay@gnu.org>
1761 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1762 source" with "free software".
1763 * doc/html/faq.html: Likewise.
1765 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1768 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1770 (operator=(const ios_base&)): Likewise.
1771 * include/std/streambuf: Remove trailing whitespace.
1772 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1773 _M_out_end. Define as defaulted for C++11.
1774 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1775 (swap(basic_streambuf&)): Define for C++11.
1776 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1779 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1781 * include/std/iostream: Fix URL in comment.
1782 * src/c++98/ios_init.cc: Fix path in comment.
1784 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1786 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1787 * configure: Regenerate.
1789 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1792 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1793 comparison function.
1794 * testsuite/23_containers/set/cons/61023.cc: New.
1797 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1799 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1800 arithmetic to obtain a mutable iterator from const_iterator.
1801 * include/bits/vector.tcc (vector::insert): Likewise.
1802 * include/debug/vector (vector::erase): Likewise.
1803 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1804 Adjust dg-error line number.
1805 * testsuite/23_containers/vector/requirements/dr438/
1806 constructor_1_neg.cc: Likewise.
1807 * testsuite/23_containers/vector/requirements/dr438/
1808 constructor_2_neg.cc: Likewise.
1809 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1812 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1814 * include/Makefile.in: Regenerate.
1816 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1818 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1819 parameter to pass the 2 instances to check allocator equality.
1820 * include/debug/safe_container.h: New, define _Safe_container<>.
1821 * include/Makefile.am: Add previous.
1822 * include/debug/deque (std::__debug::deque<>): Inherit
1823 _Safe_container<>. Use default implementation for all special
1825 * include/debug/forward_list (std::__debug::forward_list<>):
1827 * include/debug/list (std::__debug::list<>): Likewise.
1828 * include/debug/map.h (std::__debug::map<>): Likewise.
1829 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1830 * include/debug/set.h (std::__debug::set<>): Likewise.
1831 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1832 * include/debug/string (std::__debug::basic_string<>): Likewise.
1833 * include/debug/unordered_map
1834 (std::__debug::unordered_map<>): Likewise.
1835 (std::__debug::unordered_multimap<>): Likewise.
1836 * include/debug/unordered_set
1837 (std::__debug::unordered_set<>): Likewise.
1838 (std::__debug::unordered_multiset<>): Likewise.
1839 * include/debug/vector (std::__debug::vector<>): Likewise.
1840 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1842 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1843 (~_Safe_sequence_base()): Add noexcept.
1844 * include/debug/safe_sequence.h
1845 (std::__debug::_Safe_node_sequence<>): New.
1846 * include/debug/safe_unordered_base.h
1847 (_Safe_unordered_container_base()): Add noexcept.
1848 (~_Safe_unordered_container_base()): Likewise.
1849 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1850 * include/debug/safe_unordered_container.h:
1851 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1852 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1853 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1855 * testsuite/util/debug/checks.h (check_construct1): Just implement
1856 an invalid constructor invocation and no other operations
1857 potentially not supported by some types of container.
1858 (check_construct2): Likewise.
1859 (check_construct3): Likewise.
1860 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1861 check on iterators to make sure they are correctly moved in debug
1863 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1865 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1866 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1867 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1868 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1870 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1871 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1873 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1874 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1875 * testsuite/23_containers/unordered_map/allocator/move.cc:
1877 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1879 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1881 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1883 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1885 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1887 * testsuite/23_containers/unordered_set/allocator/move.cc:
1889 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1891 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1893 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1895 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1897 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1899 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1901 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1902 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1903 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1904 * testsuite/23_containers/map/debug/move_neg.cc: New.
1905 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1906 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1907 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1908 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1909 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1910 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1911 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1912 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1913 * testsuite/23_containers/set/debug/move_neg.cc: New.
1914 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1916 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1918 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1919 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1921 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1923 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1925 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1927 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1929 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1931 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1933 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1935 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1936 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1938 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1940 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1941 (CXXABI_1.3.9): Remove __float128 symbols.
1943 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1946 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1947 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1948 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1949 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1951 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1954 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1955 Check the correct type in the static assertion.
1956 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1958 2014-04-27 Tim Shen <timshen91@gmail.com>
1960 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1961 Add _S_opcode_repeat support to distingush a loop from
1962 _S_opcode_alternative.
1963 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1964 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1965 _StateSeq<>::_M_clone): Likewise.
1966 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1968 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1969 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1970 Uglify local variable __i.
1971 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1972 Use size_t instead of int to compare with vector::size().
1974 2014-04-27 Tim Shen <timshen91@gmail.com>
1976 * include/bits/regex_executor.h: Add _M_rep_count to track how
1977 many times this repeat node are visited.
1978 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1979 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1982 2014-04-27 Tim Shen <timshen91@gmail.com>
1984 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1985 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1986 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1987 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1988 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1989 Adjust debug NFA dump.
1991 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1994 * include/experimental/optional (operator!=): Implement in terms of
1996 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1997 * testsuite/experimental/optional/relops/2.cc: Likewise.
1998 * testsuite/experimental/optional/relops/3.cc: Likewise.
1999 * testsuite/experimental/optional/relops/4.cc: Likewise.
2000 * testsuite/experimental/optional/relops/5.cc: Likewise.
2001 * testsuite/experimental/optional/relops/6.cc: Likewise.
2003 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
2006 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
2007 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
2010 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
2012 * testsuite/util/testsuite_abi.cc (check_version): Update for
2015 2014-04-24 Tim Shen <timshen91@gmail.com>
2017 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
2018 Do _M_alt before _M_next.
2019 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
2021 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
2024 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
2025 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
2026 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2028 2014-04-24 Andreas Schwab <schwab@suse.de>
2030 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
2031 new CXXABI_1.3.9 symbols.
2033 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
2035 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
2036 (CXXABI_1.3.9): New version.
2038 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
2041 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
2042 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
2043 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2045 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2047 * configure.host: Remove solaris2.9 handling.
2048 Change os_include_dir to os/solaris/solaris2.10.
2049 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
2050 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
2051 * configure: Regenerate.
2052 * config/abi/post/solaris2.9: Remove.
2053 * config/os/solaris/solaris2.9: Rename to ...
2054 * config/os/solaris/solaris2.10: ... this.
2055 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
2058 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
2059 Remove Solaris 9 reference.
2060 * doc/html/manual/configure.html: Regenerate.
2062 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
2063 Remove *-*-solaris2.9 xfail.
2064 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
2067 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
2070 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
2072 * include/std/functional (__is_location_invariant): Use __or_ helper.
2074 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
2077 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
2080 * include/std/atomic (atomic<_Tp>): Add static assertion.
2081 * testsuite/29_atomics/atomic/60695.cc: New.
2084 * include/std/functional (function::_Callable): Exclude own type
2085 from the callable checks.
2086 * testsuite/20_util/function/60594.cc: New.
2088 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
2089 const to constexpr member functions.
2091 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
2092 delegating constructor.
2093 * include/bits/shared_ptr_base.h
2094 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
2096 * include/std/atomic: Uglify parameter names.
2099 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2100 1.cc: Fix invalid explicit instantiations with unqualified names.
2101 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2103 * testsuite/20_util/tuple/53648.cc: Likweise.
2104 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
2106 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
2108 * testsuite/23_containers/unordered_map/requirements/
2109 debug_container.cc: Likewise.
2110 * testsuite/23_containers/unordered_map/requirements/
2111 explicit_instantiation/3.cc: Likewise.
2112 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
2114 * testsuite/23_containers/unordered_multimap/requirements/
2115 explicit_instantiation/3.cc: Likewise.
2116 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
2118 * testsuite/23_containers/unordered_multiset/requirements/
2119 explicit_instantiation/3.cc: Likewise.
2120 * testsuite/23_containers/unordered_set/requirements/
2121 debug_container.cc: Likewise.
2122 * testsuite/23_containers/unordered_set/requirements/
2123 explicit_instantiation/3.cc: Likewise.
2125 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
2126 not use uninitialized members in mem-initializers.
2127 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
2128 * testsuite/util/testsuite_common_types.h: Update comment.
2130 * include/experimental/string_view: Fix inconsistent exception specs.
2132 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
2133 Remove name of unused parameter.
2135 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
2137 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
2138 _Vector_base::_M_allocate): NullablePointer requirements do not
2139 include initialization from literal zero, use value-initialization.
2140 * include/bits/vector.tcc (vector::_M_insert_aux,
2141 vector::_M_explace_back_aux): Likewise for assignment.
2143 * include/bits/allocator.h (operator==, operator!=): Add exception
2147 * include/std/tuple (get): Qualify calls to prevent ADL.
2148 * testsuite/20_util/tuple/60497.cc: New.
2150 * include/std/tuple (tuple_element_t): Define.
2151 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
2153 * testsuite/20_util/tuple/tuple_element_t.cc: New.
2155 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
2158 * include/bits/stl_iterator.h (move_iterator::reference,
2159 move_iterator::operator*): Implement LWG 2106.
2160 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
2162 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
2164 * include/std/complex (__complex_exp, pow): Specify the template
2165 parameter in calls to std::polar, for expression templates.
2167 2014-04-10 Andreas Schwab <schwab@suse.de>
2169 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
2171 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
2172 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
2174 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2176 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
2178 * testsuite/20_util/exchange/1.cc: Add missing return statements.
2179 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
2180 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
2183 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
2184 Jack Howarth <howarth@bromo.med.uc.edu>
2187 * testsuite/30_threads/condition_variable/54185.cc: Skip for
2190 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
2192 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
2194 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
2196 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
2197 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
2198 * doc/xml/manual/concurrency_extensions.xml
2199 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
2200 * doc/html/*: Regenerate.
2202 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
2203 Jonathan Wakely <jwakely@redhat.com>
2206 * include/std/iomanip (_Quoted_string operator>>): Do not clear
2207 string if input is not quoted.
2208 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
2210 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
2212 * libsupc++/eh_ptr.cc: Improve static_assert messages.
2214 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2216 * testsuite/18_support/exception_ptr/60612-terminate.cc
2217 (terminate, f): Wrap in _GLIBCXX_USE_C99.
2218 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
2220 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
2222 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
2224 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
2225 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
2227 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
2229 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
2231 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
2232 Fix bad s/part/chapter/ substitutions.
2233 * doc/xml/manual/io.xml (std.io): Likewise.
2234 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
2235 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
2237 * doc/html/*: Regenerate.
2239 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
2242 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
2243 compatible with __cxa_exception.
2244 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
2245 Fix typos in comments.
2246 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
2247 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
2249 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
2252 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
2253 Use sizeof pointer type not the element type.
2254 * testsuite/29_atomics/atomic/60658.cc: New.
2256 2014-03-24 Jakub Jelinek <jakub@redhat.com>
2258 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2259 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2260 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2261 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2262 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2263 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2264 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2265 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2266 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2267 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2270 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2272 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
2274 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
2276 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
2277 to delegated constructor.
2278 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
2279 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
2282 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
2284 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2287 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2289 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
2292 * include/debug/functions.h (_Is_contiguous_sequence): Define.
2293 (__foreign_iterator): Accept additional iterator. Do not dispatch on
2295 (__foreign_iterator_aux2): Likewise. Add overload for iterators
2296 from different types of debug container. Use _Is_contiguous_sequence
2297 instead of is_lvalue_reference.
2298 (__foreign_iterator_aux3): Accept additional iterator. Avoid
2299 dereferencing past-the-end iterator.
2300 (__foreign_iterator_aux4): Use const value_type* instead of
2301 potentially user-defined const_pointer type.
2302 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
2303 and pass end iterator to __gnu_debug::__foreign_iterator.
2304 (__glibcxx_check_insert_range_after): Likewise.
2305 (__glibcxx_check_max_load_factor): Fix comment.
2306 * include/debug/vector (_Is_contiguous_sequence): Define partial
2308 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
2309 -std=gnu++11 option and unused header.
2310 * testsuite/23_containers/vector/debug/60587.cc: New.
2311 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
2313 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2315 * crossconfig.m4: Support spu-*-elf* targets.
2316 * configure: Regenerate.
2318 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
2321 * include/std/future (__future_base::_Task_state<>): Change
2322 constructors to template functions using perfect forwarding.
2323 (__create_task_state): Use decayed type as stored task.
2324 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
2325 * testsuite/30_threads/packaged_task/60564.cc: New.
2327 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
2329 * scripts/create_testsuite_files: Add testsuite/experimental in
2330 the list of folders to search for tests.
2332 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
2334 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2336 2014-03-15 Tim Shen <timshen91@gmail.com>
2338 * include/bits/regex.h: Add/modify comments.
2339 * include/bits/regex_compiler.h: Likewise.
2340 * include/bits/regex_executor.h: Likewise.
2341 * include/bits/regex_executor.tcc: Likewise.
2342 * include/bits/regex_scanner.h: Likewise.
2344 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
2347 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
2348 _ZNSt12system_errorC* symbols which are not exported on any target.
2350 2014-03-12 Roland McGrath <mcgrathr@google.com>
2351 Mark Seaborn <mseaborn@google.com>
2354 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
2355 the address of a null pointer, not with a null pointer to pointer.
2356 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
2357 * testsuite/18_support/bad_exception/59392.cc: New file.
2359 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
2362 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
2364 * include/debug/map (map::operator=(map&&)): Likewise.
2365 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
2366 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
2367 * include/debug/set (set::operator=(set&&)): Likewise.
2368 * include/debug/unordered_map
2369 (unordered_map::operator=(unordered_map&&)): Likewise.
2370 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
2371 * include/debug/unordered_set
2372 (unordered_set::operator=(unordered_set&&)): Likewise.
2373 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
2374 * include/debug/vector (vector::operator=(vector&&)): Likewise.
2375 * testsuite/23_containers/forward_list/debug/60499.cc: New
2376 * testsuite/23_containers/map/debug/60499.cc: New
2377 * testsuite/23_containers/multimap/debug/60499.cc: New
2378 * testsuite/23_containers/multiset/debug/60499.cc: New
2379 * testsuite/23_containers/set/debug/60499.cc: New
2380 * testsuite/23_containers/unordered_map/debug/60499.cc: New
2381 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
2382 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
2383 * testsuite/23_containers/unordered_set/debug/60499.cc: New
2384 * testsuite/23_containers/vector/debug/60499.cc: New
2386 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
2388 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2389 for filesystem and fundamentals TS work items.
2391 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
2394 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2395 Adjust dg-error directives.
2397 2014-02-26 Tim Shen <timshen91@gmail.com>
2399 * include/bits/regex.tcc (match_results<>::format,
2400 regex_replace<>): Update __out after calling std::copy.
2401 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2403 * testsuite/28_regex/match_results/format.cc: Likewise.
2405 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
2408 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2409 allocator_type&)): Remove redundant call to _M_initialize_map.
2410 (deque::deque(const allocator_type&)): Initialize _Base with a
2411 constructor that calls _M_initialize_map.
2415 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
2417 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2420 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
2422 Rename testsuite directory shared_mutex to shared_timed_mutex
2424 * testsuite/30_threads/shared_mutex: Moved to...
2425 * testsuite/30_threads/shared_timed_mutex: ...here
2427 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
2429 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2430 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2431 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2432 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2433 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2434 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2435 * testsuite/30_threads/shared_lock/requirements/
2436 explicit_instantiation.cc: Ditto.
2437 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2438 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2439 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2440 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2441 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2442 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2443 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2444 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2445 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2446 * testsuite/30_threads/shared_mutex/requirements/
2447 standard_layout.cc: Ditto.
2448 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2449 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2450 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2451 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2452 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2454 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2456 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2457 execution on i?86-*-solaris2.9, remove comment.
2458 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2460 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
2462 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2463 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2464 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2466 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
2468 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2469 not use varargs when argument could be non-POD.
2470 (__alloctr_rebind_helper): Eliminate static const bool member by
2471 using true_type and false_type.
2472 (allocator_traits::__allocate_helper): Likewise.
2473 (allocator_traits::__construct_helper): Likewise.
2474 (allocator_traits::__destroy_helper): Likewise.
2475 (allocator_traits::__maxsize_helper): Likewise.
2476 (allocator_traits::__select_helper): Likewise.
2477 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2478 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2479 Remove redundant condition.
2480 * include/bits/stl_vector.h (vector::operator=(const vector&)):
2482 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2483 indirection through __alloc_traits.
2484 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2485 Eliminate static const bool members by using true_type and false_type.
2486 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2487 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2488 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2490 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2493 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2494 (vector::_M_data_ptr): New overloaded functions to ensure empty
2495 vectors do not dereference the pointer.
2496 * testsuite/23_containers/vector/59829.cc: New.
2497 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2498 Adjust dg-error line number.
2499 * testsuite/23_containers/vector/requirements/dr438/
2500 constructor_1_neg.cc: Likewise.
2501 * testsuite/23_containers/vector/requirements/dr438/
2502 constructor_2_neg.cc: Likewise.
2503 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2507 * include/ext/array_allocator.h: Add deprecated attribute.
2510 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2511 installation and use of python printers.
2512 * doc/xml/manual/status_cxx2011.xml: Update.
2513 * doc/html/*: Regenerate.
2515 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
2516 Kyle Lippincott <spectral@google.com>
2519 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2520 constructor and grant friendship to weak_ptr.
2521 (weak_ptr::lock()): Use new constructor.
2522 * include/bits/shared_ptr_base.h
2523 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2524 and define specializations.
2525 (__shared_count): Add new non-throwing constructor.
2526 (__shared_ptr): Add new non-throwing constructor and grant friendship
2528 (__weak_ptr::lock()): Use new constructor.
2529 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2530 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2532 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
2535 * include/bits/shared_ptr_base.h
2536 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2539 2014-01-27 Jason Merrill <jason@redhat.com>
2544 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2545 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2546 (__cxa_allocate_exception): Don't set it here.
2548 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
2550 * include/bits/stl_map.h: Remove anachronistic comment.
2551 * include/bits/stl_multimap.h: Add whitespace.
2552 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2553 -std=gnu++11 instead of -std=c++11.
2554 * testsuite/23_containers/map/operators/2.cc: Likewise.
2555 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2556 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2557 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2559 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2560 * configure: Regenerate.
2562 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2565 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2566 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2568 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2569 Peter A. Bigot <pab@pabigot.com>
2572 * include/experimental/string_view
2573 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2574 Correct copy start location.
2576 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2577 Peter A. Bigot <pab@pabigot.com>
2580 * include/experimental/string_view (operator[](size_type) const):
2581 Fix one-off index error in debug check.
2582 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2583 test basic_string_view at size().
2584 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2586 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2587 Peter A. Bigot <pab@pabigot.com>
2590 * include/experimental/string_view
2591 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2592 * testsuite/experimental/string_view/operations/substr/char/1.cc:
2593 Comment out catch of out_of_range; No terminating null
2594 in basic_string_view. Check begin == end.
2595 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2598 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
2601 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2602 constructor to prevent it being implicitly defined as deleted, but
2603 do not copy anything.
2604 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2605 Define copy and move constructors similar to _Safe_sequence_base's.
2606 * testsuite/23_containers/unordered_map/59548.cc: New.
2608 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2609 Steve Ellcey <sellcey@mips.com>
2611 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2613 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2614 * (configure, config.h.in): Regenerate.
2615 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2617 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2619 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2620 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2623 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2624 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2626 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2628 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2629 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2630 functions to perform moving or copying of elements from rvalue tree.
2631 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2632 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2633 * testsuite/23_containers/map/59872.cc: New.
2634 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2636 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2638 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2641 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2642 Split into separate default constructor and constructor taking
2644 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2645 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2647 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2648 * include/debug/list (list::list(const _Allocator&)): Likewise.
2649 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2651 * include/debug/multimap.h
2652 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2653 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2655 * include/debug/multiset.h
2656 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2657 * include/debug/vector (vector::vector(const allocator_type&)):
2659 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2660 * include/profile/list (list::list(const _Allocator&)): Likewise.
2661 * include/profile/map.h
2662 (map::map(const _Compare&, const _Allocator&)): Likewise.
2663 * include/profile/multimap.h
2664 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2665 * include/profile/set.h
2666 (set::set(const _Compare&, const _Allocator&)): Likewise.
2667 * include/profile/multiset.h
2668 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2669 * include/profile/vector (vector::vector(const _Allocator&)):
2671 * testsuite/23_containers/deque/58764.cc: New.
2672 * testsuite/23_containers/list/58764.cc: New.
2673 * testsuite/23_containers/map/58764.cc: New.
2674 * testsuite/23_containers/multimap/58764.cc: New.
2675 * testsuite/23_containers/set/58764.cc: New.
2676 * testsuite/23_containers/multiset/58764.cc: New.
2677 * testsuite/23_containers/vector/58764.cc: New.
2678 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2679 Adjust dg-error line number.
2680 * testsuite/23_containers/deque/requirements/dr438/
2681 constructor_1_neg.cc: Likewise.
2682 * testsuite/23_containers/deque/requirements/dr438/
2683 constructor_2_neg.cc: Likewise.
2684 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2686 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2688 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2690 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2692 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2694 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2696 * testsuite/23_containers/vector/requirements/dr438/
2697 constructor_1_neg.cc: Likewise.
2698 * testsuite/23_containers/vector/requirements/dr438/
2699 constructor_2_neg.cc: Likewise.
2700 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2703 PR libstdc++/58764 (again)
2704 * include/bits/stl_list.h (list): Make default constructor's exception
2705 specification conditional.
2706 * include/bits/stl_vector.h (vector): Likewise.
2707 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2708 to default constructor.
2709 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2710 Adjust dg-error line number.
2711 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2713 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2715 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2717 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2719 * testsuite/23_containers/vector/requirements/dr438/
2720 constructor_1_neg.cc: Likewise.
2721 * testsuite/23_containers/vector/requirements/dr438/
2722 constructor_2_neg.cc: Likewise.
2723 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2726 2014-01-21 Tim Shen <timshen91@gmail.com>
2728 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2729 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2730 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2732 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2735 * include/bits/hashtable.h (__cache_default): Do not depend on
2736 whether the hash function is DefaultConstructible or CopyAssignable.
2737 (_Hashtable): Adjust static assertions.
2738 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2739 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2740 dg-error line number.
2741 * testsuite/23_containers/unordered_set/
2742 not_default_constructible_hash_neg.cc: Remove.
2744 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2746 * scripts/create_testsuite_files: Add testsuite/experimental in
2747 the list of folders to search for tests.
2748 * include/experimental/string_view
2749 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2750 incompatible with constexpr qualifier.
2751 (basic_string_view<>::front()): Likewise.
2752 (basic_string_view<>::back()): Likewise.
2753 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2754 Merge dg-options directives into one.
2755 * testsuite/experimental/string_view/element_access/char/2.cc:
2756 Likewise. Remove invalid experimental namespace scope on
2759 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2762 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2763 friendship to _Local_iterator_base<..., false>.
2764 (_Local_iterator_base): Give protected access to all existing members.
2765 (_Local_iterator_base::_M_curr()): New public accessor.
2766 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2767 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2768 the lifetime of the _Hash_code_base explicitly.
2769 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2770 (_Local_iterator_base<..., false>): Define copy constructor and copy
2771 assignment operator that use new functions to manage _Hash_code_base.
2772 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2773 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2774 Use public API for _Local_iterator_base.
2775 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2776 * include/debug/unordered_map (__debug::unordered_map::erase(),
2777 __debug::unordered_multimap::erase()): Likewise.
2778 * include/debug/unordered_set (__debug::unordered_set::erase(),
2779 __debug::unordered_multiset::erase()): Likewise.
2780 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2782 2014-01-19 Tim Shen <timshen91@gmail.com>
2784 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2785 Fix parse error of multiple consecutive quantifiers like "a**".
2786 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2788 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2790 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2792 * include/profile/set.h (set): Implement C++11 allocator-aware
2793 container requirements.
2794 * include/profile/map.h (map): Likewise.
2795 * include/profile/multiset.h (multiset): Likewise.
2796 * include/profile/multimap.h (multimap): Likewise.
2797 * include/profile/set.h
2798 (set::operator=(const set&)): Define as default in C++11 mode.
2799 (set::operator=(set&&)): Likewise.
2800 * include/profile/map.h
2801 (map::operator=(const map&)): Likewise.
2802 (map::operator=(map&&)): Likewise.
2803 * include/profile/multiset.h
2804 (multiset::operator=(const multiset&)): Likewise.
2805 (multiset::operator=(multiset&&)): Likewise.
2806 * include/profile/multimap.h
2807 (multimap::operator=(const multimap&)): Likewise.
2808 (multimap::operator=(multimap&&)): Likewise.
2809 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2810 Rely on the same operator from normal mode.
2811 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2813 * include/profile/multiset.h
2814 (multiset::operator=(std::initializer_list<>)): Likewise.
2815 * include/profile/multimap.h
2816 (multimap::operator=(std::initializer_list<>)): Likewise.
2817 * include/profile/set.h (set::swap(set&)): Add noexcept
2819 * include/profile/map.h (map::swap(map&)): Likewise.
2820 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2821 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2823 2014-01-17 Tim Shen <timshen91@gmail.com>
2825 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2827 * include/bits/regex_automaton.h: Do not use std::set.
2828 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2829 _BracketMatcher<>::_M_add_collating_element(),
2830 _BracketMatcher<>::_M_add_equivalence_class(),
2831 _BracketMatcher<>::_M_make_range()): Likewise.
2832 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2834 * include/bits/regex_executor.h: Do not use std::queue.
2835 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2836 _Executor<>::_M_dfs()): Likewise.
2837 * include/std/regex: Remove <map>, <set> and <queue>.
2839 2014-01-17 Tim Shen <timshen91@gmail.com>
2841 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2842 basic_regex<>::assign()): Change __compile_nfa to accept
2844 * include/bits/regex_compiler.h: Change _Compiler's template
2845 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2846 * include/bits/regex_compiler.tcc: Likewise.
2848 2014-01-17 Tim Shen <timshen91@gmail.com>
2850 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2852 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2853 _ScannerBase from _Scanner; Change _Scanner's template argument from
2854 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2856 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2857 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2858 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2860 * include/std/regex: Add <cstring> for using strchr.
2862 2014-01-17 Tim Shen <timshen91@gmail.com>
2864 * bits/regex_automaton.tcc: Indentation fix.
2865 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2866 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2867 _BracketMatcher<>): Add bool option template parameters and
2868 specializations to make matching more efficient and space saving.
2869 * bits/regex_compiler.tcc: Likewise.
2871 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2874 * include/bits/hashtable_policy.h: Fix some long lines.
2875 * include/bits/hashtable.h (__hash_code_base_access): Define and
2876 use it to check its _M_bucket_index noexcept qualification. Use
2878 (__access_protected_ctor): ...this.
2879 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2881 * testsuite/23_containers/unordered_set/
2882 not_default_constructible_hash_neg.cc: Likewise.
2884 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2886 * include/debug/set.h (set): Implement C++11 allocator-aware
2887 container requirements.
2888 * include/debug/map.h (map): Likewise.
2889 * include/debug/multiset.h (multiset): Likewise.
2890 * include/debug/multimap.h (multimap): Likewise.
2891 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2892 fix implementation regarding management of safe iterators.
2893 * include/debug/map.h (map::operator=(map&&)): Likewise.
2894 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2895 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2897 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2898 Rely on the same operator from normal mode.
2899 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2901 * include/debug/multiset.h
2902 (multiset::operator=(std::initializer_list<>)): Likewise.
2903 * include/debug/multimap.h
2904 (multimap::operator=(std::initializer_list<>)): Likewise.
2905 * include/debug/set.h (set::swap(set&)): Add noexcept
2906 specification, add allocator equality check.
2907 * include/debug/map.h (map::swap(map&)): Likewise.
2908 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2909 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2911 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2914 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2915 and stylistic improvements.
2916 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2917 and update for C++11.
2918 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2921 * doc/xml/manual/backwards_compatibility.xml
2922 (backwards.third.nocreate_noreplace): Correct and expand.
2925 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2927 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2930 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2931 support for non-Movable types.
2934 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2936 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2938 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2939 *this allocator instance when building temporary vector instance
2940 so that *this allocator does not get moved.
2941 * include/debug/safe_base.h
2942 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2943 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2944 move constructor from _Safe_sequence_base.
2945 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2946 safe iterators if the instance is moved.
2947 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2948 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2949 check on a vector iterator.
2950 * testsuite/23_containers/vector/allocator/move_assign.cc
2952 (test03): New, test with a non-propagating allocator.
2953 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2955 2014-01-07 Tim Shen <timshen91@gmail.com>
2957 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2958 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2959 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2960 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2961 _BracketMatcher<>::_M_add_char(),
2962 _BracketMatcher<>::_M_add_collating_element(),
2963 _BracketMatcher<>::_M_add_equivalence_class(),
2964 _BracketMatcher<>::_M_add_character_class(),
2965 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2966 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2967 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2968 to template parameter; Add cache for _BracketMatcher. Adjust
2969 declarations from here...
2970 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2971 imbuing a regex will trigger a recompilation to rebuild the cache.
2972 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2973 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2974 different template bool parameters.
2975 * include/bits/regex_executor.h: Remove unnecessary declarations.
2976 * include/std/regex: Adjust including orders.
2977 * testsuite/28_regex/traits/char/user_defined.cc: New.
2978 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2980 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2982 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2983 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2984 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2985 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2986 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2988 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2990 Update copyright years
2992 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2994 * testsuite/18_support/new_handler.cc,
2995 testsuite/18_support/terminate_handler.cc,
2996 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2997 the copyright notice.
2999 Copyright (C) 2014 Free Software Foundation, Inc.
3001 Copying and distribution of this file, with or without modification,
3002 are permitted in any medium without royalty provided the copyright
3003 notice and this notice are preserved.