1 2014-10-14 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
4 * include/std/iomanip (_Put_time): New struct.
5 (put_time): New manipulator.
6 (operator<<): New overloaded function.
7 * testsuite/27_io/manipulators/extended/put_time/char/1.cc: New.
8 * testsuite/27_io/manipulators/extended/put_time/char/2.cc: New.
9 * testsuite/27_io/manipulators/extended/put_time/wchar_t/1.cc: New.
10 * testsuite/27_io/manipulators/extended/put_time/wchar_t/2.cc: New.
12 2014-10-14 Kai Tietz <ktietz@redhat.com>
15 * config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC):
17 * config/os/mingw32-w64/os_defines.h: Likewise.
19 2014-10-13 Jonathan Wakely <jwakely@redhat.com>
22 * include/std/memory (align): Do not adjust correctly aligned address.
23 * testsuite/20_util/align/2.cc: New.
25 2014-10-13 Siva Chandra Reddy <sivachandra@google.com>
27 * python/libstdcxx/v6/xmethods.py: Add xmethods for std::array,
28 std::deque, std::forward_list, std::list, std::vector.
29 * testsuite/libstdc++-xmethods/array.cc: New file.
30 * testsuite/libstdc++-xmethods/deque.cc: Likewise.
31 * testsuite/libstdc++-xmethods/forwardlist.cc: Likewise.
32 * testsuite/libstdc++-xmethods/list.cc: Likewise.
33 * testsuite/libstdc++-xmethods/vector.cc: Add tests.
35 2014-10-13 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
37 * include/std/memory (align): Define.
38 * testsuite/20_util/align/1.cc: New.
40 2014-10-13 Marc Glisse <marc.glisse@inria.fr>
44 * include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it
45 isn't done for the sentinel.
46 * include/bits/stl_list.h (_List_base::_M_size): Move...
47 (_List_base::_List_impl::_M_node): ... here.
48 (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
49 _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
50 _List_base::_M_node_count): Adapt to the move.
51 * 23_containers/list/requirements/dr438/assign_neg.cc: Update
53 * 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
54 * 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
55 * 23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
57 2014-10-10 Jonathan Wakely <jwakely@redhat.com>
59 * testsuite/Makefile.in: Regenerate.
61 2014-10-10 Jonathan Wakely <jwakely@redhat.com>
64 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
65 * configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
66 * configure: Regenerate.
67 * include/Makefile.am (stamp-cxx11-abi): New target.
68 (c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
69 * include/Makefile.in: Regenerate.
70 * include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
71 define _GLIBCXX_DEFAULT_ABI_TAG.
72 * include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
74 (list::emplace(const_iterator, const value_type&)): Likewise.
75 (list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
77 * include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
78 (_List_base::_M_size): New data member in cxx11 ABI mode.
79 (_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
81 (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
82 _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
83 _List_base::_M_distance, _List_base::_M_node_count): New functions for
84 accessing list size correctly for the ABI mode.
85 (_List_base::_List_base(_List_base&&)): Copy size and reset source.
86 (_List_base::_M_init()): Initialize size member.
87 (list::size()): Use _List_base::_M_node_count.
88 (list::swap(list&)): Swap sizes.
89 (list::splice(iterator, list&)): Update sizes.
90 (list::splice(iterator, list&, iterator)): Likewise.
91 (list::insert(iterator, const value_type&)): Update size.
92 (list::insert(iterator, _Args&&...)): Likewise.
93 (list::_M_erase(iterator)): Likewise.
94 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
96 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
98 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
100 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
102 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
104 2014-10-09 Jonathan Wakely <jwakely@redhat.com>
106 * doc/xml/manual/status_cxx2011.xml: Update.
107 * doc/html/manual/status.html: Regenerate.
110 * include/std/atomic (atomic): Add assertion for trivially copyable.
111 * testsuite/29_atomics/atomic/60695.cc: Adjust line number.
114 * include/std/functional (__is_location_invariant): Treat all
115 trivially copyable types as location invariant.
117 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
120 * include/std/type_traits (is_trivially_copyable,
121 is_trivially_constructible, is_trivially_default_constructible,
122 is_trivially_copy_constructible, is_trivially_move_constructible,
123 is_trivially_assignable, is_trivially_copy_assignable,
124 is_trivially_move_assignable): New.
125 * testsuite/20_util/is_trivially_assignable/requirements/
126 typedefs.cc: Likewise.
127 * testsuite/20_util/is_trivially_assignable/requirements/
128 explicit_instantiation.cc: Likewise.
129 * testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
130 * testsuite/20_util/is_trivially_constructible/requirements/
131 typedefs.cc: Likewise.
132 * testsuite/20_util/is_trivially_constructible/requirements/
133 explicit_instantiation.cc: Likewise.
134 * testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
135 * testsuite/20_util/is_trivially_copyable/requirements/
136 typedefs.cc: Likewise.
137 * testsuite/20_util/is_trivially_copyable/requirements/
138 explicit_instantiation.cc: Likewise.
139 * testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
140 * testsuite/20_util/is_trivially_copy_assignable/requirements/
141 typedefs.cc: Likewise.
142 * testsuite/20_util/is_trivially_copy_assignable/requirements/
143 explicit_instantiation.cc: Likewise.
144 * testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
145 * testsuite/20_util/is_trivially_copy_constructible/requirements/
146 typedefs.cc: Likewise.
147 * testsuite/20_util/is_trivially_copy_constructible/requirements/
148 explicit_instantiation.cc: Likewise.
149 * testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
150 * testsuite/20_util/is_trivially_default_constructible/requirements/
151 typedefs.cc: Likewise.
152 * testsuite/20_util/is_trivially_default_constructible/requirements/
153 explicit_instantiation.cc: Likewise.
154 * testsuite/20_util/is_trivially_default_constructible/
156 * testsuite/20_util/is_trivially_move_assignable/requirements/
157 typedefs.cc: Likewise.
158 * testsuite/20_util/is_trivially_move_assignable/requirements/
159 explicit_instantiation.cc: Likewise.
160 * testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
161 * testsuite/20_util/is_trivially_move_constructible/requirements/
162 typedefs.cc: Likewise.
163 * testsuite/20_util/is_trivially_move_constructible/requirements/
164 explicit_instantiation.cc: Likewise.
165 * testsuite/20_util/is_trivially_move_constructible/value.cc:
167 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
169 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
171 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
174 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
176 * include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not
177 pass precision when using hexfloat format.
178 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Always
179 output precision if C99 hexfloat conversion specifiers not available.
181 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
183 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
186 2014-10-07 François Dumont <fdumont@gcc.gnu.org>
188 * testsuite/util/testsuite_counter_type.h
189 (counter_type::operator<(const counter_type&)): Update
191 * testsuite/25_algorithms/make_heap/complexity.cc: New.
192 * testsuite/25_algorithms/pop_heap/complexity.cc: New.
193 * testsuite/25_algorithms/push_heap/complexity.cc: New.
194 * testsuite/25_algorithms/sort_heap/complexity.cc: New.
196 2014-10-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
197 Jonathan Wakely <jwakely@redhat.com>
200 * doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
201 * doc/html/manual/status.html: Regenerate.
202 * include/bits/ios_base.h (hexfloat): New function.
203 (defaultfloat): New function.
204 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
205 hexadecimal floating point format.
206 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
209 2014-10-06 Jonathan Wakely <jwakely@redhat.com>
211 * include/Makefile.am: Add new header.
212 * include/Makefile.in: Regenerate.
213 * include/experimental/tuple: New
214 * doc/xml/manual/status_cxx2014.xml: Update.
215 * doc/html/manual/status.html: Regenerate.
216 * testsuite/experimental/feat-lib-fund.cc: Test for new header.
217 * testsuite/experimental/tuple/apply.cc: New.
219 2014-10-05 François Dumont <fdumont@gcc.gnu.org>
222 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
224 * testsuite/23_containers/unordered_set/63456.cc: New.
226 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
229 * doc/xml/manual/containers.xml: Remove outdated section.
230 * doc/html/*: Regenerate.
232 2014-10-02 Jonathan Wakely <jwakely@redhat.com>
234 * include/c_global/ctgmath: Include <complex>.
235 * testsuite/26_numerics/headers/ctgmath/complex.cc: New.
236 * doc/xml/manual/status_cxx2011.xml: Update.
237 * doc/html/manual/status.html: Regenerate.
239 2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
241 * include/bits/stl_function.h: Generic associative lookup feature
243 * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
245 * testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
246 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
247 * testsuite/20_util/duration/literals/range.cc: Adjust.
248 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
249 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
250 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
251 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
252 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
253 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
254 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
257 2014-10-01 François Dumont <fdumont@gcc.gnu.org>
259 * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
260 Adapt to latest modifications on debug iterators.
262 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
264 * include/std/type_traits: Add is_final<> type trait for C++14.
265 * testsuite/util/testsuite_tr1.h: Add
266 * testsuite/20_util/is_final/requirements/
267 explicit_instantiation.cc: New.
268 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
269 * testsuite/20_util/is_final/value.cc: New.
270 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
271 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
272 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
274 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
276 Implement SD-6: SG10 Feature Test Recommendations
277 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
278 * include/bits/stl_algobase.h: Ditto.
279 * include/bits/stl_function.h: Ditto.
280 * include/bits/unique_ptr.h: Ditto.
281 * include/std/chrono: Ditto.
282 * include/std/complex: Ditto.
283 * include/std/iomanip: Ditto.
284 * include/std/shared_mutex: Ditto.
285 * include/std/tuple: Ditto.
286 * include/std/type_traits: Ditto.
287 * include/std/utility: Ditto.
288 * testsuite/experimental/feat-cxx14.cc: New.
289 * testsuite/experimental/feat-lib-fund.cc: New.
290 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
291 * testsuite/20_util/duration/literals/range.cc: Adjust.
292 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
293 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
294 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
295 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
296 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
297 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
298 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
301 2014-09-30 Siva Chandra Reddy <sivachandra@google.com>
303 * python/hook.in: Only import libstdcxx.v6.
304 * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
306 2014-09-30 Jonathan Wakely <jwakely@redhat.com>
308 * doc/xml/manual/status_cxx2011.xml: Update.
309 * doc/html/manual/status.html: Regenerate.
311 2014-09-30 Andreas Schwab <schwab@linux-m68k.org>
313 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
316 * configure.host (abi_baseline_pair): If try_cpu is generic use
317 host_cpu for the default.
319 2014-09-29 François Dumont <fdumont@gcc.gnu.org>
322 * include/debug/safe_base.h
323 (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
324 (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
325 * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
326 before _Safe_iterator_base in memory. Lock before modifying the iterator
328 * include/debug/safe_local_iterator.h
329 (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
331 (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
333 * include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move
334 normal iterator before _Safe_iterator_base in memory. Lock before
335 modifying the iterator in numerous places.
336 * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
337 * include/debug/safe_sequence.tcc
338 (_Safe_sequence<>::_M_transfer_from_if): Adapt.
340 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
343 * doc/xml/manual/status_cxx2011.xml: Update.
344 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
346 (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
347 * include/bits/stl_vector.h (vector::_M_fill_initialize,
348 vector::_M_default_initialize): Use returned iterator.
349 * include/bits/vector.tcc (vector::_M_fill_assign,
350 vector::_M_fill_insert, vector::_M_default_append): Likewise.
351 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
352 16505.cc: Adjust return type.
353 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
356 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
358 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
360 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
362 * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
363 * testsuite/27_io/basic_ios/conv/bool.cc: New.
364 * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
366 * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
368 2014-09-25 Tim Shen <timshen@google.com>
371 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
372 basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
373 _M_loc for basic_regex.
374 * include/bits/regex_automaton.h: Add _M_traits for _NFA.
375 * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
376 Make _Compiler::_M_nfa heap allocated.
377 * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
378 _Compiler::_M_nfa heap allocated.
379 * include/bits/regex_executor.h (_Executor::_M_is_word):
380 Fix accessing _M_traits.
381 * include/bits/regex_executor.tcc (_Executor::_M_dfs):
382 Fix accessing _M_traits.
383 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
386 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
388 * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
389 new GLIBCXX_3.4.21 symbols don't match them.
392 * config/abi/pre/gnu.ver: Add new exports.
393 * include/bits/basic_ios.h (basic_ios::operator bool): Define.
394 * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
396 2014-09-24 François Dumont <fdumont@gcc.gnu.org>
399 * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
400 (_Rb_tree_alloc_node<>): New.
401 (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
402 (_Rb_tree<>::_M_assign_unique): New.
403 (_Rb_tree<>::_M_assign_equal): New.
404 (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
405 * include/bits/stl_map.h
406 (std::map<>::operator=(std::map<>&&)): Default implementation.
407 (std::map<>::operator=(initializer_list<>)): Adapt to use
408 _Rb_tree::_M_assign_unique.
409 * include/bits/stl_multimap.h
410 (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
411 (std::multimap<>::operator=(initializer_list<>)): Adapt to use
412 _Rb_tree::_M_assign_equal.
413 * include/bits/stl_set.h
414 (std::set<>::operator=(std::set<>&&)): Default implementation.
415 (std::set<>::operator=(initializer_list<>)): Adapt to use
416 _Rb_tree::_M_assign_unique.
417 * include/bits/stl_multiset.h
418 (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
419 (std::multiset<>::operator=(initializer_list<>)): Adapt to use
420 _Rb_tree::_M_assign_equal.
421 * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
422 * testsuite/23_containers/map/allocator/init-list.cc: New.
423 * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
424 * testsuite/23_containers/multimap/allocator/copy_assign.cc
426 * testsuite/23_containers/multimap/allocator/init-list.cc: New.
427 * testsuite/23_containers/multimap/allocator/move_assign.cc
429 * testsuite/23_containers/multiset/allocator/copy_assign.cc
431 * testsuite/23_containers/multiset/allocator/init-list.cc: New.
432 * testsuite/23_containers/multiset/allocator/move_assign.cc
434 * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
435 * testsuite/23_containers/set/allocator/init-list.cc: New.
436 * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
438 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
441 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
443 2014-09-23 Jonathan Wakely <jwakely@redhat.com>
445 * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
446 * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
447 to ostream constructor.
448 * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
449 parameter by reference, to avoid ambiguity.
450 * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
452 2014-09-22 Jason Merrill <jason@redhat.com>
454 * testsuite/Makefile.am (%/site.exp): Add @.
455 (check-DEJAGNU): Likewise.
456 * testsuite/Makefile.in: Regenerate.
458 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
460 * include/bits/stl_queue.h: Include missing header.
461 * include/bits/stl_stack.h: Likewise.
462 * testsuite/23_containers/priority_queue/requirements/
463 uses_allocator.cc: New.
464 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
465 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
467 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
469 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
470 * doc/xml/manual/status_cxx2014.xml: Update TS status.
471 * doc/html/manual/status.html: Regenerate.
473 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
475 * include/std/mutex (try_lock): Do not swallow exceptions.
476 * testsuite/30_threads/try_lock/4.cc: Fix test.
478 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
482 * config/abi/pre/gnu.ver: Add new exports.
483 * config/io/basic_file_stdio.h (__basic_file): Support moving and
485 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
487 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
489 * include/bits/fstream.tcc (basic_filebuf): Likewise.
490 * include/bits/move.h (__exchange): Define for C++11 mode.
491 * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
493 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
494 * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
495 basic_fstream): Likewise.
496 * include/std/ios: Remove whitespace.
497 * include/std/istream (basic_istream, basic_iostream): Support moving
499 * include/std/ostream (basic_ostream): Likewise.
500 * include/std/sstream (basic_stringbuf, basic_istringstream,
501 basic_ostringstream, basic_stringstream): Likewise.
502 * include/std/streambuf (basic_streambuf): Do not default copy
503 constructor and assignment on first declaration.
504 * include/std/utility (exchange): Forward to __exchange.
505 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
506 * src/c++11/Makefile.am: Add stream-related files.
507 * src/c++11/Makefile.in: Regenerate.
508 * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
509 New file for explicit instantiation definitions.
510 * src/c++11/ios.cc: Move from src/c++98 to here.
511 (ios_base::_M_move, ios_base::_M_swap): Define.
512 * src/c++11/ios-inst.cc: Move from src/c++98 to here.
513 * src/c++11/iostream-inst.cc: Likewise.
514 * src/c++11/istream-inst.cc: Likewise.
515 * src/c++11/ostream-inst.cc: Likewise.
516 * src/c++11/sstream-inst.cc: Likewise.
517 * src/c++11/streambuf-inst.cc: Likewise.
518 * src/c++98/Makefile.am: Remove stream-related files.
519 * src/c++98/Makefile.in: Regenerate.
520 * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
522 * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
523 * src/c++98/ios-inst.cc: Move to src/c++11/.
524 * src/c++98/ios.cc: Move to src/c++11/.
525 * src/c++98/iostream-inst.cc: Likewise.
526 * src/c++98/istream-inst.cc: Likewise.
527 * src/c++98/ostream-inst.cc: Likewise.
528 * src/c++98/sstream-inst.cc: Likewise.
529 * src/c++98/streambuf-inst.cc: Likewise.
530 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
531 * testsuite/27_io/basic_fstream/cons/move.cc: New.
532 * testsuite/27_io/basic_fstream/assign/1.cc: New.
533 * testsuite/27_io/basic_ifstream/cons/move.cc: New.
534 * testsuite/27_io/basic_ifstream/assign/1.cc: New.
535 * testsuite/27_io/basic_istringstream/assign/1.cc: New.
536 * testsuite/27_io/basic_istringstream/cons/move.cc: New.
537 * testsuite/27_io/basic_ofstream/cons/move.cc: New.
538 * testsuite/27_io/basic_ofstream/assign/1.cc: New.
539 * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
540 * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
541 * testsuite/27_io/basic_stringstream/assign/1.cc: New.
542 * testsuite/27_io/basic_stringstream/cons/move.cc: New.
544 2014-09-17 Jason Merrill <jason@redhat.com>
546 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
547 dynamic_cast more gracefully.
549 2014-09-15 Jakub Jelinek <jakub@redhat.com>
551 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
552 check_p_numbers2, check_p_numbers3, check_p_numbers4,
553 check_p_numbers5, check_p_numbers6, check_p_numbers,
554 check_p_subdirs): New variables.
555 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
556 (check-DEJAGNU): Rewritten so that for parallelized
557 testing each job runs all the *.exp files, with
558 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
559 * testsuite/Makefile.in: Regenerated.
560 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
561 gcc_parallel_test_enable): New procedures. If
562 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
563 runtest_file_p to invoke also gcc_parallel_test_run_p.
564 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
565 by the first parallel runtest encountering it. Fix up path
566 of the extract_symvers script.
567 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
568 serially by the first parallel runtest encountering it. Run
569 dg-finish even in case of error.
571 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
573 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
574 parameters to _Ch_traits.
576 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
578 * include/debug/deque (__gnu_debug::deque): Make base class C++11
581 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
584 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
585 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
587 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
590 * include/bits/regex.h (match_results::format): Remove stray template
592 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
593 Remove parameter name to avoid -Wunused-parameter warning.
594 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
595 mem-initializers to avoid -Wreorder warning.
596 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
597 Remove parameter name to avoid -Wunused-parameter warning.
598 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
599 to avoid -Wempty-body warning when not in debug mode.
601 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
603 * python/hook.in: Load the xmethods.
604 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
605 * python/Makefile.in: Regenerated.
606 * python/libstdcxx/v6/xmethods.py: New file.
607 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
609 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
610 python script if LOAD_XMETHODS is true.
611 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
612 * testsuite/libstdc++-xmethods/vector.cc: New file.
613 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
615 2014-09-10 Tony Wang <tony.wang@arm.com>
618 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
619 Return with CONTINUE_UNWINDING when the state pattern
620 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
622 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
624 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
625 allocator propagation.
626 (deque::emplace_front, deque::emplace_back): Use allocator traits.
627 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
628 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
629 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
630 (_Deque_iterator): Handle allocators with custom pointers.
631 (_Deque_base): Likewise. Use allocator traits.
632 (deque): Likewise. Add allocator-extended constructors.
633 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
634 assignment via tag dispatching.
635 (deque::_M_replace_map): Replace existing data.
636 * include/debug/deque (deque): Add allocator-extended constructors.
637 * include/profile/deque (deque): Likewise.
638 * testsuite/23_containers/deque/allocator/copy.cc: New.
639 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
640 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
641 * testsuite/23_containers/deque/allocator/minimal.cc: New.
642 * testsuite/23_containers/deque/allocator/move.cc: New.
643 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
644 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
645 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
646 * testsuite/23_containers/deque/allocator/swap.cc: New.
647 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
648 Adjust dg-error line number.
649 * testsuite/23_containers/deque/requirements/dr438/
650 constructor_1_neg.cc: Likewise.
651 * testsuite/23_containers/deque/requirements/dr438/
652 constructor_2_neg.cc: Likewise.
653 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
655 * testsuite/23_containers/vector/52591.cc: Test both the propagating
656 and always-equal cases.
658 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
660 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
662 (_Hash_code_base<>): All specialization default constructible if
664 (_Hashtable_base<>): Likewise.
665 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
666 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
667 implementation defaulted.
668 (unordered_multimap<>::unordered_multimap()): Likewise.
669 * include/bits/unordered_set.h
670 (unordered_set<>::unordered_set()): Likewise.
671 (unordered_multiset<>::unordered_multiset()): Likewise.
672 * include/debug/unordered_map: Likewise.
673 * include/debug/unordered_set: Likewise.
674 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
676 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
678 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
680 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
683 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
685 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
687 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
689 * include/std/complex (complex): Define copy constructor and
690 assignment operator as defaulted. Improve Doxygen comments.
692 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
694 * testsuite/ext/random/*: Fix incorrect standard references in
697 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
700 * include/Makefile.am (install-freestanding-headers): Add missing
702 * include/Makefile.in: Regenerate.
704 2014-08-21 Tony Wang <tony.wang@arm.com>
706 * testsuite/18_support/nested_exception/62154.cc: Disable when the
707 target doesn't provide atomic builtins.
709 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
710 Kai Tietz <ktietz@redhat.com>
712 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
714 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
716 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
717 #include <windows.h>.
718 (struct elt): Add dll member.
719 (run): Decrement dll refcount.
720 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
722 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
725 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
726 Rewrite to conform to C++11 requirements.
727 * testsuite/18_support/nested_exception/62154.cc: New.
729 2014-08-14 Matthias Klose <doko@ubuntu.com>
731 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
732 Remove empty directory.
734 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
736 * testsuite/26_numerics/random/linear_congruential_engine/
737 requirements/non_uint_neg.cc: Adjust for parser change.
738 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
739 requirements/non_uint_neg.cc: Likewise.
741 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
744 * include/std/thread (thread::_M_start_thread): Declare new overload.
745 (thread::thread<_Callable, _Args...>): Call new overload with an
746 explicit reference to pthread_create.
747 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
748 * config/abi/pre/gnu.ver: Export new function.
750 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
752 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
754 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
756 * Fix thinko in the last commit.
758 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
761 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
762 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
764 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
766 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
767 and add overloads for rvalue streams.
768 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
770 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
773 * include/bits/basic_string.h (getline): Declare inline.
775 2014-08-09 Ulrich Drepper <drepper@gmail.com>
777 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
778 (uniform_on_sphere_distribution::operator()): Use the new helper
779 class for the implementation.
781 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
782 equal.cc: Remove bogus part of comment.
783 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
784 inequal.cc: Likewise.
785 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
786 serialize.cc: Add check to verify result of serialzation and
788 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
789 generate.cc: New file.
791 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
793 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
794 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
796 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
799 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
800 _M_need_rehash to initialize the rehash policy and check if a rehash is
802 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
804 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
806 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
808 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
809 Adjust dg-error line number.
810 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
812 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
814 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
817 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
819 (_State_baseV2::_M_do_set): Change parameters to pointers.
820 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
821 (_State_baseV2::__setter): Initialize _Setter with pointers.
822 (_State_baseV2::__setter(promise<void>*)): Remove overload.
823 (promise::set_value, promise::set_exception): Pass setter directly
825 (_State_baseV2::_Task_setter): Add template parameter for callable
826 type and replace std::function member with pointer to that type.
827 Change _M_result member from reference to pointer.
828 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
829 and initialize _Task_setter with pointers.
830 (__location_invariant): Specialize for _Setter and _Task_setter.
832 * include/std/future (__location_invariant): Move specializations
833 after preprocessor condition.
835 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
838 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
840 2014-08-01 Zifei Tong <zifeitong@gmail.com>
842 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
843 _GLIBCXX_ prefix to macro.
845 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
847 * python/libstdcxx/v6/printers.py
848 (SingleObjContainerPrinter._contained): Use compatibility mixin.
850 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
852 * testsuite/util/testsuite_allocator.h
853 (tracker_allocator_counter::allocate): Remove new invocation, only
855 (tracker_allocator_counter::deallocate): Remove delete invocation, only
857 (check_inconsistent_alloc_value_type): New.
858 (tracker_allocator): Transform as a facade for any allocator type.
859 (uneq_allocator): Likewise.
860 (propagating_allocator): Likewise.
861 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
862 explicitly non propagating allocator.
863 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
864 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
865 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
866 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
867 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
869 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
871 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
873 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
875 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
877 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
880 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
881 const allocator_type&)): Pass non-const allocator to
883 * testsuite/ext/rope/61946.cc: New.
886 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
887 disambiguate unary constructors.
888 (_Tuple_impl): Pass allocator_arg_t arguments.
889 * testsuite/20_util/tuple/61947.cc: New.
890 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
892 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
894 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
895 * include/bits/random.h (_Adaptor): static_assert for non floating-point
897 * include/bits/random.tcc (generate_canonical): Ditto.
898 * include/ext/random.tcc (hypergeometric_distribution::operator()):
899 Use double as a rng result type.
900 * testsuite/26_numerics/random/pr60037-neg.cc: New.
901 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
903 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
905 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
907 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
909 * include/experimental/string_view: Make the literal operators
910 constexpr like the ctors they call.
912 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
914 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
916 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
918 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
919 to string instead of using gdb.Type.name attribute.
921 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
923 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
926 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
929 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
931 (SingleObjContainerPrinter): Check if type printers are in use.
933 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
935 * include/ext/random: Minor formatting and cosmetic tweaks.
936 (uniform_on_sphere_distribution<>::operator==
937 (const uniform_on_sphere_distribution&,
938 const uniform_on_sphere_distribution&)): Compare the _M_nds.
939 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
940 (operator!=(const uniform_on_sphere_distribution&,
941 const uniform_on_sphere_distribution&)): Adjust.
942 * include/ext/random.tcc: Minor cosmetc tweaks.
944 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
946 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
947 printer for class templates.
948 (register_type_printers): Use TemplateTypePrinter for containers
949 and other class templates with default template arguments.
950 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
952 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
953 base class for experimental::any and experimental::optional printers.
954 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
955 New printers for Fundamentals TS types.
956 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
958 2014-07-15 Tim Shen <timshen@google.com>
961 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
962 Clear match queue for next use.
963 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
965 2014-07-14 Ulrich Drepper <drepper@gmail.com>
967 * include/ext/random.tcc: Unfortunately more fixes for
968 operator>> and operator<< for uniform_on_sphere_distribution.
970 2014-07-13 Ulrich Drepper <drepper@gmail.com>
972 * include/ext/random.tcc: Fix operator>> and operator<< for
973 uniform_on_sphere_distribution.
975 2014-07-12 Ulrich Drepper <drepper@gmail.com>
977 * include/ext/random: Add uniform_on_sphere_distribution definition.
978 * include/ext/random.tcc: Add out-of-band member function definitions
979 for uniform_on_sphere_distribution.
980 * testsuite/ext/random/uniform_on_sphere_distribution/
981 cons/default.cc: New file.
982 * testsuite/ext/random/uniform_on_sphere_distribution/
983 operators/equal.cc: New file.
984 * testsuite/ext/random/uniform_on_sphere_distribution/
985 operators/inequal.cc: New file.
986 * testsuite/ext/random/uniform_on_sphere_distribution/
987 operators/serialize.cc: New file.
989 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
991 Add the logistic_distribution as an extension.
992 * include/ext/random: Add the logistic_distribution.
993 * include/ext/random.tcc: Add the logistic_distribution.
994 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
995 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
996 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
998 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
999 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
1000 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
1003 2014-07-11 Samuel Bronson <naesten@gmail.com>
1005 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
1006 instead of insisting that GCC understand -fdiagnostics-color=never
1008 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
1011 2014-07-11 Samuel Bronson <naesten@gmail.com>
1012 Matthias Klose <doko@ubuntu.com>
1015 * python/libstdcxx/v6/printers.py: Port to Python 2+3
1016 (imap): New compat function.
1018 (Iterator): New mixin to allow writing iterators in Python 3 style
1019 regardless of which version we're running on.
1020 [Python3] (long) New compat alias for "int".
1021 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
1023 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
1025 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
1026 tuple members to simplify pretty printing.
1027 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
1029 * testsuite/experimental/any/cons/4.cc: New.
1031 2014-07-09 Jason Merrill <jason@redhat.com>
1034 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
1035 * libsupc++/tinfo.h: Not here.
1037 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
1039 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
1041 * include/experimental/any: Remove unused header.
1042 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
1043 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1044 * testsuite/util/testsuite_regex.h: Move include guard.
1046 2014-07-01 Tim Shen <timshen@google.com>
1050 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
1051 a NFA state limit. If it's exceeded, regex_constants::error_space
1053 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
1054 map (which is sparse) instead of vector. This reduce n times clones'
1055 cost from O(n^2) to O(n).
1056 * include/std/regex: Add map dependency.
1057 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
1060 2014-07-01 Tim Shen <timshen@google.com>
1063 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
1064 not just regex containing back-references.
1065 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
1066 exchange _M_next and _M_alt for alternative operator,
1067 making matching from left to right.
1068 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
1069 Add position tracking fom DFS.
1070 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
1071 _Executor<>::_M_dfs): Likewise.
1072 * include/bits/regex_scanner.h: Remove unused enum entry.
1073 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
1076 2014-06-30 Jason Merrill <jason@redhat.com>
1078 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
1079 is pure, not inline.
1081 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
1084 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
1085 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1088 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1090 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1092 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1094 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
1096 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
1099 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
1101 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
1102 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
1103 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
1105 * include/ext/alloc_traits.h: Fix comment.
1107 * include/Makefile.am: Add new header.
1108 * include/Makefile.in: Regenerate.
1109 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
1110 New RAII utilities for working with allocators.
1111 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
1112 __allocator_type typedef and use new __allocated_ptr type.
1113 (_Sp_counted_ptr_inplace): Likewise.
1114 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
1115 __allocate_guarded to to simplify exception handling.
1116 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
1117 * include/std/future (_Result_alloc::_M_destroy): Likewise.
1118 (_Result_alloc::_S_allocate_result): Likewise.
1119 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
1120 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1121 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
1122 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
1124 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1126 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
1128 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
1129 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1131 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
1133 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
1134 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
1135 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
1136 Remove unused typedef.
1137 (time_get::do_get_monthname): Likewise.
1138 * include/bits/stl_tree.h: Add system_header pragma.
1139 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
1140 redundant const-qualifier.
1141 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
1142 instead of _GLIBCXX_USE_CONSTEXPR.
1144 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
1146 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
1147 * include/std/chrono (_Checked_integral_constant): Allow zero.
1148 * testsuite/20_util/duration/literals/values.cc: Test non-positive
1149 values and digit separators.
1150 * include/experimental/any
1153 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
1154 apply the signed specifier to wchar_t.
1155 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1156 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
1157 cv-qualifier and size.
1158 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1161 * include/experimental/any (any_v1): Rename namespace to
1162 fundamentals_v1. Change string returned by bad_any_cast::what().
1163 * include/experimental/optional (fundamentals_v1): Add namespace.
1164 * include/experimental/string_view (fundamentals_v1): Likewise.
1165 * testsuite/experimental/any/typedefs.cc: New.
1166 * testsuite/experimental/optional/typedefs.cc: New.
1167 * testsuite/experimental/string_view/typedefs.cc: New.
1169 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
1170 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1173 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1175 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
1177 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
1178 * include/Makefile.am: Add new header.
1179 * include/Makefile.in: Regenerate.
1180 * include/experimental/any: New.
1181 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
1183 * testsuite/experimental/any/assign/1.cc: New.
1184 * testsuite/experimental/any/assign/2.cc: New.
1185 * testsuite/experimental/any/cons/1.cc: New.
1186 * testsuite/experimental/any/cons/2.cc: New.
1187 * testsuite/experimental/any/cons/3.cc: New.
1188 * testsuite/experimental/any/misc/any_cast.cc: New.
1189 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
1190 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
1191 * testsuite/experimental/any/misc/swap.cc: New.
1192 * testsuite/experimental/any/modifiers/1.cc: New.
1193 * testsuite/experimental/any/observers/type.cc: New.
1195 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
1196 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
1198 * include/bits/shared_ptr.h (shared_ptr): Likewise.
1199 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1201 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1203 * include/parallel/list_partition.h (__parallel::list_partition):
1205 * include/std/iomanip (quoted): Likewise.
1206 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
1208 * doc/xml/api.xml: Link to more recent API docs.
1209 * include/bits/allocator.h: Fix link in doxygen comment.
1210 * include/bits/char_traits.h: Likewise.
1211 * include/bits/ios_base.h: Likewise.
1212 * include/bits/stl_map.h: Likewise.
1213 * include/bits/stl_multimap.h: Likewise.
1214 * include/bits/stl_multiset.h: Likewise.
1215 * include/bits/stl_set.h: Likewise.
1216 * include/bits/unordered_map.h: Likewise.
1217 * include/bits/unordered_set.h: Likewise.
1218 * include/ext/mt_allocator.h: Likewise.
1219 * include/std/fstream: Likewise.
1220 * include/std/iosfwd: Likewise.
1221 * include/std/ostream: Likewise.
1222 * include/std/sstream: Likewise.
1223 * include/std/streambuf: Likewise.
1224 * doc/html/*: Regenerate.
1226 * include/experimental/any (any_cast): Combine duplicate doxygen
1228 * include/experimental/string_view (basic_string_view): Update
1230 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
1231 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
1232 (dynamic_bitset): Improve Doxygen comments.
1233 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
1236 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
1238 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1239 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1241 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
1244 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
1245 (bin_search_tree_traits): Do not redeclare template-parameters.
1246 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
1248 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1250 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
1251 parameter for DocBook HTML generation.
1252 * doc/Makefile.in: Regenerate.
1253 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
1254 * doc/xml/faq.xml: Update content and improve formatting.
1255 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
1256 * doc/xml/manual/allocator.xml: Add stable ID attribute.
1257 * doc/xml/manual/bitmap_allocator.xml: Likewise.
1258 * doc/xml/manual/build_hacking.xml: Likewise.
1259 * doc/xml/manual/codecvt.xml: Change URL.
1260 * doc/xml/manual/ctype.xml: Add stable ID attribute.
1261 * doc/xml/manual/debug_mode.xml: Likewise.
1262 * doc/xml/manual/documentation_hacking.xml: Likewise.
1263 * doc/xml/manual/evolution.xml: Likewise.
1264 * doc/xml/manual/extensions.xml: Likewise.
1265 * doc/xml/manual/locale.xml: Likewise.
1266 * doc/xml/manual/messages.xml: Make section id consistent, improve
1268 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
1269 * doc/xml/manual/profile_mode.xml: Likewise.
1270 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
1271 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
1272 * doc/xml/manual/status_cxx2011.xml: Likewise.
1273 * doc/xml/manual/status_cxx2014.xml: Likewise.
1274 * doc/xml/manual/status_cxxtr1.xml: Likewise.
1275 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1276 * doc/xml/manual/using.xml: Likewise.
1277 * doc/html/*: Regenerate.
1279 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1281 * include/tr1/beta_function.tcc: Fix spelling of include guard in
1284 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1286 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1288 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
1290 DR 2344 - std::quoted doesn't respect padding
1291 * include/std/iomanip: Allow for padding in quoted inserters.
1292 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
1293 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
1295 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
1297 * testsuite/23_containers/map/operators/1.cc: Simplify test.
1299 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
1301 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1303 * doc/xml/manual/backwards_compatibility.xml
1304 (backwards.second.stringstreams): Likewise.
1305 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
1307 * doc/xml/manual/containers.xml (associative.bitset.type_string):
1308 Replace <quote> in code example.
1309 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
1310 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
1311 fix typos, improve markup.
1312 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
1313 <emphasis> with <replaceable>.
1314 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
1315 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
1316 and remove newlines in string literal.
1318 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1322 * testsuite/20_util/is_assignable/value.cc: Update.
1324 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
1326 * include/std/condition_variable (condition_variable_any::_Unlock): Do
1327 not swallow __forced_unwind.
1328 * include/std/future (__future_base::_Task_setter): Likewise.
1329 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1330 promise and rethrow.
1331 * include/std/mutex (try_lock): Likewise.
1332 * testsuite/30_threads/async/forced_unwind.cc: New.
1333 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1335 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1336 members to avoid wasted space when not using a cache.
1337 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1338 * include/bits/regex_compiler.tcc
1339 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1341 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1342 New enumeration type to indicate match mode.
1343 (__detail::_Executor::_State_info): New type holding members only
1344 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1346 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1347 Replace template parameter with run-time function parameter.
1348 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1349 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1350 implement DFS and BFS mode.
1351 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1352 Split implementation into ...
1353 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1354 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1355 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1356 argument instead of template argument.
1357 (__detail::_Executor::_M_dfs): Likewise.
1358 * include/bits/regex_scanner.tcc: Fix typos in comments.
1359 * testsuite/performance/28_regex/range.cc: New.
1361 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1362 Jonathan Wakely <jwakely@redhat.com>
1364 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1366 (aligned_union): New struct (C++11).
1367 (aligned_union_t): New type alias (C++14).
1368 * doc/xml/manual/status_cxx2011.xml: Update.
1369 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1370 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1373 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
1376 * include/experimental/string_view (operator basic_string): Correct
1378 (to_string): Replace with member function.
1379 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1380 allow _M_str to be null.
1381 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1382 default constructor semantics.
1383 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1384 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1385 copyright dates. Remove unused header.
1386 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1388 * testsuite/experimental/string_view/operations/data/char/1.cc:
1389 Fix copyright dates. Adjust to new default constructor semantics.
1390 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1392 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1394 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1395 (__uses_allocator_arg): Remove unused type.
1396 (__uses_alloc0): Turn into a trivial type.
1397 (__uses_alloc): Add missing template parameter in primary template.
1398 (__uses_alloc_impl): Rename to __uses_alloc_t.
1400 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
1402 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1403 work with previous versions of Tcl.
1405 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1406 Benjamin's old email address.
1408 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1409 Paolo's address too.
1411 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
1413 * include/tr2/bool_set: Use UTF-8 for accented characters.
1414 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1415 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1416 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1418 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
1421 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1423 (_State_base::_M_dot): Likewise.
1425 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
1427 * include/profile/map.h: Fix typo in comment; minor formatting fix.
1428 * include/profile/multimap.h: Likewise.
1429 * include/profile/set.h: Likewise.
1430 * include/profile/multiset.h: Likewise.
1432 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
1434 * include/profile/array: Clean useless white chars.
1435 * include/profile/base.h: Likewise.
1436 * include/profile/iterator_tracker.h: Likewise.
1437 * include/profile/bitset: Code cleanup and remove not instrumented code.
1438 * include/profile/deque: Likewise.
1439 * include/profile/forward_list: Likewise.
1440 * include/profile/list (std::__profile::_List_profile<>): New.
1441 (std::__profile::list<>): Inherit from latter and adapt.
1442 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1443 advise to match any ordered to unordered container conversion.
1444 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1446 * include/Makefile.am: Add latter.
1447 * include/Makefile.in: Regenerate.
1448 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1449 remove not instrumented code.
1450 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1451 * include/profile/set.h (std::__profile::set<>): Likewise.
1452 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1453 * include/profile/unordered_base.h: Add some line feed.
1454 * include/profile/unordered_map: Clean useless white chars and replace
1456 * include/profile/unordered_set: Likewise.
1457 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1458 (std::__profile::_Vector_profile_post<>): New.
1459 (std::__profile::vector<>): Inherit from latter and adapt.
1461 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
1464 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1465 dragonfly target selector to all tests that run on freebsd.
1467 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1469 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1470 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1472 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1474 * testsuite/30_threads/call_once/60497.cc: Likewise.
1475 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1476 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1477 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1478 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1479 * testsuite/30_threads/promise/60966.cc: Likewise.
1480 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1481 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1482 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1483 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1484 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1485 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1486 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1487 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1488 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1489 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1490 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1491 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1492 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1493 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1494 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1495 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1496 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1498 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
1501 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1503 * testsuite/23_containers/unordered_set/61143.cc: New.
1504 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1506 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
1509 * include/std/type_traits: Move include outside namespace std.
1510 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1511 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1512 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1515 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1518 2014-05-21 John Marino <gnugcc@marino.st>
1520 * acinclude.m4 (*-*-dragonfly*): New target.
1521 * configure: Regenerate.
1522 * configure.host (*-*-dragonfly*): New target.
1523 * config/locale/dragonfly/c_locale.cc: New.
1524 * config/locale/dragonfly/ctype_members.cc: New.
1525 * config/os/bsd/dragonfly/ctype_base.h: New.
1526 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1527 * config/os/bsd/dragonfly/ctype_inline.h: New.
1528 * config/os/bsd/dragonfly/os_defines.h: New.
1530 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
1532 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1533 libstdc++.exp imports those flags via getenv.
1534 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1535 CXXFLAGS contains a '-O' flag.
1537 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1541 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1544 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1545 and add unwind directives.
1547 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1549 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1551 2014-05-20 Tim Shen <timshen91@gmail.com>
1554 * include/bits/regex_compiler.h
1555 (_BracketMatcher<>::_M_add_character_class): Add negative character
1557 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1559 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1562 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1564 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1566 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1568 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1569 * libsupc++/new_opnt.cc: Likewise.
1571 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1574 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1575 Pass lock into _M_do_set and hold it until the function returns.
1576 Signal condition variable after call_once completes.
1577 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1579 * testsuite/30_threads/promise/60966.cc: New.
1581 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1582 Sandra Loosemore <sandra@codesourcery.com>
1584 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1585 until after checking that the test is eligible to be run.
1587 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1589 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1590 test for 32-bit target.
1591 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1593 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1596 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1599 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1600 and add unwind directives.
1602 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1604 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1606 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1608 (chrono_literals::_Checked_integral_constant): Define.
1609 Simplify UDL operator templates and check for overflow.
1610 * testsuite/20_util/duration/literals/range.cc: New.
1612 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1613 Jonathan Wakely <jwakely@redhat.com>
1616 * include/bits/parse_numbers.h: Use integral_constant to remove
1617 duplication and simplify.
1618 * testsuite/20_util/duration/literals/61166.cc: New.
1620 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1623 * include/std/type_traits (__make_unsigned, __make_signed): Define
1624 specializations for wchar_t, char16_t and char32_t.
1625 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1626 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1627 test for make_unsigned<volatile wchar_t>.
1628 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1630 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1632 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1634 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1637 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1639 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1640 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1641 * include/std/utility (tuple_size, tuple_element): Likewise.
1642 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1643 Adjust dg-error line number.
1645 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1647 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1648 (__tuple_element_t): Define.
1649 (tuple_element): Use __tuple_element_t.
1650 (__cv_tuple_size): Define.
1651 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1652 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1653 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1654 (__tuple_compare): Remove size check, re-order parameters.
1655 (operator==, operator<): Use static_assert to check requirements.
1656 * include/std/functional (__volget): use __tuple_element_t.
1657 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1658 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1660 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1663 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1664 prevent ADL. Cast comparison results to bool.
1665 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1666 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1669 * include/debug/array (get): Qualify call to other get overload.
1670 * include/profile/array (get): Likewise.
1671 * include/std/array (get): Likewise.
1672 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1673 * include/std/mutex (unique_lock, call_once): Use __addressof.
1674 (__unlock_impl): Remove unused template.
1675 (__try_to_lock): Declare inline.
1676 (__try_lock_impl::__do_try_lock): Qualify function calls.
1677 (lock): Avoid narrowing conversion.
1678 * testsuite/20_util/bind/60497.cc: New.
1679 * testsuite/23_containers/array/element_access/60497.cc: New.
1680 * testsuite/30_threads/call_once/60497.cc: New.
1681 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1683 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1685 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1686 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1687 * acinclude.m4 (libtool_VERSION): Bump.
1688 * configure: Regenerate.
1689 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1690 * testsuite/28_regex/regex_error/base.cc: New.
1692 2014-05-08 Joshua Gay <jgay@gnu.org>
1695 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1696 source" with "free software".
1697 * doc/html/faq.html: Likewise.
1699 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1702 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1704 (operator=(const ios_base&)): Likewise.
1705 * include/std/streambuf: Remove trailing whitespace.
1706 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1707 _M_out_end. Define as defaulted for C++11.
1708 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1709 (swap(basic_streambuf&)): Define for C++11.
1710 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1713 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1715 * include/std/iostream: Fix URL in comment.
1716 * src/c++98/ios_init.cc: Fix path in comment.
1718 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1720 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1721 * configure: Regenerate.
1723 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1726 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1727 comparison function.
1728 * testsuite/23_containers/set/cons/61023.cc: New.
1731 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1733 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1734 arithmetic to obtain a mutable iterator from const_iterator.
1735 * include/bits/vector.tcc (vector::insert): Likewise.
1736 * include/debug/vector (vector::erase): Likewise.
1737 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1738 Adjust dg-error line number.
1739 * testsuite/23_containers/vector/requirements/dr438/
1740 constructor_1_neg.cc: Likewise.
1741 * testsuite/23_containers/vector/requirements/dr438/
1742 constructor_2_neg.cc: Likewise.
1743 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1746 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1748 * include/Makefile.in: Regenerate.
1750 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1752 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1753 parameter to pass the 2 instances to check allocator equality.
1754 * include/debug/safe_container.h: New, define _Safe_container<>.
1755 * include/Makefile.am: Add previous.
1756 * include/debug/deque (std::__debug::deque<>): Inherit
1757 _Safe_container<>. Use default implementation for all special
1759 * include/debug/forward_list (std::__debug::forward_list<>):
1761 * include/debug/list (std::__debug::list<>): Likewise.
1762 * include/debug/map.h (std::__debug::map<>): Likewise.
1763 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1764 * include/debug/set.h (std::__debug::set<>): Likewise.
1765 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1766 * include/debug/string (std::__debug::basic_string<>): Likewise.
1767 * include/debug/unordered_map
1768 (std::__debug::unordered_map<>): Likewise.
1769 (std::__debug::unordered_multimap<>): Likewise.
1770 * include/debug/unordered_set
1771 (std::__debug::unordered_set<>): Likewise.
1772 (std::__debug::unordered_multiset<>): Likewise.
1773 * include/debug/vector (std::__debug::vector<>): Likewise.
1774 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1776 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1777 (~_Safe_sequence_base()): Add noexcept.
1778 * include/debug/safe_sequence.h
1779 (std::__debug::_Safe_node_sequence<>): New.
1780 * include/debug/safe_unordered_base.h
1781 (_Safe_unordered_container_base()): Add noexcept.
1782 (~_Safe_unordered_container_base()): Likewise.
1783 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1784 * include/debug/safe_unordered_container.h:
1785 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1786 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1787 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1789 * testsuite/util/debug/checks.h (check_construct1): Just implement
1790 an invalid constructor invocation and no other operations
1791 potentially not supported by some types of container.
1792 (check_construct2): Likewise.
1793 (check_construct3): Likewise.
1794 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1795 check on iterators to make sure they are correctly moved in debug
1797 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1799 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1800 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1801 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1802 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1804 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1805 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1807 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1808 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1809 * testsuite/23_containers/unordered_map/allocator/move.cc:
1811 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1813 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1815 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1817 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1819 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1821 * testsuite/23_containers/unordered_set/allocator/move.cc:
1823 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1825 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1827 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1829 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1831 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1833 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1835 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1836 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1837 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1838 * testsuite/23_containers/map/debug/move_neg.cc: New.
1839 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1840 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1841 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1842 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1843 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1844 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1845 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1846 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1847 * testsuite/23_containers/set/debug/move_neg.cc: New.
1848 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1850 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1852 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1853 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1855 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1857 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1859 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1861 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1863 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1865 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1867 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1869 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1870 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1872 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1874 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1875 (CXXABI_1.3.9): Remove __float128 symbols.
1877 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1880 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1881 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1882 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1883 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1885 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1888 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1889 Check the correct type in the static assertion.
1890 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1892 2014-04-27 Tim Shen <timshen91@gmail.com>
1894 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1895 Add _S_opcode_repeat support to distingush a loop from
1896 _S_opcode_alternative.
1897 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1898 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1899 _StateSeq<>::_M_clone): Likewise.
1900 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1902 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1903 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1904 Uglify local variable __i.
1905 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1906 Use size_t instead of int to compare with vector::size().
1908 2014-04-27 Tim Shen <timshen91@gmail.com>
1910 * include/bits/regex_executor.h: Add _M_rep_count to track how
1911 many times this repeat node are visited.
1912 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1913 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1916 2014-04-27 Tim Shen <timshen91@gmail.com>
1918 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1919 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1920 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1921 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1922 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1923 Adjust debug NFA dump.
1925 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1928 * include/experimental/optional (operator!=): Implement in terms of
1930 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1931 * testsuite/experimental/optional/relops/2.cc: Likewise.
1932 * testsuite/experimental/optional/relops/3.cc: Likewise.
1933 * testsuite/experimental/optional/relops/4.cc: Likewise.
1934 * testsuite/experimental/optional/relops/5.cc: Likewise.
1935 * testsuite/experimental/optional/relops/6.cc: Likewise.
1937 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1940 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1941 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1944 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1946 * testsuite/util/testsuite_abi.cc (check_version): Update for
1949 2014-04-24 Tim Shen <timshen91@gmail.com>
1951 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1952 Do _M_alt before _M_next.
1953 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1955 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1958 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1959 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1960 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1962 2014-04-24 Andreas Schwab <schwab@suse.de>
1964 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1965 new CXXABI_1.3.9 symbols.
1967 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1969 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1970 (CXXABI_1.3.9): New version.
1972 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1975 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1976 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1977 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1979 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1981 * configure.host: Remove solaris2.9 handling.
1982 Change os_include_dir to os/solaris/solaris2.10.
1983 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1984 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1985 * configure: Regenerate.
1986 * config/abi/post/solaris2.9: Remove.
1987 * config/os/solaris/solaris2.9: Rename to ...
1988 * config/os/solaris/solaris2.10: ... this.
1989 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1992 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1993 Remove Solaris 9 reference.
1994 * doc/html/manual/configure.html: Regenerate.
1996 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1997 Remove *-*-solaris2.9 xfail.
1998 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
2001 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
2004 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
2006 * include/std/functional (__is_location_invariant): Use __or_ helper.
2008 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
2011 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
2014 * include/std/atomic (atomic<_Tp>): Add static assertion.
2015 * testsuite/29_atomics/atomic/60695.cc: New.
2018 * include/std/functional (function::_Callable): Exclude own type
2019 from the callable checks.
2020 * testsuite/20_util/function/60594.cc: New.
2022 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
2023 const to constexpr member functions.
2025 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
2026 delegating constructor.
2027 * include/bits/shared_ptr_base.h
2028 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
2030 * include/std/atomic: Uglify parameter names.
2033 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2034 1.cc: Fix invalid explicit instantiations with unqualified names.
2035 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2037 * testsuite/20_util/tuple/53648.cc: Likweise.
2038 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
2040 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
2042 * testsuite/23_containers/unordered_map/requirements/
2043 debug_container.cc: Likewise.
2044 * testsuite/23_containers/unordered_map/requirements/
2045 explicit_instantiation/3.cc: Likewise.
2046 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
2048 * testsuite/23_containers/unordered_multimap/requirements/
2049 explicit_instantiation/3.cc: Likewise.
2050 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
2052 * testsuite/23_containers/unordered_multiset/requirements/
2053 explicit_instantiation/3.cc: Likewise.
2054 * testsuite/23_containers/unordered_set/requirements/
2055 debug_container.cc: Likewise.
2056 * testsuite/23_containers/unordered_set/requirements/
2057 explicit_instantiation/3.cc: Likewise.
2059 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
2060 not use uninitialized members in mem-initializers.
2061 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
2062 * testsuite/util/testsuite_common_types.h: Update comment.
2064 * include/experimental/string_view: Fix inconsistent exception specs.
2066 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
2067 Remove name of unused parameter.
2069 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
2071 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
2072 _Vector_base::_M_allocate): NullablePointer requirements do not
2073 include initialization from literal zero, use value-initialization.
2074 * include/bits/vector.tcc (vector::_M_insert_aux,
2075 vector::_M_explace_back_aux): Likewise for assignment.
2077 * include/bits/allocator.h (operator==, operator!=): Add exception
2081 * include/std/tuple (get): Qualify calls to prevent ADL.
2082 * testsuite/20_util/tuple/60497.cc: New.
2084 * include/std/tuple (tuple_element_t): Define.
2085 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
2087 * testsuite/20_util/tuple/tuple_element_t.cc: New.
2089 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
2092 * include/bits/stl_iterator.h (move_iterator::reference,
2093 move_iterator::operator*): Implement LWG 2106.
2094 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
2096 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
2098 * include/std/complex (__complex_exp, pow): Specify the template
2099 parameter in calls to std::polar, for expression templates.
2101 2014-04-10 Andreas Schwab <schwab@suse.de>
2103 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
2105 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
2106 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
2108 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2110 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
2112 * testsuite/20_util/exchange/1.cc: Add missing return statements.
2113 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
2114 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
2117 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
2118 Jack Howarth <howarth@bromo.med.uc.edu>
2121 * testsuite/30_threads/condition_variable/54185.cc: Skip for
2124 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
2126 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
2128 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
2130 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
2131 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
2132 * doc/xml/manual/concurrency_extensions.xml
2133 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
2134 * doc/html/*: Regenerate.
2136 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
2137 Jonathan Wakely <jwakely@redhat.com>
2140 * include/std/iomanip (_Quoted_string operator>>): Do not clear
2141 string if input is not quoted.
2142 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
2144 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
2146 * libsupc++/eh_ptr.cc: Improve static_assert messages.
2148 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2150 * testsuite/18_support/exception_ptr/60612-terminate.cc
2151 (terminate, f): Wrap in _GLIBCXX_USE_C99.
2152 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
2154 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
2156 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
2158 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
2159 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
2161 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
2163 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
2165 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
2166 Fix bad s/part/chapter/ substitutions.
2167 * doc/xml/manual/io.xml (std.io): Likewise.
2168 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
2169 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
2171 * doc/html/*: Regenerate.
2173 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
2176 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
2177 compatible with __cxa_exception.
2178 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
2179 Fix typos in comments.
2180 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
2181 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
2183 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
2186 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
2187 Use sizeof pointer type not the element type.
2188 * testsuite/29_atomics/atomic/60658.cc: New.
2190 2014-03-24 Jakub Jelinek <jakub@redhat.com>
2192 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2193 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2194 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2195 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2196 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2197 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2198 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2199 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2200 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2201 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2204 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2206 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
2208 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
2210 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
2211 to delegated constructor.
2212 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
2213 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
2216 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
2218 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2221 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2223 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
2226 * include/debug/functions.h (_Is_contiguous_sequence): Define.
2227 (__foreign_iterator): Accept additional iterator. Do not dispatch on
2229 (__foreign_iterator_aux2): Likewise. Add overload for iterators
2230 from different types of debug container. Use _Is_contiguous_sequence
2231 instead of is_lvalue_reference.
2232 (__foreign_iterator_aux3): Accept additional iterator. Avoid
2233 dereferencing past-the-end iterator.
2234 (__foreign_iterator_aux4): Use const value_type* instead of
2235 potentially user-defined const_pointer type.
2236 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
2237 and pass end iterator to __gnu_debug::__foreign_iterator.
2238 (__glibcxx_check_insert_range_after): Likewise.
2239 (__glibcxx_check_max_load_factor): Fix comment.
2240 * include/debug/vector (_Is_contiguous_sequence): Define partial
2242 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
2243 -std=gnu++11 option and unused header.
2244 * testsuite/23_containers/vector/debug/60587.cc: New.
2245 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
2247 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2249 * crossconfig.m4: Support spu-*-elf* targets.
2250 * configure: Regenerate.
2252 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
2255 * include/std/future (__future_base::_Task_state<>): Change
2256 constructors to template functions using perfect forwarding.
2257 (__create_task_state): Use decayed type as stored task.
2258 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
2259 * testsuite/30_threads/packaged_task/60564.cc: New.
2261 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
2263 * scripts/create_testsuite_files: Add testsuite/experimental in
2264 the list of folders to search for tests.
2266 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
2268 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2270 2014-03-15 Tim Shen <timshen91@gmail.com>
2272 * include/bits/regex.h: Add/modify comments.
2273 * include/bits/regex_compiler.h: Likewise.
2274 * include/bits/regex_executor.h: Likewise.
2275 * include/bits/regex_executor.tcc: Likewise.
2276 * include/bits/regex_scanner.h: Likewise.
2278 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
2281 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
2282 _ZNSt12system_errorC* symbols which are not exported on any target.
2284 2014-03-12 Roland McGrath <mcgrathr@google.com>
2285 Mark Seaborn <mseaborn@google.com>
2288 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
2289 the address of a null pointer, not with a null pointer to pointer.
2290 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
2291 * testsuite/18_support/bad_exception/59392.cc: New file.
2293 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
2296 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
2298 * include/debug/map (map::operator=(map&&)): Likewise.
2299 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
2300 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
2301 * include/debug/set (set::operator=(set&&)): Likewise.
2302 * include/debug/unordered_map
2303 (unordered_map::operator=(unordered_map&&)): Likewise.
2304 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
2305 * include/debug/unordered_set
2306 (unordered_set::operator=(unordered_set&&)): Likewise.
2307 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
2308 * include/debug/vector (vector::operator=(vector&&)): Likewise.
2309 * testsuite/23_containers/forward_list/debug/60499.cc: New
2310 * testsuite/23_containers/map/debug/60499.cc: New
2311 * testsuite/23_containers/multimap/debug/60499.cc: New
2312 * testsuite/23_containers/multiset/debug/60499.cc: New
2313 * testsuite/23_containers/set/debug/60499.cc: New
2314 * testsuite/23_containers/unordered_map/debug/60499.cc: New
2315 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
2316 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
2317 * testsuite/23_containers/unordered_set/debug/60499.cc: New
2318 * testsuite/23_containers/vector/debug/60499.cc: New
2320 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
2322 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2323 for filesystem and fundamentals TS work items.
2325 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
2328 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2329 Adjust dg-error directives.
2331 2014-02-26 Tim Shen <timshen91@gmail.com>
2333 * include/bits/regex.tcc (match_results<>::format,
2334 regex_replace<>): Update __out after calling std::copy.
2335 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2337 * testsuite/28_regex/match_results/format.cc: Likewise.
2339 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
2342 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2343 allocator_type&)): Remove redundant call to _M_initialize_map.
2344 (deque::deque(const allocator_type&)): Initialize _Base with a
2345 constructor that calls _M_initialize_map.
2349 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
2351 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2354 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
2356 Rename testsuite directory shared_mutex to shared_timed_mutex
2358 * testsuite/30_threads/shared_mutex: Moved to...
2359 * testsuite/30_threads/shared_timed_mutex: ...here
2361 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
2363 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2364 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2365 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2366 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2367 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2368 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2369 * testsuite/30_threads/shared_lock/requirements/
2370 explicit_instantiation.cc: Ditto.
2371 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2372 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2373 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2374 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2375 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2376 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2377 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2378 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2379 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2380 * testsuite/30_threads/shared_mutex/requirements/
2381 standard_layout.cc: Ditto.
2382 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2383 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2384 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2385 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2386 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2388 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2390 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2391 execution on i?86-*-solaris2.9, remove comment.
2392 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2394 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
2396 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2397 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2398 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2400 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
2402 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2403 not use varargs when argument could be non-POD.
2404 (__alloctr_rebind_helper): Eliminate static const bool member by
2405 using true_type and false_type.
2406 (allocator_traits::__allocate_helper): Likewise.
2407 (allocator_traits::__construct_helper): Likewise.
2408 (allocator_traits::__destroy_helper): Likewise.
2409 (allocator_traits::__maxsize_helper): Likewise.
2410 (allocator_traits::__select_helper): Likewise.
2411 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2412 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2413 Remove redundant condition.
2414 * include/bits/stl_vector.h (vector::operator=(const vector&)):
2416 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2417 indirection through __alloc_traits.
2418 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2419 Eliminate static const bool members by using true_type and false_type.
2420 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2421 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2422 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2424 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2427 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2428 (vector::_M_data_ptr): New overloaded functions to ensure empty
2429 vectors do not dereference the pointer.
2430 * testsuite/23_containers/vector/59829.cc: New.
2431 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2432 Adjust dg-error line number.
2433 * testsuite/23_containers/vector/requirements/dr438/
2434 constructor_1_neg.cc: Likewise.
2435 * testsuite/23_containers/vector/requirements/dr438/
2436 constructor_2_neg.cc: Likewise.
2437 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2441 * include/ext/array_allocator.h: Add deprecated attribute.
2444 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2445 installation and use of python printers.
2446 * doc/xml/manual/status_cxx2011.xml: Update.
2447 * doc/html/*: Regenerate.
2449 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
2450 Kyle Lippincott <spectral@google.com>
2453 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2454 constructor and grant friendship to weak_ptr.
2455 (weak_ptr::lock()): Use new constructor.
2456 * include/bits/shared_ptr_base.h
2457 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2458 and define specializations.
2459 (__shared_count): Add new non-throwing constructor.
2460 (__shared_ptr): Add new non-throwing constructor and grant friendship
2462 (__weak_ptr::lock()): Use new constructor.
2463 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2464 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2466 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
2469 * include/bits/shared_ptr_base.h
2470 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2473 2014-01-27 Jason Merrill <jason@redhat.com>
2478 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2479 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2480 (__cxa_allocate_exception): Don't set it here.
2482 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
2484 * include/bits/stl_map.h: Remove anachronistic comment.
2485 * include/bits/stl_multimap.h: Add whitespace.
2486 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2487 -std=gnu++11 instead of -std=c++11.
2488 * testsuite/23_containers/map/operators/2.cc: Likewise.
2489 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2490 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2491 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2493 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2494 * configure: Regenerate.
2496 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2499 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2500 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2502 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2503 Peter A. Bigot <pab@pabigot.com>
2506 * include/experimental/string_view
2507 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2508 Correct copy start location.
2510 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2511 Peter A. Bigot <pab@pabigot.com>
2514 * include/experimental/string_view (operator[](size_type) const):
2515 Fix one-off index error in debug check.
2516 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2517 test basic_string_view at size().
2518 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2520 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2521 Peter A. Bigot <pab@pabigot.com>
2524 * include/experimental/string_view
2525 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2526 * testsuite/experimental/string_view/operations/substr/char/1.cc:
2527 Comment out catch of out_of_range; No terminating null
2528 in basic_string_view. Check begin == end.
2529 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2532 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
2535 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2536 constructor to prevent it being implicitly defined as deleted, but
2537 do not copy anything.
2538 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2539 Define copy and move constructors similar to _Safe_sequence_base's.
2540 * testsuite/23_containers/unordered_map/59548.cc: New.
2542 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2543 Steve Ellcey <sellcey@mips.com>
2545 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2547 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2548 * (configure, config.h.in): Regenerate.
2549 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2551 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2553 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2554 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2557 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2558 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2560 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2562 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2563 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2564 functions to perform moving or copying of elements from rvalue tree.
2565 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2566 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2567 * testsuite/23_containers/map/59872.cc: New.
2568 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2570 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2572 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2575 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2576 Split into separate default constructor and constructor taking
2578 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2579 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2581 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2582 * include/debug/list (list::list(const _Allocator&)): Likewise.
2583 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2585 * include/debug/multimap.h
2586 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2587 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2589 * include/debug/multiset.h
2590 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2591 * include/debug/vector (vector::vector(const allocator_type&)):
2593 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2594 * include/profile/list (list::list(const _Allocator&)): Likewise.
2595 * include/profile/map.h
2596 (map::map(const _Compare&, const _Allocator&)): Likewise.
2597 * include/profile/multimap.h
2598 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2599 * include/profile/set.h
2600 (set::set(const _Compare&, const _Allocator&)): Likewise.
2601 * include/profile/multiset.h
2602 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2603 * include/profile/vector (vector::vector(const _Allocator&)):
2605 * testsuite/23_containers/deque/58764.cc: New.
2606 * testsuite/23_containers/list/58764.cc: New.
2607 * testsuite/23_containers/map/58764.cc: New.
2608 * testsuite/23_containers/multimap/58764.cc: New.
2609 * testsuite/23_containers/set/58764.cc: New.
2610 * testsuite/23_containers/multiset/58764.cc: New.
2611 * testsuite/23_containers/vector/58764.cc: New.
2612 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2613 Adjust dg-error line number.
2614 * testsuite/23_containers/deque/requirements/dr438/
2615 constructor_1_neg.cc: Likewise.
2616 * testsuite/23_containers/deque/requirements/dr438/
2617 constructor_2_neg.cc: Likewise.
2618 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2620 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2622 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2624 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2626 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2628 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2630 * testsuite/23_containers/vector/requirements/dr438/
2631 constructor_1_neg.cc: Likewise.
2632 * testsuite/23_containers/vector/requirements/dr438/
2633 constructor_2_neg.cc: Likewise.
2634 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2637 PR libstdc++/58764 (again)
2638 * include/bits/stl_list.h (list): Make default constructor's exception
2639 specification conditional.
2640 * include/bits/stl_vector.h (vector): Likewise.
2641 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2642 to default constructor.
2643 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2644 Adjust dg-error line number.
2645 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2647 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2649 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2651 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2653 * testsuite/23_containers/vector/requirements/dr438/
2654 constructor_1_neg.cc: Likewise.
2655 * testsuite/23_containers/vector/requirements/dr438/
2656 constructor_2_neg.cc: Likewise.
2657 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2660 2014-01-21 Tim Shen <timshen91@gmail.com>
2662 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2663 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2664 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2666 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2669 * include/bits/hashtable.h (__cache_default): Do not depend on
2670 whether the hash function is DefaultConstructible or CopyAssignable.
2671 (_Hashtable): Adjust static assertions.
2672 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2673 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2674 dg-error line number.
2675 * testsuite/23_containers/unordered_set/
2676 not_default_constructible_hash_neg.cc: Remove.
2678 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2680 * scripts/create_testsuite_files: Add testsuite/experimental in
2681 the list of folders to search for tests.
2682 * include/experimental/string_view
2683 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2684 incompatible with constexpr qualifier.
2685 (basic_string_view<>::front()): Likewise.
2686 (basic_string_view<>::back()): Likewise.
2687 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2688 Merge dg-options directives into one.
2689 * testsuite/experimental/string_view/element_access/char/2.cc:
2690 Likewise. Remove invalid experimental namespace scope on
2693 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2696 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2697 friendship to _Local_iterator_base<..., false>.
2698 (_Local_iterator_base): Give protected access to all existing members.
2699 (_Local_iterator_base::_M_curr()): New public accessor.
2700 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2701 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2702 the lifetime of the _Hash_code_base explicitly.
2703 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2704 (_Local_iterator_base<..., false>): Define copy constructor and copy
2705 assignment operator that use new functions to manage _Hash_code_base.
2706 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2707 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2708 Use public API for _Local_iterator_base.
2709 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2710 * include/debug/unordered_map (__debug::unordered_map::erase(),
2711 __debug::unordered_multimap::erase()): Likewise.
2712 * include/debug/unordered_set (__debug::unordered_set::erase(),
2713 __debug::unordered_multiset::erase()): Likewise.
2714 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2716 2014-01-19 Tim Shen <timshen91@gmail.com>
2718 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2719 Fix parse error of multiple consecutive quantifiers like "a**".
2720 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2722 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2724 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2726 * include/profile/set.h (set): Implement C++11 allocator-aware
2727 container requirements.
2728 * include/profile/map.h (map): Likewise.
2729 * include/profile/multiset.h (multiset): Likewise.
2730 * include/profile/multimap.h (multimap): Likewise.
2731 * include/profile/set.h
2732 (set::operator=(const set&)): Define as default in C++11 mode.
2733 (set::operator=(set&&)): Likewise.
2734 * include/profile/map.h
2735 (map::operator=(const map&)): Likewise.
2736 (map::operator=(map&&)): Likewise.
2737 * include/profile/multiset.h
2738 (multiset::operator=(const multiset&)): Likewise.
2739 (multiset::operator=(multiset&&)): Likewise.
2740 * include/profile/multimap.h
2741 (multimap::operator=(const multimap&)): Likewise.
2742 (multimap::operator=(multimap&&)): Likewise.
2743 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2744 Rely on the same operator from normal mode.
2745 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2747 * include/profile/multiset.h
2748 (multiset::operator=(std::initializer_list<>)): Likewise.
2749 * include/profile/multimap.h
2750 (multimap::operator=(std::initializer_list<>)): Likewise.
2751 * include/profile/set.h (set::swap(set&)): Add noexcept
2753 * include/profile/map.h (map::swap(map&)): Likewise.
2754 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2755 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2757 2014-01-17 Tim Shen <timshen91@gmail.com>
2759 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2761 * include/bits/regex_automaton.h: Do not use std::set.
2762 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2763 _BracketMatcher<>::_M_add_collating_element(),
2764 _BracketMatcher<>::_M_add_equivalence_class(),
2765 _BracketMatcher<>::_M_make_range()): Likewise.
2766 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2768 * include/bits/regex_executor.h: Do not use std::queue.
2769 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2770 _Executor<>::_M_dfs()): Likewise.
2771 * include/std/regex: Remove <map>, <set> and <queue>.
2773 2014-01-17 Tim Shen <timshen91@gmail.com>
2775 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2776 basic_regex<>::assign()): Change __compile_nfa to accept
2778 * include/bits/regex_compiler.h: Change _Compiler's template
2779 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2780 * include/bits/regex_compiler.tcc: Likewise.
2782 2014-01-17 Tim Shen <timshen91@gmail.com>
2784 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2786 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2787 _ScannerBase from _Scanner; Change _Scanner's template argument from
2788 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2790 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2791 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2792 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2794 * include/std/regex: Add <cstring> for using strchr.
2796 2014-01-17 Tim Shen <timshen91@gmail.com>
2798 * bits/regex_automaton.tcc: Indentation fix.
2799 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2800 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2801 _BracketMatcher<>): Add bool option template parameters and
2802 specializations to make matching more efficient and space saving.
2803 * bits/regex_compiler.tcc: Likewise.
2805 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2808 * include/bits/hashtable_policy.h: Fix some long lines.
2809 * include/bits/hashtable.h (__hash_code_base_access): Define and
2810 use it to check its _M_bucket_index noexcept qualification. Use
2812 (__access_protected_ctor): ...this.
2813 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2815 * testsuite/23_containers/unordered_set/
2816 not_default_constructible_hash_neg.cc: Likewise.
2818 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2820 * include/debug/set.h (set): Implement C++11 allocator-aware
2821 container requirements.
2822 * include/debug/map.h (map): Likewise.
2823 * include/debug/multiset.h (multiset): Likewise.
2824 * include/debug/multimap.h (multimap): Likewise.
2825 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2826 fix implementation regarding management of safe iterators.
2827 * include/debug/map.h (map::operator=(map&&)): Likewise.
2828 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2829 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2831 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2832 Rely on the same operator from normal mode.
2833 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2835 * include/debug/multiset.h
2836 (multiset::operator=(std::initializer_list<>)): Likewise.
2837 * include/debug/multimap.h
2838 (multimap::operator=(std::initializer_list<>)): Likewise.
2839 * include/debug/set.h (set::swap(set&)): Add noexcept
2840 specification, add allocator equality check.
2841 * include/debug/map.h (map::swap(map&)): Likewise.
2842 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2843 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2845 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2848 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2849 and stylistic improvements.
2850 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2851 and update for C++11.
2852 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2855 * doc/xml/manual/backwards_compatibility.xml
2856 (backwards.third.nocreate_noreplace): Correct and expand.
2859 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2861 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2864 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2865 support for non-Movable types.
2868 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2870 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2872 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2873 *this allocator instance when building temporary vector instance
2874 so that *this allocator does not get moved.
2875 * include/debug/safe_base.h
2876 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2877 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2878 move constructor from _Safe_sequence_base.
2879 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2880 safe iterators if the instance is moved.
2881 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2882 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2883 check on a vector iterator.
2884 * testsuite/23_containers/vector/allocator/move_assign.cc
2886 (test03): New, test with a non-propagating allocator.
2887 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2889 2014-01-07 Tim Shen <timshen91@gmail.com>
2891 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2892 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2893 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2894 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2895 _BracketMatcher<>::_M_add_char(),
2896 _BracketMatcher<>::_M_add_collating_element(),
2897 _BracketMatcher<>::_M_add_equivalence_class(),
2898 _BracketMatcher<>::_M_add_character_class(),
2899 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2900 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2901 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2902 to template parameter; Add cache for _BracketMatcher. Adjust
2903 declarations from here...
2904 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2905 imbuing a regex will trigger a recompilation to rebuild the cache.
2906 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2907 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2908 different template bool parameters.
2909 * include/bits/regex_executor.h: Remove unnecessary declarations.
2910 * include/std/regex: Adjust including orders.
2911 * testsuite/28_regex/traits/char/user_defined.cc: New.
2912 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2914 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2916 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2917 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2918 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2919 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2920 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2922 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2924 Update copyright years
2926 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2928 * testsuite/18_support/new_handler.cc,
2929 testsuite/18_support/terminate_handler.cc,
2930 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2931 the copyright notice.
2933 Copyright (C) 2014 Free Software Foundation, Inc.
2935 Copying and distribution of this file, with or without modification,
2936 are permitted in any medium without royalty provided the copyright
2937 notice and this notice are preserved.