1 2014-10-13 Jonathan Wakely <jwakely@redhat.com>
4 * include/std/memory (align): Do not adjust correctly aligned address.
5 * testsuite/20_util/align/2.cc: New.
7 2014-10-13 Siva Chandra Reddy <sivachandra@google.com>
9 * python/libstdcxx/v6/xmethods.py: Add xmethods for std::array,
10 std::deque, std::forward_list, std::list, std::vector.
11 * testsuite/libstdc++-xmethods/array.cc: New file.
12 * testsuite/libstdc++-xmethods/deque.cc: Likewise.
13 * testsuite/libstdc++-xmethods/forwardlist.cc: Likewise.
14 * testsuite/libstdc++-xmethods/list.cc: Likewise.
15 * testsuite/libstdc++-xmethods/vector.cc: Add tests.
17 2014-10-13 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
19 * include/std/memory (align): Define.
20 * testsuite/20_util/align/1.cc: New.
22 2014-10-13 Marc Glisse <marc.glisse@inria.fr>
26 * include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it
27 isn't done for the sentinel.
28 * include/bits/stl_list.h (_List_base::_M_size): Move...
29 (_List_base::_List_impl::_M_node): ... here.
30 (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
31 _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
32 _List_base::_M_node_count): Adapt to the move.
33 * 23_containers/list/requirements/dr438/assign_neg.cc: Update
35 * 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise.
36 * 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise.
37 * 23_containers/list/requirements/dr438/insert_neg.cc: Likewise.
39 2014-10-10 Jonathan Wakely <jwakely@redhat.com>
41 * testsuite/Makefile.in: Regenerate.
43 2014-10-10 Jonathan Wakely <jwakely@redhat.com>
46 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define.
47 * configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI.
48 * configure: Regenerate.
49 * include/Makefile.am (stamp-cxx11-abi): New target.
50 (c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro.
51 * include/Makefile.in: Regenerate.
52 * include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and
53 define _GLIBCXX_DEFAULT_ABI_TAG.
54 * include/bits/list.tcc (list::emplace(const_iterator, _Args&...)):
56 (list::emplace(const_iterator, const value_type&)): Likewise.
57 (list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust
59 * include/bits/stl_list.h (_List_base, list): Add ABI tag macro.
60 (_List_base::_M_size): New data member in cxx11 ABI mode.
61 (_List_base::_S_distance(_List_node_base*, _List_node_base*)): New
63 (_List_base::_M_get_size(), _List_base::_M_set_size(size_t),
64 _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t),
65 _List_base::_M_distance, _List_base::_M_node_count): New functions for
66 accessing list size correctly for the ABI mode.
67 (_List_base::_List_base(_List_base&&)): Copy size and reset source.
68 (_List_base::_M_init()): Initialize size member.
69 (list::size()): Use _List_base::_M_node_count.
70 (list::swap(list&)): Swap sizes.
71 (list::splice(iterator, list&)): Update sizes.
72 (list::splice(iterator, list&, iterator)): Likewise.
73 (list::insert(iterator, const value_type&)): Update size.
74 (list::insert(iterator, _Args&&...)): Likewise.
75 (list::_M_erase(iterator)): Likewise.
76 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
78 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
80 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
82 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
84 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust.
86 2014-10-09 Jonathan Wakely <jwakely@redhat.com>
88 * doc/xml/manual/status_cxx2011.xml: Update.
89 * doc/html/manual/status.html: Regenerate.
92 * include/std/atomic (atomic): Add assertion for trivially copyable.
93 * testsuite/29_atomics/atomic/60695.cc: Adjust line number.
96 * include/std/functional (__is_location_invariant): Treat all
97 trivially copyable types as location invariant.
99 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
102 * include/std/type_traits (is_trivially_copyable,
103 is_trivially_constructible, is_trivially_default_constructible,
104 is_trivially_copy_constructible, is_trivially_move_constructible,
105 is_trivially_assignable, is_trivially_copy_assignable,
106 is_trivially_move_assignable): New.
107 * testsuite/20_util/is_trivially_assignable/requirements/
108 typedefs.cc: Likewise.
109 * testsuite/20_util/is_trivially_assignable/requirements/
110 explicit_instantiation.cc: Likewise.
111 * testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
112 * testsuite/20_util/is_trivially_constructible/requirements/
113 typedefs.cc: Likewise.
114 * testsuite/20_util/is_trivially_constructible/requirements/
115 explicit_instantiation.cc: Likewise.
116 * testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
117 * testsuite/20_util/is_trivially_copyable/requirements/
118 typedefs.cc: Likewise.
119 * testsuite/20_util/is_trivially_copyable/requirements/
120 explicit_instantiation.cc: Likewise.
121 * testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
122 * testsuite/20_util/is_trivially_copy_assignable/requirements/
123 typedefs.cc: Likewise.
124 * testsuite/20_util/is_trivially_copy_assignable/requirements/
125 explicit_instantiation.cc: Likewise.
126 * testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
127 * testsuite/20_util/is_trivially_copy_constructible/requirements/
128 typedefs.cc: Likewise.
129 * testsuite/20_util/is_trivially_copy_constructible/requirements/
130 explicit_instantiation.cc: Likewise.
131 * testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
132 * testsuite/20_util/is_trivially_default_constructible/requirements/
133 typedefs.cc: Likewise.
134 * testsuite/20_util/is_trivially_default_constructible/requirements/
135 explicit_instantiation.cc: Likewise.
136 * testsuite/20_util/is_trivially_default_constructible/
138 * testsuite/20_util/is_trivially_move_assignable/requirements/
139 typedefs.cc: Likewise.
140 * testsuite/20_util/is_trivially_move_assignable/requirements/
141 explicit_instantiation.cc: Likewise.
142 * testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
143 * testsuite/20_util/is_trivially_move_constructible/requirements/
144 typedefs.cc: Likewise.
145 * testsuite/20_util/is_trivially_move_constructible/requirements/
146 explicit_instantiation.cc: Likewise.
147 * testsuite/20_util/is_trivially_move_constructible/value.cc:
149 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
151 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
153 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
156 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
158 * include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not
159 pass precision when using hexfloat format.
160 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Always
161 output precision if C99 hexfloat conversion specifiers not available.
163 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
165 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
168 2014-10-07 François Dumont <fdumont@gcc.gnu.org>
170 * testsuite/util/testsuite_counter_type.h
171 (counter_type::operator<(const counter_type&)): Update
173 * testsuite/25_algorithms/make_heap/complexity.cc: New.
174 * testsuite/25_algorithms/pop_heap/complexity.cc: New.
175 * testsuite/25_algorithms/push_heap/complexity.cc: New.
176 * testsuite/25_algorithms/sort_heap/complexity.cc: New.
178 2014-10-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
179 Jonathan Wakely <jwakely@redhat.com>
182 * doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
183 * doc/html/manual/status.html: Regenerate.
184 * include/bits/ios_base.h (hexfloat): New function.
185 (defaultfloat): New function.
186 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
187 hexadecimal floating point format.
188 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
191 2014-10-06 Jonathan Wakely <jwakely@redhat.com>
193 * include/Makefile.am: Add new header.
194 * include/Makefile.in: Regenerate.
195 * include/experimental/tuple: New
196 * doc/xml/manual/status_cxx2014.xml: Update.
197 * doc/html/manual/status.html: Regenerate.
198 * testsuite/experimental/feat-lib-fund.cc: Test for new header.
199 * testsuite/experimental/tuple/apply.cc: New.
201 2014-10-05 François Dumont <fdumont@gcc.gnu.org>
204 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
206 * testsuite/23_containers/unordered_set/63456.cc: New.
208 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
211 * doc/xml/manual/containers.xml: Remove outdated section.
212 * doc/html/*: Regenerate.
214 2014-10-02 Jonathan Wakely <jwakely@redhat.com>
216 * include/c_global/ctgmath: Include <complex>.
217 * testsuite/26_numerics/headers/ctgmath/complex.cc: New.
218 * doc/xml/manual/status_cxx2011.xml: Update.
219 * doc/html/manual/status.html: Regenerate.
221 2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
223 * include/bits/stl_function.h: Generic associative lookup feature
225 * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
227 * testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
228 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
229 * testsuite/20_util/duration/literals/range.cc: Adjust.
230 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
231 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
232 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
233 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
234 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
235 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
236 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
239 2014-10-01 François Dumont <fdumont@gcc.gnu.org>
241 * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
242 Adapt to latest modifications on debug iterators.
244 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
246 * include/std/type_traits: Add is_final<> type trait for C++14.
247 * testsuite/util/testsuite_tr1.h: Add
248 * testsuite/20_util/is_final/requirements/
249 explicit_instantiation.cc: New.
250 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
251 * testsuite/20_util/is_final/value.cc: New.
252 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
253 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
254 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
256 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
258 Implement SD-6: SG10 Feature Test Recommendations
259 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
260 * include/bits/stl_algobase.h: Ditto.
261 * include/bits/stl_function.h: Ditto.
262 * include/bits/unique_ptr.h: Ditto.
263 * include/std/chrono: Ditto.
264 * include/std/complex: Ditto.
265 * include/std/iomanip: Ditto.
266 * include/std/shared_mutex: Ditto.
267 * include/std/tuple: Ditto.
268 * include/std/type_traits: Ditto.
269 * include/std/utility: Ditto.
270 * testsuite/experimental/feat-cxx14.cc: New.
271 * testsuite/experimental/feat-lib-fund.cc: New.
272 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
273 * testsuite/20_util/duration/literals/range.cc: Adjust.
274 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
275 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
276 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
277 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
278 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
279 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
280 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
283 2014-09-30 Siva Chandra Reddy <sivachandra@google.com>
285 * python/hook.in: Only import libstdcxx.v6.
286 * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
288 2014-09-30 Jonathan Wakely <jwakely@redhat.com>
290 * doc/xml/manual/status_cxx2011.xml: Update.
291 * doc/html/manual/status.html: Regenerate.
293 2014-09-30 Andreas Schwab <schwab@linux-m68k.org>
295 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
298 * configure.host (abi_baseline_pair): If try_cpu is generic use
299 host_cpu for the default.
301 2014-09-29 François Dumont <fdumont@gcc.gnu.org>
304 * include/debug/safe_base.h
305 (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
306 (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
307 * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
308 before _Safe_iterator_base in memory. Lock before modifying the iterator
310 * include/debug/safe_local_iterator.h
311 (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
313 (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
315 * include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move
316 normal iterator before _Safe_iterator_base in memory. Lock before
317 modifying the iterator in numerous places.
318 * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
319 * include/debug/safe_sequence.tcc
320 (_Safe_sequence<>::_M_transfer_from_if): Adapt.
322 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
325 * doc/xml/manual/status_cxx2011.xml: Update.
326 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
328 (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
329 * include/bits/stl_vector.h (vector::_M_fill_initialize,
330 vector::_M_default_initialize): Use returned iterator.
331 * include/bits/vector.tcc (vector::_M_fill_assign,
332 vector::_M_fill_insert, vector::_M_default_append): Likewise.
333 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
334 16505.cc: Adjust return type.
335 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
338 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
340 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
342 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
344 * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
345 * testsuite/27_io/basic_ios/conv/bool.cc: New.
346 * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
348 * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
350 2014-09-25 Tim Shen <timshen@google.com>
353 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
354 basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
355 _M_loc for basic_regex.
356 * include/bits/regex_automaton.h: Add _M_traits for _NFA.
357 * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
358 Make _Compiler::_M_nfa heap allocated.
359 * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
360 _Compiler::_M_nfa heap allocated.
361 * include/bits/regex_executor.h (_Executor::_M_is_word):
362 Fix accessing _M_traits.
363 * include/bits/regex_executor.tcc (_Executor::_M_dfs):
364 Fix accessing _M_traits.
365 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
368 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
370 * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
371 new GLIBCXX_3.4.21 symbols don't match them.
374 * config/abi/pre/gnu.ver: Add new exports.
375 * include/bits/basic_ios.h (basic_ios::operator bool): Define.
376 * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
378 2014-09-24 François Dumont <fdumont@gcc.gnu.org>
381 * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
382 (_Rb_tree_alloc_node<>): New.
383 (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
384 (_Rb_tree<>::_M_assign_unique): New.
385 (_Rb_tree<>::_M_assign_equal): New.
386 (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
387 * include/bits/stl_map.h
388 (std::map<>::operator=(std::map<>&&)): Default implementation.
389 (std::map<>::operator=(initializer_list<>)): Adapt to use
390 _Rb_tree::_M_assign_unique.
391 * include/bits/stl_multimap.h
392 (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
393 (std::multimap<>::operator=(initializer_list<>)): Adapt to use
394 _Rb_tree::_M_assign_equal.
395 * include/bits/stl_set.h
396 (std::set<>::operator=(std::set<>&&)): Default implementation.
397 (std::set<>::operator=(initializer_list<>)): Adapt to use
398 _Rb_tree::_M_assign_unique.
399 * include/bits/stl_multiset.h
400 (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
401 (std::multiset<>::operator=(initializer_list<>)): Adapt to use
402 _Rb_tree::_M_assign_equal.
403 * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
404 * testsuite/23_containers/map/allocator/init-list.cc: New.
405 * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
406 * testsuite/23_containers/multimap/allocator/copy_assign.cc
408 * testsuite/23_containers/multimap/allocator/init-list.cc: New.
409 * testsuite/23_containers/multimap/allocator/move_assign.cc
411 * testsuite/23_containers/multiset/allocator/copy_assign.cc
413 * testsuite/23_containers/multiset/allocator/init-list.cc: New.
414 * testsuite/23_containers/multiset/allocator/move_assign.cc
416 * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
417 * testsuite/23_containers/set/allocator/init-list.cc: New.
418 * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
420 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
423 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
425 2014-09-23 Jonathan Wakely <jwakely@redhat.com>
427 * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
428 * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
429 to ostream constructor.
430 * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
431 parameter by reference, to avoid ambiguity.
432 * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
434 2014-09-22 Jason Merrill <jason@redhat.com>
436 * testsuite/Makefile.am (%/site.exp): Add @.
437 (check-DEJAGNU): Likewise.
438 * testsuite/Makefile.in: Regenerate.
440 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
442 * include/bits/stl_queue.h: Include missing header.
443 * include/bits/stl_stack.h: Likewise.
444 * testsuite/23_containers/priority_queue/requirements/
445 uses_allocator.cc: New.
446 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
447 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
449 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
451 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
452 * doc/xml/manual/status_cxx2014.xml: Update TS status.
453 * doc/html/manual/status.html: Regenerate.
455 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
457 * include/std/mutex (try_lock): Do not swallow exceptions.
458 * testsuite/30_threads/try_lock/4.cc: Fix test.
460 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
464 * config/abi/pre/gnu.ver: Add new exports.
465 * config/io/basic_file_stdio.h (__basic_file): Support moving and
467 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
469 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
471 * include/bits/fstream.tcc (basic_filebuf): Likewise.
472 * include/bits/move.h (__exchange): Define for C++11 mode.
473 * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
475 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
476 * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
477 basic_fstream): Likewise.
478 * include/std/ios: Remove whitespace.
479 * include/std/istream (basic_istream, basic_iostream): Support moving
481 * include/std/ostream (basic_ostream): Likewise.
482 * include/std/sstream (basic_stringbuf, basic_istringstream,
483 basic_ostringstream, basic_stringstream): Likewise.
484 * include/std/streambuf (basic_streambuf): Do not default copy
485 constructor and assignment on first declaration.
486 * include/std/utility (exchange): Forward to __exchange.
487 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
488 * src/c++11/Makefile.am: Add stream-related files.
489 * src/c++11/Makefile.in: Regenerate.
490 * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
491 New file for explicit instantiation definitions.
492 * src/c++11/ios.cc: Move from src/c++98 to here.
493 (ios_base::_M_move, ios_base::_M_swap): Define.
494 * src/c++11/ios-inst.cc: Move from src/c++98 to here.
495 * src/c++11/iostream-inst.cc: Likewise.
496 * src/c++11/istream-inst.cc: Likewise.
497 * src/c++11/ostream-inst.cc: Likewise.
498 * src/c++11/sstream-inst.cc: Likewise.
499 * src/c++11/streambuf-inst.cc: Likewise.
500 * src/c++98/Makefile.am: Remove stream-related files.
501 * src/c++98/Makefile.in: Regenerate.
502 * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
504 * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
505 * src/c++98/ios-inst.cc: Move to src/c++11/.
506 * src/c++98/ios.cc: Move to src/c++11/.
507 * src/c++98/iostream-inst.cc: Likewise.
508 * src/c++98/istream-inst.cc: Likewise.
509 * src/c++98/ostream-inst.cc: Likewise.
510 * src/c++98/sstream-inst.cc: Likewise.
511 * src/c++98/streambuf-inst.cc: Likewise.
512 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
513 * testsuite/27_io/basic_fstream/cons/move.cc: New.
514 * testsuite/27_io/basic_fstream/assign/1.cc: New.
515 * testsuite/27_io/basic_ifstream/cons/move.cc: New.
516 * testsuite/27_io/basic_ifstream/assign/1.cc: New.
517 * testsuite/27_io/basic_istringstream/assign/1.cc: New.
518 * testsuite/27_io/basic_istringstream/cons/move.cc: New.
519 * testsuite/27_io/basic_ofstream/cons/move.cc: New.
520 * testsuite/27_io/basic_ofstream/assign/1.cc: New.
521 * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
522 * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
523 * testsuite/27_io/basic_stringstream/assign/1.cc: New.
524 * testsuite/27_io/basic_stringstream/cons/move.cc: New.
526 2014-09-17 Jason Merrill <jason@redhat.com>
528 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
529 dynamic_cast more gracefully.
531 2014-09-15 Jakub Jelinek <jakub@redhat.com>
533 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
534 check_p_numbers2, check_p_numbers3, check_p_numbers4,
535 check_p_numbers5, check_p_numbers6, check_p_numbers,
536 check_p_subdirs): New variables.
537 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
538 (check-DEJAGNU): Rewritten so that for parallelized
539 testing each job runs all the *.exp files, with
540 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
541 * testsuite/Makefile.in: Regenerated.
542 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
543 gcc_parallel_test_enable): New procedures. If
544 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
545 runtest_file_p to invoke also gcc_parallel_test_run_p.
546 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
547 by the first parallel runtest encountering it. Fix up path
548 of the extract_symvers script.
549 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
550 serially by the first parallel runtest encountering it. Run
551 dg-finish even in case of error.
553 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
555 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
556 parameters to _Ch_traits.
558 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
560 * include/debug/deque (__gnu_debug::deque): Make base class C++11
563 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
566 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
567 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
569 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
572 * include/bits/regex.h (match_results::format): Remove stray template
574 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
575 Remove parameter name to avoid -Wunused-parameter warning.
576 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
577 mem-initializers to avoid -Wreorder warning.
578 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
579 Remove parameter name to avoid -Wunused-parameter warning.
580 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
581 to avoid -Wempty-body warning when not in debug mode.
583 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
585 * python/hook.in: Load the xmethods.
586 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
587 * python/Makefile.in: Regenerated.
588 * python/libstdcxx/v6/xmethods.py: New file.
589 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
591 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
592 python script if LOAD_XMETHODS is true.
593 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
594 * testsuite/libstdc++-xmethods/vector.cc: New file.
595 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
597 2014-09-10 Tony Wang <tony.wang@arm.com>
600 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
601 Return with CONTINUE_UNWINDING when the state pattern
602 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
604 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
606 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
607 allocator propagation.
608 (deque::emplace_front, deque::emplace_back): Use allocator traits.
609 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
610 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
611 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
612 (_Deque_iterator): Handle allocators with custom pointers.
613 (_Deque_base): Likewise. Use allocator traits.
614 (deque): Likewise. Add allocator-extended constructors.
615 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
616 assignment via tag dispatching.
617 (deque::_M_replace_map): Replace existing data.
618 * include/debug/deque (deque): Add allocator-extended constructors.
619 * include/profile/deque (deque): Likewise.
620 * testsuite/23_containers/deque/allocator/copy.cc: New.
621 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
622 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
623 * testsuite/23_containers/deque/allocator/minimal.cc: New.
624 * testsuite/23_containers/deque/allocator/move.cc: New.
625 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
626 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
627 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
628 * testsuite/23_containers/deque/allocator/swap.cc: New.
629 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
630 Adjust dg-error line number.
631 * testsuite/23_containers/deque/requirements/dr438/
632 constructor_1_neg.cc: Likewise.
633 * testsuite/23_containers/deque/requirements/dr438/
634 constructor_2_neg.cc: Likewise.
635 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
637 * testsuite/23_containers/vector/52591.cc: Test both the propagating
638 and always-equal cases.
640 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
642 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
644 (_Hash_code_base<>): All specialization default constructible if
646 (_Hashtable_base<>): Likewise.
647 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
648 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
649 implementation defaulted.
650 (unordered_multimap<>::unordered_multimap()): Likewise.
651 * include/bits/unordered_set.h
652 (unordered_set<>::unordered_set()): Likewise.
653 (unordered_multiset<>::unordered_multiset()): Likewise.
654 * include/debug/unordered_map: Likewise.
655 * include/debug/unordered_set: Likewise.
656 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
658 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
660 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
662 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
665 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
667 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
669 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
671 * include/std/complex (complex): Define copy constructor and
672 assignment operator as defaulted. Improve Doxygen comments.
674 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
676 * testsuite/ext/random/*: Fix incorrect standard references in
679 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
682 * include/Makefile.am (install-freestanding-headers): Add missing
684 * include/Makefile.in: Regenerate.
686 2014-08-21 Tony Wang <tony.wang@arm.com>
688 * testsuite/18_support/nested_exception/62154.cc: Disable when the
689 target doesn't provide atomic builtins.
691 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
692 Kai Tietz <ktietz@redhat.com>
694 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
696 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
698 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
699 #include <windows.h>.
700 (struct elt): Add dll member.
701 (run): Decrement dll refcount.
702 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
704 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
707 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
708 Rewrite to conform to C++11 requirements.
709 * testsuite/18_support/nested_exception/62154.cc: New.
711 2014-08-14 Matthias Klose <doko@ubuntu.com>
713 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
714 Remove empty directory.
716 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
718 * testsuite/26_numerics/random/linear_congruential_engine/
719 requirements/non_uint_neg.cc: Adjust for parser change.
720 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
721 requirements/non_uint_neg.cc: Likewise.
723 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
726 * include/std/thread (thread::_M_start_thread): Declare new overload.
727 (thread::thread<_Callable, _Args...>): Call new overload with an
728 explicit reference to pthread_create.
729 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
730 * config/abi/pre/gnu.ver: Export new function.
732 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
734 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
736 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
738 * Fix thinko in the last commit.
740 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
743 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
744 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
746 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
748 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
749 and add overloads for rvalue streams.
750 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
752 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
755 * include/bits/basic_string.h (getline): Declare inline.
757 2014-08-09 Ulrich Drepper <drepper@gmail.com>
759 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
760 (uniform_on_sphere_distribution::operator()): Use the new helper
761 class for the implementation.
763 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
764 equal.cc: Remove bogus part of comment.
765 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
766 inequal.cc: Likewise.
767 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
768 serialize.cc: Add check to verify result of serialzation and
770 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
771 generate.cc: New file.
773 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
775 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
776 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
778 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
781 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
782 _M_need_rehash to initialize the rehash policy and check if a rehash is
784 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
786 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
788 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
790 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
791 Adjust dg-error line number.
792 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
794 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
796 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
799 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
801 (_State_baseV2::_M_do_set): Change parameters to pointers.
802 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
803 (_State_baseV2::__setter): Initialize _Setter with pointers.
804 (_State_baseV2::__setter(promise<void>*)): Remove overload.
805 (promise::set_value, promise::set_exception): Pass setter directly
807 (_State_baseV2::_Task_setter): Add template parameter for callable
808 type and replace std::function member with pointer to that type.
809 Change _M_result member from reference to pointer.
810 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
811 and initialize _Task_setter with pointers.
812 (__location_invariant): Specialize for _Setter and _Task_setter.
814 * include/std/future (__location_invariant): Move specializations
815 after preprocessor condition.
817 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
820 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
822 2014-08-01 Zifei Tong <zifeitong@gmail.com>
824 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
825 _GLIBCXX_ prefix to macro.
827 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
829 * python/libstdcxx/v6/printers.py
830 (SingleObjContainerPrinter._contained): Use compatibility mixin.
832 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
834 * testsuite/util/testsuite_allocator.h
835 (tracker_allocator_counter::allocate): Remove new invocation, only
837 (tracker_allocator_counter::deallocate): Remove delete invocation, only
839 (check_inconsistent_alloc_value_type): New.
840 (tracker_allocator): Transform as a facade for any allocator type.
841 (uneq_allocator): Likewise.
842 (propagating_allocator): Likewise.
843 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
844 explicitly non propagating allocator.
845 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
846 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
847 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
848 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
849 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
851 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
853 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
855 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
857 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
859 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
862 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
863 const allocator_type&)): Pass non-const allocator to
865 * testsuite/ext/rope/61946.cc: New.
868 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
869 disambiguate unary constructors.
870 (_Tuple_impl): Pass allocator_arg_t arguments.
871 * testsuite/20_util/tuple/61947.cc: New.
872 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
874 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
876 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
877 * include/bits/random.h (_Adaptor): static_assert for non floating-point
879 * include/bits/random.tcc (generate_canonical): Ditto.
880 * include/ext/random.tcc (hypergeometric_distribution::operator()):
881 Use double as a rng result type.
882 * testsuite/26_numerics/random/pr60037-neg.cc: New.
883 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
885 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
887 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
889 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
891 * include/experimental/string_view: Make the literal operators
892 constexpr like the ctors they call.
894 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
896 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
898 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
900 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
901 to string instead of using gdb.Type.name attribute.
903 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
905 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
908 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
911 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
913 (SingleObjContainerPrinter): Check if type printers are in use.
915 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
917 * include/ext/random: Minor formatting and cosmetic tweaks.
918 (uniform_on_sphere_distribution<>::operator==
919 (const uniform_on_sphere_distribution&,
920 const uniform_on_sphere_distribution&)): Compare the _M_nds.
921 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
922 (operator!=(const uniform_on_sphere_distribution&,
923 const uniform_on_sphere_distribution&)): Adjust.
924 * include/ext/random.tcc: Minor cosmetc tweaks.
926 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
928 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
929 printer for class templates.
930 (register_type_printers): Use TemplateTypePrinter for containers
931 and other class templates with default template arguments.
932 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
934 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
935 base class for experimental::any and experimental::optional printers.
936 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
937 New printers for Fundamentals TS types.
938 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
940 2014-07-15 Tim Shen <timshen@google.com>
943 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
944 Clear match queue for next use.
945 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
947 2014-07-14 Ulrich Drepper <drepper@gmail.com>
949 * include/ext/random.tcc: Unfortunately more fixes for
950 operator>> and operator<< for uniform_on_sphere_distribution.
952 2014-07-13 Ulrich Drepper <drepper@gmail.com>
954 * include/ext/random.tcc: Fix operator>> and operator<< for
955 uniform_on_sphere_distribution.
957 2014-07-12 Ulrich Drepper <drepper@gmail.com>
959 * include/ext/random: Add uniform_on_sphere_distribution definition.
960 * include/ext/random.tcc: Add out-of-band member function definitions
961 for uniform_on_sphere_distribution.
962 * testsuite/ext/random/uniform_on_sphere_distribution/
963 cons/default.cc: New file.
964 * testsuite/ext/random/uniform_on_sphere_distribution/
965 operators/equal.cc: New file.
966 * testsuite/ext/random/uniform_on_sphere_distribution/
967 operators/inequal.cc: New file.
968 * testsuite/ext/random/uniform_on_sphere_distribution/
969 operators/serialize.cc: New file.
971 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
973 Add the logistic_distribution as an extension.
974 * include/ext/random: Add the logistic_distribution.
975 * include/ext/random.tcc: Add the logistic_distribution.
976 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
977 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
978 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
980 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
981 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
982 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
985 2014-07-11 Samuel Bronson <naesten@gmail.com>
987 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
988 instead of insisting that GCC understand -fdiagnostics-color=never
990 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
993 2014-07-11 Samuel Bronson <naesten@gmail.com>
994 Matthias Klose <doko@ubuntu.com>
997 * python/libstdcxx/v6/printers.py: Port to Python 2+3
998 (imap): New compat function.
1000 (Iterator): New mixin to allow writing iterators in Python 3 style
1001 regardless of which version we're running on.
1002 [Python3] (long) New compat alias for "int".
1003 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
1005 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
1007 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
1008 tuple members to simplify pretty printing.
1009 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
1011 * testsuite/experimental/any/cons/4.cc: New.
1013 2014-07-09 Jason Merrill <jason@redhat.com>
1016 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
1017 * libsupc++/tinfo.h: Not here.
1019 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
1021 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
1023 * include/experimental/any: Remove unused header.
1024 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
1025 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
1026 * testsuite/util/testsuite_regex.h: Move include guard.
1028 2014-07-01 Tim Shen <timshen@google.com>
1032 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
1033 a NFA state limit. If it's exceeded, regex_constants::error_space
1035 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
1036 map (which is sparse) instead of vector. This reduce n times clones'
1037 cost from O(n^2) to O(n).
1038 * include/std/regex: Add map dependency.
1039 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
1042 2014-07-01 Tim Shen <timshen@google.com>
1045 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
1046 not just regex containing back-references.
1047 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
1048 exchange _M_next and _M_alt for alternative operator,
1049 making matching from left to right.
1050 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
1051 Add position tracking fom DFS.
1052 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
1053 _Executor<>::_M_dfs): Likewise.
1054 * include/bits/regex_scanner.h: Remove unused enum entry.
1055 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
1058 2014-06-30 Jason Merrill <jason@redhat.com>
1060 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
1061 is pure, not inline.
1063 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
1066 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
1067 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1070 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1072 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1074 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1076 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
1078 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
1081 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
1083 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
1084 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
1085 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
1087 * include/ext/alloc_traits.h: Fix comment.
1089 * include/Makefile.am: Add new header.
1090 * include/Makefile.in: Regenerate.
1091 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
1092 New RAII utilities for working with allocators.
1093 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
1094 __allocator_type typedef and use new __allocated_ptr type.
1095 (_Sp_counted_ptr_inplace): Likewise.
1096 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
1097 __allocate_guarded to to simplify exception handling.
1098 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
1099 * include/std/future (_Result_alloc::_M_destroy): Likewise.
1100 (_Result_alloc::_S_allocate_result): Likewise.
1101 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
1102 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1103 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
1104 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
1106 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1108 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
1110 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
1111 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1113 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
1115 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
1116 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
1117 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
1118 Remove unused typedef.
1119 (time_get::do_get_monthname): Likewise.
1120 * include/bits/stl_tree.h: Add system_header pragma.
1121 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
1122 redundant const-qualifier.
1123 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
1124 instead of _GLIBCXX_USE_CONSTEXPR.
1126 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
1128 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
1129 * include/std/chrono (_Checked_integral_constant): Allow zero.
1130 * testsuite/20_util/duration/literals/values.cc: Test non-positive
1131 values and digit separators.
1132 * include/experimental/any
1135 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
1136 apply the signed specifier to wchar_t.
1137 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1138 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
1139 cv-qualifier and size.
1140 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1143 * include/experimental/any (any_v1): Rename namespace to
1144 fundamentals_v1. Change string returned by bad_any_cast::what().
1145 * include/experimental/optional (fundamentals_v1): Add namespace.
1146 * include/experimental/string_view (fundamentals_v1): Likewise.
1147 * testsuite/experimental/any/typedefs.cc: New.
1148 * testsuite/experimental/optional/typedefs.cc: New.
1149 * testsuite/experimental/string_view/typedefs.cc: New.
1151 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
1152 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1155 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1157 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
1159 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
1160 * include/Makefile.am: Add new header.
1161 * include/Makefile.in: Regenerate.
1162 * include/experimental/any: New.
1163 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
1165 * testsuite/experimental/any/assign/1.cc: New.
1166 * testsuite/experimental/any/assign/2.cc: New.
1167 * testsuite/experimental/any/cons/1.cc: New.
1168 * testsuite/experimental/any/cons/2.cc: New.
1169 * testsuite/experimental/any/cons/3.cc: New.
1170 * testsuite/experimental/any/misc/any_cast.cc: New.
1171 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
1172 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
1173 * testsuite/experimental/any/misc/swap.cc: New.
1174 * testsuite/experimental/any/modifiers/1.cc: New.
1175 * testsuite/experimental/any/observers/type.cc: New.
1177 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
1178 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
1180 * include/bits/shared_ptr.h (shared_ptr): Likewise.
1181 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1183 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1185 * include/parallel/list_partition.h (__parallel::list_partition):
1187 * include/std/iomanip (quoted): Likewise.
1188 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
1190 * doc/xml/api.xml: Link to more recent API docs.
1191 * include/bits/allocator.h: Fix link in doxygen comment.
1192 * include/bits/char_traits.h: Likewise.
1193 * include/bits/ios_base.h: Likewise.
1194 * include/bits/stl_map.h: Likewise.
1195 * include/bits/stl_multimap.h: Likewise.
1196 * include/bits/stl_multiset.h: Likewise.
1197 * include/bits/stl_set.h: Likewise.
1198 * include/bits/unordered_map.h: Likewise.
1199 * include/bits/unordered_set.h: Likewise.
1200 * include/ext/mt_allocator.h: Likewise.
1201 * include/std/fstream: Likewise.
1202 * include/std/iosfwd: Likewise.
1203 * include/std/ostream: Likewise.
1204 * include/std/sstream: Likewise.
1205 * include/std/streambuf: Likewise.
1206 * doc/html/*: Regenerate.
1208 * include/experimental/any (any_cast): Combine duplicate doxygen
1210 * include/experimental/string_view (basic_string_view): Update
1212 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
1213 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
1214 (dynamic_bitset): Improve Doxygen comments.
1215 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
1218 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
1220 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1221 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1223 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
1226 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
1227 (bin_search_tree_traits): Do not redeclare template-parameters.
1228 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
1230 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1232 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
1233 parameter for DocBook HTML generation.
1234 * doc/Makefile.in: Regenerate.
1235 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
1236 * doc/xml/faq.xml: Update content and improve formatting.
1237 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
1238 * doc/xml/manual/allocator.xml: Add stable ID attribute.
1239 * doc/xml/manual/bitmap_allocator.xml: Likewise.
1240 * doc/xml/manual/build_hacking.xml: Likewise.
1241 * doc/xml/manual/codecvt.xml: Change URL.
1242 * doc/xml/manual/ctype.xml: Add stable ID attribute.
1243 * doc/xml/manual/debug_mode.xml: Likewise.
1244 * doc/xml/manual/documentation_hacking.xml: Likewise.
1245 * doc/xml/manual/evolution.xml: Likewise.
1246 * doc/xml/manual/extensions.xml: Likewise.
1247 * doc/xml/manual/locale.xml: Likewise.
1248 * doc/xml/manual/messages.xml: Make section id consistent, improve
1250 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
1251 * doc/xml/manual/profile_mode.xml: Likewise.
1252 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
1253 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
1254 * doc/xml/manual/status_cxx2011.xml: Likewise.
1255 * doc/xml/manual/status_cxx2014.xml: Likewise.
1256 * doc/xml/manual/status_cxxtr1.xml: Likewise.
1257 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1258 * doc/xml/manual/using.xml: Likewise.
1259 * doc/html/*: Regenerate.
1261 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1263 * include/tr1/beta_function.tcc: Fix spelling of include guard in
1266 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1268 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1270 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
1272 DR 2344 - std::quoted doesn't respect padding
1273 * include/std/iomanip: Allow for padding in quoted inserters.
1274 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
1275 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
1277 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
1279 * testsuite/23_containers/map/operators/1.cc: Simplify test.
1281 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
1283 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1285 * doc/xml/manual/backwards_compatibility.xml
1286 (backwards.second.stringstreams): Likewise.
1287 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
1289 * doc/xml/manual/containers.xml (associative.bitset.type_string):
1290 Replace <quote> in code example.
1291 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
1292 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
1293 fix typos, improve markup.
1294 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
1295 <emphasis> with <replaceable>.
1296 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
1297 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
1298 and remove newlines in string literal.
1300 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1304 * testsuite/20_util/is_assignable/value.cc: Update.
1306 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
1308 * include/std/condition_variable (condition_variable_any::_Unlock): Do
1309 not swallow __forced_unwind.
1310 * include/std/future (__future_base::_Task_setter): Likewise.
1311 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1312 promise and rethrow.
1313 * include/std/mutex (try_lock): Likewise.
1314 * testsuite/30_threads/async/forced_unwind.cc: New.
1315 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1317 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1318 members to avoid wasted space when not using a cache.
1319 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1320 * include/bits/regex_compiler.tcc
1321 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1323 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1324 New enumeration type to indicate match mode.
1325 (__detail::_Executor::_State_info): New type holding members only
1326 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1328 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1329 Replace template parameter with run-time function parameter.
1330 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1331 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1332 implement DFS and BFS mode.
1333 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1334 Split implementation into ...
1335 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1336 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1337 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1338 argument instead of template argument.
1339 (__detail::_Executor::_M_dfs): Likewise.
1340 * include/bits/regex_scanner.tcc: Fix typos in comments.
1341 * testsuite/performance/28_regex/range.cc: New.
1343 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1344 Jonathan Wakely <jwakely@redhat.com>
1346 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1348 (aligned_union): New struct (C++11).
1349 (aligned_union_t): New type alias (C++14).
1350 * doc/xml/manual/status_cxx2011.xml: Update.
1351 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1352 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1355 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
1358 * include/experimental/string_view (operator basic_string): Correct
1360 (to_string): Replace with member function.
1361 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1362 allow _M_str to be null.
1363 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1364 default constructor semantics.
1365 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1366 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1367 copyright dates. Remove unused header.
1368 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1370 * testsuite/experimental/string_view/operations/data/char/1.cc:
1371 Fix copyright dates. Adjust to new default constructor semantics.
1372 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1374 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1376 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1377 (__uses_allocator_arg): Remove unused type.
1378 (__uses_alloc0): Turn into a trivial type.
1379 (__uses_alloc): Add missing template parameter in primary template.
1380 (__uses_alloc_impl): Rename to __uses_alloc_t.
1382 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
1384 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1385 work with previous versions of Tcl.
1387 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1388 Benjamin's old email address.
1390 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1391 Paolo's address too.
1393 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
1395 * include/tr2/bool_set: Use UTF-8 for accented characters.
1396 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1397 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1398 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1400 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
1403 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1405 (_State_base::_M_dot): Likewise.
1407 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
1409 * include/profile/map.h: Fix typo in comment; minor formatting fix.
1410 * include/profile/multimap.h: Likewise.
1411 * include/profile/set.h: Likewise.
1412 * include/profile/multiset.h: Likewise.
1414 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
1416 * include/profile/array: Clean useless white chars.
1417 * include/profile/base.h: Likewise.
1418 * include/profile/iterator_tracker.h: Likewise.
1419 * include/profile/bitset: Code cleanup and remove not instrumented code.
1420 * include/profile/deque: Likewise.
1421 * include/profile/forward_list: Likewise.
1422 * include/profile/list (std::__profile::_List_profile<>): New.
1423 (std::__profile::list<>): Inherit from latter and adapt.
1424 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1425 advise to match any ordered to unordered container conversion.
1426 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1428 * include/Makefile.am: Add latter.
1429 * include/Makefile.in: Regenerate.
1430 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1431 remove not instrumented code.
1432 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1433 * include/profile/set.h (std::__profile::set<>): Likewise.
1434 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1435 * include/profile/unordered_base.h: Add some line feed.
1436 * include/profile/unordered_map: Clean useless white chars and replace
1438 * include/profile/unordered_set: Likewise.
1439 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1440 (std::__profile::_Vector_profile_post<>): New.
1441 (std::__profile::vector<>): Inherit from latter and adapt.
1443 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
1446 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1447 dragonfly target selector to all tests that run on freebsd.
1449 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1451 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1452 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1454 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1456 * testsuite/30_threads/call_once/60497.cc: Likewise.
1457 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1458 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1459 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1460 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1461 * testsuite/30_threads/promise/60966.cc: Likewise.
1462 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1463 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1464 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1465 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1466 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1467 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1468 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1469 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1470 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1471 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1472 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1473 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1474 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1475 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1476 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1477 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1478 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1480 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
1483 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1485 * testsuite/23_containers/unordered_set/61143.cc: New.
1486 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1488 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
1491 * include/std/type_traits: Move include outside namespace std.
1492 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1493 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1494 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1497 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1500 2014-05-21 John Marino <gnugcc@marino.st>
1502 * acinclude.m4 (*-*-dragonfly*): New target.
1503 * configure: Regenerate.
1504 * configure.host (*-*-dragonfly*): New target.
1505 * config/locale/dragonfly/c_locale.cc: New.
1506 * config/locale/dragonfly/ctype_members.cc: New.
1507 * config/os/bsd/dragonfly/ctype_base.h: New.
1508 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1509 * config/os/bsd/dragonfly/ctype_inline.h: New.
1510 * config/os/bsd/dragonfly/os_defines.h: New.
1512 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
1514 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1515 libstdc++.exp imports those flags via getenv.
1516 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1517 CXXFLAGS contains a '-O' flag.
1519 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1523 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1526 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1527 and add unwind directives.
1529 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1531 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1533 2014-05-20 Tim Shen <timshen91@gmail.com>
1536 * include/bits/regex_compiler.h
1537 (_BracketMatcher<>::_M_add_character_class): Add negative character
1539 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1541 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1544 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1546 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1548 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1550 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1551 * libsupc++/new_opnt.cc: Likewise.
1553 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1556 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1557 Pass lock into _M_do_set and hold it until the function returns.
1558 Signal condition variable after call_once completes.
1559 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1561 * testsuite/30_threads/promise/60966.cc: New.
1563 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1564 Sandra Loosemore <sandra@codesourcery.com>
1566 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1567 until after checking that the test is eligible to be run.
1569 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1571 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1572 test for 32-bit target.
1573 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1575 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1578 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1581 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1582 and add unwind directives.
1584 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1586 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1588 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1590 (chrono_literals::_Checked_integral_constant): Define.
1591 Simplify UDL operator templates and check for overflow.
1592 * testsuite/20_util/duration/literals/range.cc: New.
1594 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1595 Jonathan Wakely <jwakely@redhat.com>
1598 * include/bits/parse_numbers.h: Use integral_constant to remove
1599 duplication and simplify.
1600 * testsuite/20_util/duration/literals/61166.cc: New.
1602 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1605 * include/std/type_traits (__make_unsigned, __make_signed): Define
1606 specializations for wchar_t, char16_t and char32_t.
1607 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1608 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1609 test for make_unsigned<volatile wchar_t>.
1610 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1612 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1614 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1616 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1619 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1621 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1622 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1623 * include/std/utility (tuple_size, tuple_element): Likewise.
1624 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1625 Adjust dg-error line number.
1627 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1629 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1630 (__tuple_element_t): Define.
1631 (tuple_element): Use __tuple_element_t.
1632 (__cv_tuple_size): Define.
1633 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1634 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1635 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1636 (__tuple_compare): Remove size check, re-order parameters.
1637 (operator==, operator<): Use static_assert to check requirements.
1638 * include/std/functional (__volget): use __tuple_element_t.
1639 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1640 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1642 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1645 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1646 prevent ADL. Cast comparison results to bool.
1647 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1648 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1651 * include/debug/array (get): Qualify call to other get overload.
1652 * include/profile/array (get): Likewise.
1653 * include/std/array (get): Likewise.
1654 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1655 * include/std/mutex (unique_lock, call_once): Use __addressof.
1656 (__unlock_impl): Remove unused template.
1657 (__try_to_lock): Declare inline.
1658 (__try_lock_impl::__do_try_lock): Qualify function calls.
1659 (lock): Avoid narrowing conversion.
1660 * testsuite/20_util/bind/60497.cc: New.
1661 * testsuite/23_containers/array/element_access/60497.cc: New.
1662 * testsuite/30_threads/call_once/60497.cc: New.
1663 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1665 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1667 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1668 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1669 * acinclude.m4 (libtool_VERSION): Bump.
1670 * configure: Regenerate.
1671 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1672 * testsuite/28_regex/regex_error/base.cc: New.
1674 2014-05-08 Joshua Gay <jgay@gnu.org>
1677 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1678 source" with "free software".
1679 * doc/html/faq.html: Likewise.
1681 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1684 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1686 (operator=(const ios_base&)): Likewise.
1687 * include/std/streambuf: Remove trailing whitespace.
1688 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1689 _M_out_end. Define as defaulted for C++11.
1690 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1691 (swap(basic_streambuf&)): Define for C++11.
1692 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1695 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1697 * include/std/iostream: Fix URL in comment.
1698 * src/c++98/ios_init.cc: Fix path in comment.
1700 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1702 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1703 * configure: Regenerate.
1705 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1708 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1709 comparison function.
1710 * testsuite/23_containers/set/cons/61023.cc: New.
1713 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1715 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1716 arithmetic to obtain a mutable iterator from const_iterator.
1717 * include/bits/vector.tcc (vector::insert): Likewise.
1718 * include/debug/vector (vector::erase): Likewise.
1719 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1720 Adjust dg-error line number.
1721 * testsuite/23_containers/vector/requirements/dr438/
1722 constructor_1_neg.cc: Likewise.
1723 * testsuite/23_containers/vector/requirements/dr438/
1724 constructor_2_neg.cc: Likewise.
1725 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1728 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1730 * include/Makefile.in: Regenerate.
1732 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1734 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1735 parameter to pass the 2 instances to check allocator equality.
1736 * include/debug/safe_container.h: New, define _Safe_container<>.
1737 * include/Makefile.am: Add previous.
1738 * include/debug/deque (std::__debug::deque<>): Inherit
1739 _Safe_container<>. Use default implementation for all special
1741 * include/debug/forward_list (std::__debug::forward_list<>):
1743 * include/debug/list (std::__debug::list<>): Likewise.
1744 * include/debug/map.h (std::__debug::map<>): Likewise.
1745 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1746 * include/debug/set.h (std::__debug::set<>): Likewise.
1747 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1748 * include/debug/string (std::__debug::basic_string<>): Likewise.
1749 * include/debug/unordered_map
1750 (std::__debug::unordered_map<>): Likewise.
1751 (std::__debug::unordered_multimap<>): Likewise.
1752 * include/debug/unordered_set
1753 (std::__debug::unordered_set<>): Likewise.
1754 (std::__debug::unordered_multiset<>): Likewise.
1755 * include/debug/vector (std::__debug::vector<>): Likewise.
1756 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1758 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1759 (~_Safe_sequence_base()): Add noexcept.
1760 * include/debug/safe_sequence.h
1761 (std::__debug::_Safe_node_sequence<>): New.
1762 * include/debug/safe_unordered_base.h
1763 (_Safe_unordered_container_base()): Add noexcept.
1764 (~_Safe_unordered_container_base()): Likewise.
1765 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1766 * include/debug/safe_unordered_container.h:
1767 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1768 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1769 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1771 * testsuite/util/debug/checks.h (check_construct1): Just implement
1772 an invalid constructor invocation and no other operations
1773 potentially not supported by some types of container.
1774 (check_construct2): Likewise.
1775 (check_construct3): Likewise.
1776 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1777 check on iterators to make sure they are correctly moved in debug
1779 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1781 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1782 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1783 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1784 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1786 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1787 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1789 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1790 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1791 * testsuite/23_containers/unordered_map/allocator/move.cc:
1793 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1795 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1797 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1799 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1801 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1803 * testsuite/23_containers/unordered_set/allocator/move.cc:
1805 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1807 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1809 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1811 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1813 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1815 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1817 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1818 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1819 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1820 * testsuite/23_containers/map/debug/move_neg.cc: New.
1821 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1822 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1823 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1824 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1825 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1826 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1827 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1828 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1829 * testsuite/23_containers/set/debug/move_neg.cc: New.
1830 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1832 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1834 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1835 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1837 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1839 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1841 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1843 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1845 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1847 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1849 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1851 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1852 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1854 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1856 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1857 (CXXABI_1.3.9): Remove __float128 symbols.
1859 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1862 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1863 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1864 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1865 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1867 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1870 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1871 Check the correct type in the static assertion.
1872 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1874 2014-04-27 Tim Shen <timshen91@gmail.com>
1876 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1877 Add _S_opcode_repeat support to distingush a loop from
1878 _S_opcode_alternative.
1879 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1880 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1881 _StateSeq<>::_M_clone): Likewise.
1882 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1884 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1885 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1886 Uglify local variable __i.
1887 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1888 Use size_t instead of int to compare with vector::size().
1890 2014-04-27 Tim Shen <timshen91@gmail.com>
1892 * include/bits/regex_executor.h: Add _M_rep_count to track how
1893 many times this repeat node are visited.
1894 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1895 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1898 2014-04-27 Tim Shen <timshen91@gmail.com>
1900 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1901 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1902 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1903 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1904 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1905 Adjust debug NFA dump.
1907 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1910 * include/experimental/optional (operator!=): Implement in terms of
1912 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1913 * testsuite/experimental/optional/relops/2.cc: Likewise.
1914 * testsuite/experimental/optional/relops/3.cc: Likewise.
1915 * testsuite/experimental/optional/relops/4.cc: Likewise.
1916 * testsuite/experimental/optional/relops/5.cc: Likewise.
1917 * testsuite/experimental/optional/relops/6.cc: Likewise.
1919 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1922 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1923 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1926 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1928 * testsuite/util/testsuite_abi.cc (check_version): Update for
1931 2014-04-24 Tim Shen <timshen91@gmail.com>
1933 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1934 Do _M_alt before _M_next.
1935 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1937 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1940 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1941 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1942 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1944 2014-04-24 Andreas Schwab <schwab@suse.de>
1946 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1947 new CXXABI_1.3.9 symbols.
1949 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1951 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1952 (CXXABI_1.3.9): New version.
1954 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1957 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1958 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1959 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1961 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1963 * configure.host: Remove solaris2.9 handling.
1964 Change os_include_dir to os/solaris/solaris2.10.
1965 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1966 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1967 * configure: Regenerate.
1968 * config/abi/post/solaris2.9: Remove.
1969 * config/os/solaris/solaris2.9: Rename to ...
1970 * config/os/solaris/solaris2.10: ... this.
1971 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1974 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1975 Remove Solaris 9 reference.
1976 * doc/html/manual/configure.html: Regenerate.
1978 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1979 Remove *-*-solaris2.9 xfail.
1980 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1983 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1986 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1988 * include/std/functional (__is_location_invariant): Use __or_ helper.
1990 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1993 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1996 * include/std/atomic (atomic<_Tp>): Add static assertion.
1997 * testsuite/29_atomics/atomic/60695.cc: New.
2000 * include/std/functional (function::_Callable): Exclude own type
2001 from the callable checks.
2002 * testsuite/20_util/function/60594.cc: New.
2004 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
2005 const to constexpr member functions.
2007 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
2008 delegating constructor.
2009 * include/bits/shared_ptr_base.h
2010 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
2012 * include/std/atomic: Uglify parameter names.
2015 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2016 1.cc: Fix invalid explicit instantiations with unqualified names.
2017 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
2019 * testsuite/20_util/tuple/53648.cc: Likweise.
2020 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
2022 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
2024 * testsuite/23_containers/unordered_map/requirements/
2025 debug_container.cc: Likewise.
2026 * testsuite/23_containers/unordered_map/requirements/
2027 explicit_instantiation/3.cc: Likewise.
2028 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
2030 * testsuite/23_containers/unordered_multimap/requirements/
2031 explicit_instantiation/3.cc: Likewise.
2032 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
2034 * testsuite/23_containers/unordered_multiset/requirements/
2035 explicit_instantiation/3.cc: Likewise.
2036 * testsuite/23_containers/unordered_set/requirements/
2037 debug_container.cc: Likewise.
2038 * testsuite/23_containers/unordered_set/requirements/
2039 explicit_instantiation/3.cc: Likewise.
2041 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
2042 not use uninitialized members in mem-initializers.
2043 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
2044 * testsuite/util/testsuite_common_types.h: Update comment.
2046 * include/experimental/string_view: Fix inconsistent exception specs.
2048 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
2049 Remove name of unused parameter.
2051 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
2053 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
2054 _Vector_base::_M_allocate): NullablePointer requirements do not
2055 include initialization from literal zero, use value-initialization.
2056 * include/bits/vector.tcc (vector::_M_insert_aux,
2057 vector::_M_explace_back_aux): Likewise for assignment.
2059 * include/bits/allocator.h (operator==, operator!=): Add exception
2063 * include/std/tuple (get): Qualify calls to prevent ADL.
2064 * testsuite/20_util/tuple/60497.cc: New.
2066 * include/std/tuple (tuple_element_t): Define.
2067 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
2069 * testsuite/20_util/tuple/tuple_element_t.cc: New.
2071 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
2074 * include/bits/stl_iterator.h (move_iterator::reference,
2075 move_iterator::operator*): Implement LWG 2106.
2076 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
2078 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
2080 * include/std/complex (__complex_exp, pow): Specify the template
2081 parameter in calls to std::polar, for expression templates.
2083 2014-04-10 Andreas Schwab <schwab@suse.de>
2085 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
2087 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
2088 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
2090 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2092 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
2094 * testsuite/20_util/exchange/1.cc: Add missing return statements.
2095 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
2096 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
2099 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
2100 Jack Howarth <howarth@bromo.med.uc.edu>
2103 * testsuite/30_threads/condition_variable/54185.cc: Skip for
2106 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
2108 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
2110 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
2112 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
2113 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
2114 * doc/xml/manual/concurrency_extensions.xml
2115 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
2116 * doc/html/*: Regenerate.
2118 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
2119 Jonathan Wakely <jwakely@redhat.com>
2122 * include/std/iomanip (_Quoted_string operator>>): Do not clear
2123 string if input is not quoted.
2124 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
2126 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
2128 * libsupc++/eh_ptr.cc: Improve static_assert messages.
2130 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2132 * testsuite/18_support/exception_ptr/60612-terminate.cc
2133 (terminate, f): Wrap in _GLIBCXX_USE_C99.
2134 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
2136 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
2138 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
2140 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
2141 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
2143 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
2145 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
2147 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
2148 Fix bad s/part/chapter/ substitutions.
2149 * doc/xml/manual/io.xml (std.io): Likewise.
2150 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
2151 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
2153 * doc/html/*: Regenerate.
2155 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
2158 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
2159 compatible with __cxa_exception.
2160 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
2161 Fix typos in comments.
2162 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
2163 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
2165 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
2168 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
2169 Use sizeof pointer type not the element type.
2170 * testsuite/29_atomics/atomic/60658.cc: New.
2172 2014-03-24 Jakub Jelinek <jakub@redhat.com>
2174 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2175 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2176 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2177 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2178 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2179 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2180 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2181 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2182 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2183 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2186 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2188 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
2190 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
2192 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
2193 to delegated constructor.
2194 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
2195 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
2198 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
2200 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2203 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2205 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
2208 * include/debug/functions.h (_Is_contiguous_sequence): Define.
2209 (__foreign_iterator): Accept additional iterator. Do not dispatch on
2211 (__foreign_iterator_aux2): Likewise. Add overload for iterators
2212 from different types of debug container. Use _Is_contiguous_sequence
2213 instead of is_lvalue_reference.
2214 (__foreign_iterator_aux3): Accept additional iterator. Avoid
2215 dereferencing past-the-end iterator.
2216 (__foreign_iterator_aux4): Use const value_type* instead of
2217 potentially user-defined const_pointer type.
2218 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
2219 and pass end iterator to __gnu_debug::__foreign_iterator.
2220 (__glibcxx_check_insert_range_after): Likewise.
2221 (__glibcxx_check_max_load_factor): Fix comment.
2222 * include/debug/vector (_Is_contiguous_sequence): Define partial
2224 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
2225 -std=gnu++11 option and unused header.
2226 * testsuite/23_containers/vector/debug/60587.cc: New.
2227 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
2229 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2231 * crossconfig.m4: Support spu-*-elf* targets.
2232 * configure: Regenerate.
2234 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
2237 * include/std/future (__future_base::_Task_state<>): Change
2238 constructors to template functions using perfect forwarding.
2239 (__create_task_state): Use decayed type as stored task.
2240 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
2241 * testsuite/30_threads/packaged_task/60564.cc: New.
2243 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
2245 * scripts/create_testsuite_files: Add testsuite/experimental in
2246 the list of folders to search for tests.
2248 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
2250 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2252 2014-03-15 Tim Shen <timshen91@gmail.com>
2254 * include/bits/regex.h: Add/modify comments.
2255 * include/bits/regex_compiler.h: Likewise.
2256 * include/bits/regex_executor.h: Likewise.
2257 * include/bits/regex_executor.tcc: Likewise.
2258 * include/bits/regex_scanner.h: Likewise.
2260 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
2263 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
2264 _ZNSt12system_errorC* symbols which are not exported on any target.
2266 2014-03-12 Roland McGrath <mcgrathr@google.com>
2267 Mark Seaborn <mseaborn@google.com>
2270 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
2271 the address of a null pointer, not with a null pointer to pointer.
2272 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
2273 * testsuite/18_support/bad_exception/59392.cc: New file.
2275 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
2278 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
2280 * include/debug/map (map::operator=(map&&)): Likewise.
2281 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
2282 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
2283 * include/debug/set (set::operator=(set&&)): Likewise.
2284 * include/debug/unordered_map
2285 (unordered_map::operator=(unordered_map&&)): Likewise.
2286 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
2287 * include/debug/unordered_set
2288 (unordered_set::operator=(unordered_set&&)): Likewise.
2289 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
2290 * include/debug/vector (vector::operator=(vector&&)): Likewise.
2291 * testsuite/23_containers/forward_list/debug/60499.cc: New
2292 * testsuite/23_containers/map/debug/60499.cc: New
2293 * testsuite/23_containers/multimap/debug/60499.cc: New
2294 * testsuite/23_containers/multiset/debug/60499.cc: New
2295 * testsuite/23_containers/set/debug/60499.cc: New
2296 * testsuite/23_containers/unordered_map/debug/60499.cc: New
2297 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
2298 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
2299 * testsuite/23_containers/unordered_set/debug/60499.cc: New
2300 * testsuite/23_containers/vector/debug/60499.cc: New
2302 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
2304 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2305 for filesystem and fundamentals TS work items.
2307 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
2310 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2311 Adjust dg-error directives.
2313 2014-02-26 Tim Shen <timshen91@gmail.com>
2315 * include/bits/regex.tcc (match_results<>::format,
2316 regex_replace<>): Update __out after calling std::copy.
2317 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2319 * testsuite/28_regex/match_results/format.cc: Likewise.
2321 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
2324 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2325 allocator_type&)): Remove redundant call to _M_initialize_map.
2326 (deque::deque(const allocator_type&)): Initialize _Base with a
2327 constructor that calls _M_initialize_map.
2331 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
2333 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2336 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
2338 Rename testsuite directory shared_mutex to shared_timed_mutex
2340 * testsuite/30_threads/shared_mutex: Moved to...
2341 * testsuite/30_threads/shared_timed_mutex: ...here
2343 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
2345 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2346 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2347 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2348 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2349 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2350 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2351 * testsuite/30_threads/shared_lock/requirements/
2352 explicit_instantiation.cc: Ditto.
2353 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2354 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2355 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2356 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2357 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2358 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2359 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2360 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2361 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2362 * testsuite/30_threads/shared_mutex/requirements/
2363 standard_layout.cc: Ditto.
2364 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2365 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2366 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2367 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2368 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2370 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2372 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2373 execution on i?86-*-solaris2.9, remove comment.
2374 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2376 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
2378 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2379 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2380 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2382 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
2384 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2385 not use varargs when argument could be non-POD.
2386 (__alloctr_rebind_helper): Eliminate static const bool member by
2387 using true_type and false_type.
2388 (allocator_traits::__allocate_helper): Likewise.
2389 (allocator_traits::__construct_helper): Likewise.
2390 (allocator_traits::__destroy_helper): Likewise.
2391 (allocator_traits::__maxsize_helper): Likewise.
2392 (allocator_traits::__select_helper): Likewise.
2393 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2394 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2395 Remove redundant condition.
2396 * include/bits/stl_vector.h (vector::operator=(const vector&)):
2398 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2399 indirection through __alloc_traits.
2400 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2401 Eliminate static const bool members by using true_type and false_type.
2402 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2403 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2404 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2406 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2409 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2410 (vector::_M_data_ptr): New overloaded functions to ensure empty
2411 vectors do not dereference the pointer.
2412 * testsuite/23_containers/vector/59829.cc: New.
2413 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2414 Adjust dg-error line number.
2415 * testsuite/23_containers/vector/requirements/dr438/
2416 constructor_1_neg.cc: Likewise.
2417 * testsuite/23_containers/vector/requirements/dr438/
2418 constructor_2_neg.cc: Likewise.
2419 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2423 * include/ext/array_allocator.h: Add deprecated attribute.
2426 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2427 installation and use of python printers.
2428 * doc/xml/manual/status_cxx2011.xml: Update.
2429 * doc/html/*: Regenerate.
2431 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
2432 Kyle Lippincott <spectral@google.com>
2435 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2436 constructor and grant friendship to weak_ptr.
2437 (weak_ptr::lock()): Use new constructor.
2438 * include/bits/shared_ptr_base.h
2439 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2440 and define specializations.
2441 (__shared_count): Add new non-throwing constructor.
2442 (__shared_ptr): Add new non-throwing constructor and grant friendship
2444 (__weak_ptr::lock()): Use new constructor.
2445 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2446 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2448 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
2451 * include/bits/shared_ptr_base.h
2452 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2455 2014-01-27 Jason Merrill <jason@redhat.com>
2460 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2461 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2462 (__cxa_allocate_exception): Don't set it here.
2464 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
2466 * include/bits/stl_map.h: Remove anachronistic comment.
2467 * include/bits/stl_multimap.h: Add whitespace.
2468 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2469 -std=gnu++11 instead of -std=c++11.
2470 * testsuite/23_containers/map/operators/2.cc: Likewise.
2471 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2472 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2473 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2475 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2476 * configure: Regenerate.
2478 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2481 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2482 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2484 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2485 Peter A. Bigot <pab@pabigot.com>
2488 * include/experimental/string_view
2489 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2490 Correct copy start location.
2492 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2493 Peter A. Bigot <pab@pabigot.com>
2496 * include/experimental/string_view (operator[](size_type) const):
2497 Fix one-off index error in debug check.
2498 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2499 test basic_string_view at size().
2500 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2502 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2503 Peter A. Bigot <pab@pabigot.com>
2506 * include/experimental/string_view
2507 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2508 * testsuite/experimental/string_view/operations/substr/char/1.cc:
2509 Comment out catch of out_of_range; No terminating null
2510 in basic_string_view. Check begin == end.
2511 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2514 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
2517 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2518 constructor to prevent it being implicitly defined as deleted, but
2519 do not copy anything.
2520 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2521 Define copy and move constructors similar to _Safe_sequence_base's.
2522 * testsuite/23_containers/unordered_map/59548.cc: New.
2524 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2525 Steve Ellcey <sellcey@mips.com>
2527 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2529 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2530 * (configure, config.h.in): Regenerate.
2531 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2533 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2535 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2536 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2539 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2540 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2542 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2544 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2545 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2546 functions to perform moving or copying of elements from rvalue tree.
2547 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2548 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2549 * testsuite/23_containers/map/59872.cc: New.
2550 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2552 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2554 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2557 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2558 Split into separate default constructor and constructor taking
2560 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2561 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2563 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2564 * include/debug/list (list::list(const _Allocator&)): Likewise.
2565 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2567 * include/debug/multimap.h
2568 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2569 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2571 * include/debug/multiset.h
2572 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2573 * include/debug/vector (vector::vector(const allocator_type&)):
2575 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2576 * include/profile/list (list::list(const _Allocator&)): Likewise.
2577 * include/profile/map.h
2578 (map::map(const _Compare&, const _Allocator&)): Likewise.
2579 * include/profile/multimap.h
2580 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2581 * include/profile/set.h
2582 (set::set(const _Compare&, const _Allocator&)): Likewise.
2583 * include/profile/multiset.h
2584 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2585 * include/profile/vector (vector::vector(const _Allocator&)):
2587 * testsuite/23_containers/deque/58764.cc: New.
2588 * testsuite/23_containers/list/58764.cc: New.
2589 * testsuite/23_containers/map/58764.cc: New.
2590 * testsuite/23_containers/multimap/58764.cc: New.
2591 * testsuite/23_containers/set/58764.cc: New.
2592 * testsuite/23_containers/multiset/58764.cc: New.
2593 * testsuite/23_containers/vector/58764.cc: New.
2594 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2595 Adjust dg-error line number.
2596 * testsuite/23_containers/deque/requirements/dr438/
2597 constructor_1_neg.cc: Likewise.
2598 * testsuite/23_containers/deque/requirements/dr438/
2599 constructor_2_neg.cc: Likewise.
2600 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2602 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2604 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2606 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2608 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2610 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2612 * testsuite/23_containers/vector/requirements/dr438/
2613 constructor_1_neg.cc: Likewise.
2614 * testsuite/23_containers/vector/requirements/dr438/
2615 constructor_2_neg.cc: Likewise.
2616 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2619 PR libstdc++/58764 (again)
2620 * include/bits/stl_list.h (list): Make default constructor's exception
2621 specification conditional.
2622 * include/bits/stl_vector.h (vector): Likewise.
2623 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2624 to default constructor.
2625 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2626 Adjust dg-error line number.
2627 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2629 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2631 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2633 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2635 * testsuite/23_containers/vector/requirements/dr438/
2636 constructor_1_neg.cc: Likewise.
2637 * testsuite/23_containers/vector/requirements/dr438/
2638 constructor_2_neg.cc: Likewise.
2639 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2642 2014-01-21 Tim Shen <timshen91@gmail.com>
2644 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2645 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2646 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2648 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2651 * include/bits/hashtable.h (__cache_default): Do not depend on
2652 whether the hash function is DefaultConstructible or CopyAssignable.
2653 (_Hashtable): Adjust static assertions.
2654 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2655 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2656 dg-error line number.
2657 * testsuite/23_containers/unordered_set/
2658 not_default_constructible_hash_neg.cc: Remove.
2660 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2662 * scripts/create_testsuite_files: Add testsuite/experimental in
2663 the list of folders to search for tests.
2664 * include/experimental/string_view
2665 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2666 incompatible with constexpr qualifier.
2667 (basic_string_view<>::front()): Likewise.
2668 (basic_string_view<>::back()): Likewise.
2669 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2670 Merge dg-options directives into one.
2671 * testsuite/experimental/string_view/element_access/char/2.cc:
2672 Likewise. Remove invalid experimental namespace scope on
2675 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2678 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2679 friendship to _Local_iterator_base<..., false>.
2680 (_Local_iterator_base): Give protected access to all existing members.
2681 (_Local_iterator_base::_M_curr()): New public accessor.
2682 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2683 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2684 the lifetime of the _Hash_code_base explicitly.
2685 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2686 (_Local_iterator_base<..., false>): Define copy constructor and copy
2687 assignment operator that use new functions to manage _Hash_code_base.
2688 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2689 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2690 Use public API for _Local_iterator_base.
2691 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2692 * include/debug/unordered_map (__debug::unordered_map::erase(),
2693 __debug::unordered_multimap::erase()): Likewise.
2694 * include/debug/unordered_set (__debug::unordered_set::erase(),
2695 __debug::unordered_multiset::erase()): Likewise.
2696 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2698 2014-01-19 Tim Shen <timshen91@gmail.com>
2700 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2701 Fix parse error of multiple consecutive quantifiers like "a**".
2702 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2704 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2706 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2708 * include/profile/set.h (set): Implement C++11 allocator-aware
2709 container requirements.
2710 * include/profile/map.h (map): Likewise.
2711 * include/profile/multiset.h (multiset): Likewise.
2712 * include/profile/multimap.h (multimap): Likewise.
2713 * include/profile/set.h
2714 (set::operator=(const set&)): Define as default in C++11 mode.
2715 (set::operator=(set&&)): Likewise.
2716 * include/profile/map.h
2717 (map::operator=(const map&)): Likewise.
2718 (map::operator=(map&&)): Likewise.
2719 * include/profile/multiset.h
2720 (multiset::operator=(const multiset&)): Likewise.
2721 (multiset::operator=(multiset&&)): Likewise.
2722 * include/profile/multimap.h
2723 (multimap::operator=(const multimap&)): Likewise.
2724 (multimap::operator=(multimap&&)): Likewise.
2725 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2726 Rely on the same operator from normal mode.
2727 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2729 * include/profile/multiset.h
2730 (multiset::operator=(std::initializer_list<>)): Likewise.
2731 * include/profile/multimap.h
2732 (multimap::operator=(std::initializer_list<>)): Likewise.
2733 * include/profile/set.h (set::swap(set&)): Add noexcept
2735 * include/profile/map.h (map::swap(map&)): Likewise.
2736 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2737 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2739 2014-01-17 Tim Shen <timshen91@gmail.com>
2741 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2743 * include/bits/regex_automaton.h: Do not use std::set.
2744 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2745 _BracketMatcher<>::_M_add_collating_element(),
2746 _BracketMatcher<>::_M_add_equivalence_class(),
2747 _BracketMatcher<>::_M_make_range()): Likewise.
2748 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2750 * include/bits/regex_executor.h: Do not use std::queue.
2751 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2752 _Executor<>::_M_dfs()): Likewise.
2753 * include/std/regex: Remove <map>, <set> and <queue>.
2755 2014-01-17 Tim Shen <timshen91@gmail.com>
2757 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2758 basic_regex<>::assign()): Change __compile_nfa to accept
2760 * include/bits/regex_compiler.h: Change _Compiler's template
2761 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2762 * include/bits/regex_compiler.tcc: Likewise.
2764 2014-01-17 Tim Shen <timshen91@gmail.com>
2766 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2768 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2769 _ScannerBase from _Scanner; Change _Scanner's template argument from
2770 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2772 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2773 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2774 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2776 * include/std/regex: Add <cstring> for using strchr.
2778 2014-01-17 Tim Shen <timshen91@gmail.com>
2780 * bits/regex_automaton.tcc: Indentation fix.
2781 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2782 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2783 _BracketMatcher<>): Add bool option template parameters and
2784 specializations to make matching more efficient and space saving.
2785 * bits/regex_compiler.tcc: Likewise.
2787 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2790 * include/bits/hashtable_policy.h: Fix some long lines.
2791 * include/bits/hashtable.h (__hash_code_base_access): Define and
2792 use it to check its _M_bucket_index noexcept qualification. Use
2794 (__access_protected_ctor): ...this.
2795 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2797 * testsuite/23_containers/unordered_set/
2798 not_default_constructible_hash_neg.cc: Likewise.
2800 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2802 * include/debug/set.h (set): Implement C++11 allocator-aware
2803 container requirements.
2804 * include/debug/map.h (map): Likewise.
2805 * include/debug/multiset.h (multiset): Likewise.
2806 * include/debug/multimap.h (multimap): Likewise.
2807 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2808 fix implementation regarding management of safe iterators.
2809 * include/debug/map.h (map::operator=(map&&)): Likewise.
2810 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2811 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2813 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2814 Rely on the same operator from normal mode.
2815 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2817 * include/debug/multiset.h
2818 (multiset::operator=(std::initializer_list<>)): Likewise.
2819 * include/debug/multimap.h
2820 (multimap::operator=(std::initializer_list<>)): Likewise.
2821 * include/debug/set.h (set::swap(set&)): Add noexcept
2822 specification, add allocator equality check.
2823 * include/debug/map.h (map::swap(map&)): Likewise.
2824 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2825 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2827 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2830 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2831 and stylistic improvements.
2832 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2833 and update for C++11.
2834 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2837 * doc/xml/manual/backwards_compatibility.xml
2838 (backwards.third.nocreate_noreplace): Correct and expand.
2841 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2843 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2846 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2847 support for non-Movable types.
2850 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2852 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2854 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2855 *this allocator instance when building temporary vector instance
2856 so that *this allocator does not get moved.
2857 * include/debug/safe_base.h
2858 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2859 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2860 move constructor from _Safe_sequence_base.
2861 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2862 safe iterators if the instance is moved.
2863 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2864 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2865 check on a vector iterator.
2866 * testsuite/23_containers/vector/allocator/move_assign.cc
2868 (test03): New, test with a non-propagating allocator.
2869 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2871 2014-01-07 Tim Shen <timshen91@gmail.com>
2873 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2874 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2875 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2876 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2877 _BracketMatcher<>::_M_add_char(),
2878 _BracketMatcher<>::_M_add_collating_element(),
2879 _BracketMatcher<>::_M_add_equivalence_class(),
2880 _BracketMatcher<>::_M_add_character_class(),
2881 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2882 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2883 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2884 to template parameter; Add cache for _BracketMatcher. Adjust
2885 declarations from here...
2886 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2887 imbuing a regex will trigger a recompilation to rebuild the cache.
2888 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2889 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2890 different template bool parameters.
2891 * include/bits/regex_executor.h: Remove unnecessary declarations.
2892 * include/std/regex: Adjust including orders.
2893 * testsuite/28_regex/traits/char/user_defined.cc: New.
2894 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2896 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2898 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2899 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2900 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2901 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2902 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2904 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2906 Update copyright years
2908 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2910 * testsuite/18_support/new_handler.cc,
2911 testsuite/18_support/terminate_handler.cc,
2912 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2913 the copyright notice.
2915 Copyright (C) 2014 Free Software Foundation, Inc.
2917 Copying and distribution of this file, with or without modification,
2918 are permitted in any medium without royalty provided the copyright
2919 notice and this notice are preserved.