1 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
6 2014-10-07 François Dumont <fdumont@gcc.gnu.org>
8 * testsuite/util/testsuite_counter_type.h
9 (counter_type::operator<(const counter_type&)): Update
11 * testsuite/25_algorithms/make_heap/complexity.cc: New.
12 * testsuite/25_algorithms/pop_heap/complexity.cc: New.
13 * testsuite/25_algorithms/push_heap/complexity.cc: New.
14 * testsuite/25_algorithms/sort_heap/complexity.cc: New.
16 2014-10-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
17 Jonathan Wakely <jwakely@redhat.com>
20 * doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
21 * doc/html/manual/status.html: Regenerate.
22 * include/bits/ios_base.h (hexfloat): New function.
23 (defaultfloat): New function.
24 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
25 hexadecimal floating point format.
26 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
29 2014-10-06 Jonathan Wakely <jwakely@redhat.com>
31 * include/Makefile.am: Add new header.
32 * include/Makefile.in: Regenerate.
33 * include/experimental/tuple: New
34 * doc/xml/manual/status_cxx2014.xml: Update.
35 * doc/html/manual/status.html: Regenerate.
36 * testsuite/experimental/feat-lib-fund.cc: Test for new header.
37 * testsuite/experimental/tuple/apply.cc: New.
39 2014-10-05 François Dumont <fdumont@gcc.gnu.org>
42 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
44 * testsuite/23_containers/unordered_set/63456.cc: New.
46 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
49 * doc/xml/manual/containers.xml: Remove outdated section.
50 * doc/html/*: Regenerate.
52 2014-10-02 Jonathan Wakely <jwakely@redhat.com>
54 * include/c_global/ctgmath: Include <complex>.
55 * testsuite/26_numerics/headers/ctgmath/complex.cc: New.
56 * doc/xml/manual/status_cxx2011.xml: Update.
57 * doc/html/manual/status.html: Regenerate.
59 2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
61 * include/bits/stl_function.h: Generic associative lookup feature
63 * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
65 * testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
66 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
67 * testsuite/20_util/duration/literals/range.cc: Adjust.
68 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
69 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
70 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
71 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
72 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
73 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
74 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
77 2014-10-01 François Dumont <fdumont@gcc.gnu.org>
79 * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
80 Adapt to latest modifications on debug iterators.
82 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
84 * include/std/type_traits: Add is_final<> type trait for C++14.
85 * testsuite/util/testsuite_tr1.h: Add
86 * testsuite/20_util/is_final/requirements/
87 explicit_instantiation.cc: New.
88 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
89 * testsuite/20_util/is_final/value.cc: New.
90 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
91 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
92 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
94 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
96 Implement SD-6: SG10 Feature Test Recommendations
97 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
98 * include/bits/stl_algobase.h: Ditto.
99 * include/bits/stl_function.h: Ditto.
100 * include/bits/unique_ptr.h: Ditto.
101 * include/std/chrono: Ditto.
102 * include/std/complex: Ditto.
103 * include/std/iomanip: Ditto.
104 * include/std/shared_mutex: Ditto.
105 * include/std/tuple: Ditto.
106 * include/std/type_traits: Ditto.
107 * include/std/utility: Ditto.
108 * testsuite/experimental/feat-cxx14.cc: New.
109 * testsuite/experimental/feat-lib-fund.cc: New.
110 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
111 * testsuite/20_util/duration/literals/range.cc: Adjust.
112 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
113 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
114 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
115 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
116 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
117 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
118 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
121 2014-09-30 Siva Chandra Reddy <sivachandra@google.com>
123 * python/hook.in: Only import libstdcxx.v6.
124 * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
126 2014-09-30 Jonathan Wakely <jwakely@redhat.com>
128 * doc/xml/manual/status_cxx2011.xml: Update.
129 * doc/html/manual/status.html: Regenerate.
131 2014-09-30 Andreas Schwab <schwab@linux-m68k.org>
133 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
136 * configure.host (abi_baseline_pair): If try_cpu is generic use
137 host_cpu for the default.
139 2014-09-29 François Dumont <fdumont@gcc.gnu.org>
142 * include/debug/safe_base.h
143 (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
144 (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
145 * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
146 before _Safe_iterator_base in memory. Lock before modifying the iterator
148 * include/debug/safe_local_iterator.h
149 (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
151 (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
153 * include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move
154 normal iterator before _Safe_iterator_base in memory. Lock before
155 modifying the iterator in numerous places.
156 * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
157 * include/debug/safe_sequence.tcc
158 (_Safe_sequence<>::_M_transfer_from_if): Adapt.
160 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
163 * doc/xml/manual/status_cxx2011.xml: Update.
164 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
166 (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
167 * include/bits/stl_vector.h (vector::_M_fill_initialize,
168 vector::_M_default_initialize): Use returned iterator.
169 * include/bits/vector.tcc (vector::_M_fill_assign,
170 vector::_M_fill_insert, vector::_M_default_append): Likewise.
171 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
172 16505.cc: Adjust return type.
173 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
176 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
178 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
180 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
182 * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
183 * testsuite/27_io/basic_ios/conv/bool.cc: New.
184 * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
186 * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
188 2014-09-25 Tim Shen <timshen@google.com>
191 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
192 basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
193 _M_loc for basic_regex.
194 * include/bits/regex_automaton.h: Add _M_traits for _NFA.
195 * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
196 Make _Compiler::_M_nfa heap allocated.
197 * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
198 _Compiler::_M_nfa heap allocated.
199 * include/bits/regex_executor.h (_Executor::_M_is_word):
200 Fix accessing _M_traits.
201 * include/bits/regex_executor.tcc (_Executor::_M_dfs):
202 Fix accessing _M_traits.
203 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
206 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
208 * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
209 new GLIBCXX_3.4.21 symbols don't match them.
212 * config/abi/pre/gnu.ver: Add new exports.
213 * include/bits/basic_ios.h (basic_ios::operator bool): Define.
214 * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
216 2014-09-24 François Dumont <fdumont@gcc.gnu.org>
219 * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
220 (_Rb_tree_alloc_node<>): New.
221 (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
222 (_Rb_tree<>::_M_assign_unique): New.
223 (_Rb_tree<>::_M_assign_equal): New.
224 (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
225 * include/bits/stl_map.h
226 (std::map<>::operator=(std::map<>&&)): Default implementation.
227 (std::map<>::operator=(initializer_list<>)): Adapt to use
228 _Rb_tree::_M_assign_unique.
229 * include/bits/stl_multimap.h
230 (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
231 (std::multimap<>::operator=(initializer_list<>)): Adapt to use
232 _Rb_tree::_M_assign_equal.
233 * include/bits/stl_set.h
234 (std::set<>::operator=(std::set<>&&)): Default implementation.
235 (std::set<>::operator=(initializer_list<>)): Adapt to use
236 _Rb_tree::_M_assign_unique.
237 * include/bits/stl_multiset.h
238 (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
239 (std::multiset<>::operator=(initializer_list<>)): Adapt to use
240 _Rb_tree::_M_assign_equal.
241 * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
242 * testsuite/23_containers/map/allocator/init-list.cc: New.
243 * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
244 * testsuite/23_containers/multimap/allocator/copy_assign.cc
246 * testsuite/23_containers/multimap/allocator/init-list.cc: New.
247 * testsuite/23_containers/multimap/allocator/move_assign.cc
249 * testsuite/23_containers/multiset/allocator/copy_assign.cc
251 * testsuite/23_containers/multiset/allocator/init-list.cc: New.
252 * testsuite/23_containers/multiset/allocator/move_assign.cc
254 * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
255 * testsuite/23_containers/set/allocator/init-list.cc: New.
256 * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
258 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
261 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
263 2014-09-23 Jonathan Wakely <jwakely@redhat.com>
265 * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
266 * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
267 to ostream constructor.
268 * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
269 parameter by reference, to avoid ambiguity.
270 * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
272 2014-09-22 Jason Merrill <jason@redhat.com>
274 * testsuite/Makefile.am (%/site.exp): Add @.
275 (check-DEJAGNU): Likewise.
276 * testsuite/Makefile.in: Regenerate.
278 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
280 * include/bits/stl_queue.h: Include missing header.
281 * include/bits/stl_stack.h: Likewise.
282 * testsuite/23_containers/priority_queue/requirements/
283 uses_allocator.cc: New.
284 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
285 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
287 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
289 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
290 * doc/xml/manual/status_cxx2014.xml: Update TS status.
291 * doc/html/manual/status.html: Regenerate.
293 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
295 * include/std/mutex (try_lock): Do not swallow exceptions.
296 * testsuite/30_threads/try_lock/4.cc: Fix test.
298 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
302 * config/abi/pre/gnu.ver: Add new exports.
303 * config/io/basic_file_stdio.h (__basic_file): Support moving and
305 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
307 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
309 * include/bits/fstream.tcc (basic_filebuf): Likewise.
310 * include/bits/move.h (__exchange): Define for C++11 mode.
311 * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
313 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
314 * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
315 basic_fstream): Likewise.
316 * include/std/ios: Remove whitespace.
317 * include/std/istream (basic_istream, basic_iostream): Support moving
319 * include/std/ostream (basic_ostream): Likewise.
320 * include/std/sstream (basic_stringbuf, basic_istringstream,
321 basic_ostringstream, basic_stringstream): Likewise.
322 * include/std/streambuf (basic_streambuf): Do not default copy
323 constructor and assignment on first declaration.
324 * include/std/utility (exchange): Forward to __exchange.
325 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
326 * src/c++11/Makefile.am: Add stream-related files.
327 * src/c++11/Makefile.in: Regenerate.
328 * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
329 New file for explicit instantiation definitions.
330 * src/c++11/ios.cc: Move from src/c++98 to here.
331 (ios_base::_M_move, ios_base::_M_swap): Define.
332 * src/c++11/ios-inst.cc: Move from src/c++98 to here.
333 * src/c++11/iostream-inst.cc: Likewise.
334 * src/c++11/istream-inst.cc: Likewise.
335 * src/c++11/ostream-inst.cc: Likewise.
336 * src/c++11/sstream-inst.cc: Likewise.
337 * src/c++11/streambuf-inst.cc: Likewise.
338 * src/c++98/Makefile.am: Remove stream-related files.
339 * src/c++98/Makefile.in: Regenerate.
340 * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
342 * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
343 * src/c++98/ios-inst.cc: Move to src/c++11/.
344 * src/c++98/ios.cc: Move to src/c++11/.
345 * src/c++98/iostream-inst.cc: Likewise.
346 * src/c++98/istream-inst.cc: Likewise.
347 * src/c++98/ostream-inst.cc: Likewise.
348 * src/c++98/sstream-inst.cc: Likewise.
349 * src/c++98/streambuf-inst.cc: Likewise.
350 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
351 * testsuite/27_io/basic_fstream/cons/move.cc: New.
352 * testsuite/27_io/basic_fstream/assign/1.cc: New.
353 * testsuite/27_io/basic_ifstream/cons/move.cc: New.
354 * testsuite/27_io/basic_ifstream/assign/1.cc: New.
355 * testsuite/27_io/basic_istringstream/assign/1.cc: New.
356 * testsuite/27_io/basic_istringstream/cons/move.cc: New.
357 * testsuite/27_io/basic_ofstream/cons/move.cc: New.
358 * testsuite/27_io/basic_ofstream/assign/1.cc: New.
359 * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
360 * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
361 * testsuite/27_io/basic_stringstream/assign/1.cc: New.
362 * testsuite/27_io/basic_stringstream/cons/move.cc: New.
364 2014-09-17 Jason Merrill <jason@redhat.com>
366 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
367 dynamic_cast more gracefully.
369 2014-09-15 Jakub Jelinek <jakub@redhat.com>
371 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
372 check_p_numbers2, check_p_numbers3, check_p_numbers4,
373 check_p_numbers5, check_p_numbers6, check_p_numbers,
374 check_p_subdirs): New variables.
375 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
376 (check-DEJAGNU): Rewritten so that for parallelized
377 testing each job runs all the *.exp files, with
378 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
379 * testsuite/Makefile.in: Regenerated.
380 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
381 gcc_parallel_test_enable): New procedures. If
382 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
383 runtest_file_p to invoke also gcc_parallel_test_run_p.
384 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
385 by the first parallel runtest encountering it. Fix up path
386 of the extract_symvers script.
387 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
388 serially by the first parallel runtest encountering it. Run
389 dg-finish even in case of error.
391 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
393 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
394 parameters to _Ch_traits.
396 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
398 * include/debug/deque (__gnu_debug::deque): Make base class C++11
401 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
404 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
405 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
407 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
410 * include/bits/regex.h (match_results::format): Remove stray template
412 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
413 Remove parameter name to avoid -Wunused-parameter warning.
414 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
415 mem-initializers to avoid -Wreorder warning.
416 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
417 Remove parameter name to avoid -Wunused-parameter warning.
418 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
419 to avoid -Wempty-body warning when not in debug mode.
421 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
423 * python/hook.in: Load the xmethods.
424 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
425 * python/Makefile.in: Regenerated.
426 * python/libstdcxx/v6/xmethods.py: New file.
427 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
429 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
430 python script if LOAD_XMETHODS is true.
431 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
432 * testsuite/libstdc++-xmethods/vector.cc: New file.
433 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
435 2014-09-10 Tony Wang <tony.wang@arm.com>
438 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
439 Return with CONTINUE_UNWINDING when the state pattern
440 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
442 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
444 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
445 allocator propagation.
446 (deque::emplace_front, deque::emplace_back): Use allocator traits.
447 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
448 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
449 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
450 (_Deque_iterator): Handle allocators with custom pointers.
451 (_Deque_base): Likewise. Use allocator traits.
452 (deque): Likewise. Add allocator-extended constructors.
453 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
454 assignment via tag dispatching.
455 (deque::_M_replace_map): Replace existing data.
456 * include/debug/deque (deque): Add allocator-extended constructors.
457 * include/profile/deque (deque): Likewise.
458 * testsuite/23_containers/deque/allocator/copy.cc: New.
459 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
460 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
461 * testsuite/23_containers/deque/allocator/minimal.cc: New.
462 * testsuite/23_containers/deque/allocator/move.cc: New.
463 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
464 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
465 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
466 * testsuite/23_containers/deque/allocator/swap.cc: New.
467 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
468 Adjust dg-error line number.
469 * testsuite/23_containers/deque/requirements/dr438/
470 constructor_1_neg.cc: Likewise.
471 * testsuite/23_containers/deque/requirements/dr438/
472 constructor_2_neg.cc: Likewise.
473 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
475 * testsuite/23_containers/vector/52591.cc: Test both the propagating
476 and always-equal cases.
478 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
480 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
482 (_Hash_code_base<>): All specialization default constructible if
484 (_Hashtable_base<>): Likewise.
485 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
486 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
487 implementation defaulted.
488 (unordered_multimap<>::unordered_multimap()): Likewise.
489 * include/bits/unordered_set.h
490 (unordered_set<>::unordered_set()): Likewise.
491 (unordered_multiset<>::unordered_multiset()): Likewise.
492 * include/debug/unordered_map: Likewise.
493 * include/debug/unordered_set: Likewise.
494 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
496 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
498 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
500 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
503 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
505 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
507 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
509 * include/std/complex (complex): Define copy constructor and
510 assignment operator as defaulted. Improve Doxygen comments.
512 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
514 * testsuite/ext/random/*: Fix incorrect standard references in
517 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
520 * include/Makefile.am (install-freestanding-headers): Add missing
522 * include/Makefile.in: Regenerate.
524 2014-08-21 Tony Wang <tony.wang@arm.com>
526 * testsuite/18_support/nested_exception/62154.cc: Disable when the
527 target doesn't provide atomic builtins.
529 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
530 Kai Tietz <ktietz@redhat.com>
532 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
534 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
536 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
537 #include <windows.h>.
538 (struct elt): Add dll member.
539 (run): Decrement dll refcount.
540 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
542 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
545 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
546 Rewrite to conform to C++11 requirements.
547 * testsuite/18_support/nested_exception/62154.cc: New.
549 2014-08-14 Matthias Klose <doko@ubuntu.com>
551 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
552 Remove empty directory.
554 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
556 * testsuite/26_numerics/random/linear_congruential_engine/
557 requirements/non_uint_neg.cc: Adjust for parser change.
558 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
559 requirements/non_uint_neg.cc: Likewise.
561 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
564 * include/std/thread (thread::_M_start_thread): Declare new overload.
565 (thread::thread<_Callable, _Args...>): Call new overload with an
566 explicit reference to pthread_create.
567 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
568 * config/abi/pre/gnu.ver: Export new function.
570 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
572 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
574 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
576 * Fix thinko in the last commit.
578 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
581 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
582 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
584 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
586 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
587 and add overloads for rvalue streams.
588 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
590 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
593 * include/bits/basic_string.h (getline): Declare inline.
595 2014-08-09 Ulrich Drepper <drepper@gmail.com>
597 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
598 (uniform_on_sphere_distribution::operator()): Use the new helper
599 class for the implementation.
601 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
602 equal.cc: Remove bogus part of comment.
603 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
604 inequal.cc: Likewise.
605 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
606 serialize.cc: Add check to verify result of serialzation and
608 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
609 generate.cc: New file.
611 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
613 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
614 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
616 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
619 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
620 _M_need_rehash to initialize the rehash policy and check if a rehash is
622 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
624 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
626 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
628 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
629 Adjust dg-error line number.
630 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
632 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
634 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
637 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
639 (_State_baseV2::_M_do_set): Change parameters to pointers.
640 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
641 (_State_baseV2::__setter): Initialize _Setter with pointers.
642 (_State_baseV2::__setter(promise<void>*)): Remove overload.
643 (promise::set_value, promise::set_exception): Pass setter directly
645 (_State_baseV2::_Task_setter): Add template parameter for callable
646 type and replace std::function member with pointer to that type.
647 Change _M_result member from reference to pointer.
648 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
649 and initialize _Task_setter with pointers.
650 (__location_invariant): Specialize for _Setter and _Task_setter.
652 * include/std/future (__location_invariant): Move specializations
653 after preprocessor condition.
655 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
658 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
660 2014-08-01 Zifei Tong <zifeitong@gmail.com>
662 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
663 _GLIBCXX_ prefix to macro.
665 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
667 * python/libstdcxx/v6/printers.py
668 (SingleObjContainerPrinter._contained): Use compatibility mixin.
670 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
672 * testsuite/util/testsuite_allocator.h
673 (tracker_allocator_counter::allocate): Remove new invocation, only
675 (tracker_allocator_counter::deallocate): Remove delete invocation, only
677 (check_inconsistent_alloc_value_type): New.
678 (tracker_allocator): Transform as a facade for any allocator type.
679 (uneq_allocator): Likewise.
680 (propagating_allocator): Likewise.
681 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
682 explicitly non propagating allocator.
683 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
684 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
685 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
686 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
687 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
689 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
691 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
693 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
695 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
697 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
700 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
701 const allocator_type&)): Pass non-const allocator to
703 * testsuite/ext/rope/61946.cc: New.
706 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
707 disambiguate unary constructors.
708 (_Tuple_impl): Pass allocator_arg_t arguments.
709 * testsuite/20_util/tuple/61947.cc: New.
710 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
712 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
714 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
715 * include/bits/random.h (_Adaptor): static_assert for non floating-point
717 * include/bits/random.tcc (generate_canonical): Ditto.
718 * include/ext/random.tcc (hypergeometric_distribution::operator()):
719 Use double as a rng result type.
720 * testsuite/26_numerics/random/pr60037-neg.cc: New.
721 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
723 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
725 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
727 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
729 * include/experimental/string_view: Make the literal operators
730 constexpr like the ctors they call.
732 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
734 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
736 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
738 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
739 to string instead of using gdb.Type.name attribute.
741 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
743 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
746 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
749 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
751 (SingleObjContainerPrinter): Check if type printers are in use.
753 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
755 * include/ext/random: Minor formatting and cosmetic tweaks.
756 (uniform_on_sphere_distribution<>::operator==
757 (const uniform_on_sphere_distribution&,
758 const uniform_on_sphere_distribution&)): Compare the _M_nds.
759 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
760 (operator!=(const uniform_on_sphere_distribution&,
761 const uniform_on_sphere_distribution&)): Adjust.
762 * include/ext/random.tcc: Minor cosmetc tweaks.
764 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
766 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
767 printer for class templates.
768 (register_type_printers): Use TemplateTypePrinter for containers
769 and other class templates with default template arguments.
770 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
772 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
773 base class for experimental::any and experimental::optional printers.
774 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
775 New printers for Fundamentals TS types.
776 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
778 2014-07-15 Tim Shen <timshen@google.com>
781 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
782 Clear match queue for next use.
783 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
785 2014-07-14 Ulrich Drepper <drepper@gmail.com>
787 * include/ext/random.tcc: Unfortunately more fixes for
788 operator>> and operator<< for uniform_on_sphere_distribution.
790 2014-07-13 Ulrich Drepper <drepper@gmail.com>
792 * include/ext/random.tcc: Fix operator>> and operator<< for
793 uniform_on_sphere_distribution.
795 2014-07-12 Ulrich Drepper <drepper@gmail.com>
797 * include/ext/random: Add uniform_on_sphere_distribution definition.
798 * include/ext/random.tcc: Add out-of-band member function definitions
799 for uniform_on_sphere_distribution.
800 * testsuite/ext/random/uniform_on_sphere_distribution/
801 cons/default.cc: New file.
802 * testsuite/ext/random/uniform_on_sphere_distribution/
803 operators/equal.cc: New file.
804 * testsuite/ext/random/uniform_on_sphere_distribution/
805 operators/inequal.cc: New file.
806 * testsuite/ext/random/uniform_on_sphere_distribution/
807 operators/serialize.cc: New file.
809 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
811 Add the logistic_distribution as an extension.
812 * include/ext/random: Add the logistic_distribution.
813 * include/ext/random.tcc: Add the logistic_distribution.
814 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
815 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
816 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
818 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
819 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
820 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
823 2014-07-11 Samuel Bronson <naesten@gmail.com>
825 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
826 instead of insisting that GCC understand -fdiagnostics-color=never
828 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
831 2014-07-11 Samuel Bronson <naesten@gmail.com>
832 Matthias Klose <doko@ubuntu.com>
835 * python/libstdcxx/v6/printers.py: Port to Python 2+3
836 (imap): New compat function.
838 (Iterator): New mixin to allow writing iterators in Python 3 style
839 regardless of which version we're running on.
840 [Python3] (long) New compat alias for "int".
841 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
843 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
845 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
846 tuple members to simplify pretty printing.
847 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
849 * testsuite/experimental/any/cons/4.cc: New.
851 2014-07-09 Jason Merrill <jason@redhat.com>
854 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
855 * libsupc++/tinfo.h: Not here.
857 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
859 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
861 * include/experimental/any: Remove unused header.
862 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
863 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
864 * testsuite/util/testsuite_regex.h: Move include guard.
866 2014-07-01 Tim Shen <timshen@google.com>
870 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
871 a NFA state limit. If it's exceeded, regex_constants::error_space
873 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
874 map (which is sparse) instead of vector. This reduce n times clones'
875 cost from O(n^2) to O(n).
876 * include/std/regex: Add map dependency.
877 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
880 2014-07-01 Tim Shen <timshen@google.com>
883 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
884 not just regex containing back-references.
885 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
886 exchange _M_next and _M_alt for alternative operator,
887 making matching from left to right.
888 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
889 Add position tracking fom DFS.
890 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
891 _Executor<>::_M_dfs): Likewise.
892 * include/bits/regex_scanner.h: Remove unused enum entry.
893 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
896 2014-06-30 Jason Merrill <jason@redhat.com>
898 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
901 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
904 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
905 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
908 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
910 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
912 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
914 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
916 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
919 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
921 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
922 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
923 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
925 * include/ext/alloc_traits.h: Fix comment.
927 * include/Makefile.am: Add new header.
928 * include/Makefile.in: Regenerate.
929 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
930 New RAII utilities for working with allocators.
931 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
932 __allocator_type typedef and use new __allocated_ptr type.
933 (_Sp_counted_ptr_inplace): Likewise.
934 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
935 __allocate_guarded to to simplify exception handling.
936 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
937 * include/std/future (_Result_alloc::_M_destroy): Likewise.
938 (_Result_alloc::_S_allocate_result): Likewise.
939 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
940 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
941 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
942 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
944 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
946 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
948 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
949 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
951 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
953 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
954 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
955 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
956 Remove unused typedef.
957 (time_get::do_get_monthname): Likewise.
958 * include/bits/stl_tree.h: Add system_header pragma.
959 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
960 redundant const-qualifier.
961 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
962 instead of _GLIBCXX_USE_CONSTEXPR.
964 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
966 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
967 * include/std/chrono (_Checked_integral_constant): Allow zero.
968 * testsuite/20_util/duration/literals/values.cc: Test non-positive
969 values and digit separators.
970 * include/experimental/any
973 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
974 apply the signed specifier to wchar_t.
975 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
976 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
977 cv-qualifier and size.
978 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
981 * include/experimental/any (any_v1): Rename namespace to
982 fundamentals_v1. Change string returned by bad_any_cast::what().
983 * include/experimental/optional (fundamentals_v1): Add namespace.
984 * include/experimental/string_view (fundamentals_v1): Likewise.
985 * testsuite/experimental/any/typedefs.cc: New.
986 * testsuite/experimental/optional/typedefs.cc: New.
987 * testsuite/experimental/string_view/typedefs.cc: New.
989 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
990 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
993 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
995 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
997 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
998 * include/Makefile.am: Add new header.
999 * include/Makefile.in: Regenerate.
1000 * include/experimental/any: New.
1001 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
1003 * testsuite/experimental/any/assign/1.cc: New.
1004 * testsuite/experimental/any/assign/2.cc: New.
1005 * testsuite/experimental/any/cons/1.cc: New.
1006 * testsuite/experimental/any/cons/2.cc: New.
1007 * testsuite/experimental/any/cons/3.cc: New.
1008 * testsuite/experimental/any/misc/any_cast.cc: New.
1009 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
1010 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
1011 * testsuite/experimental/any/misc/swap.cc: New.
1012 * testsuite/experimental/any/modifiers/1.cc: New.
1013 * testsuite/experimental/any/observers/type.cc: New.
1015 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
1016 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
1018 * include/bits/shared_ptr.h (shared_ptr): Likewise.
1019 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1021 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1023 * include/parallel/list_partition.h (__parallel::list_partition):
1025 * include/std/iomanip (quoted): Likewise.
1026 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
1028 * doc/xml/api.xml: Link to more recent API docs.
1029 * include/bits/allocator.h: Fix link in doxygen comment.
1030 * include/bits/char_traits.h: Likewise.
1031 * include/bits/ios_base.h: Likewise.
1032 * include/bits/stl_map.h: Likewise.
1033 * include/bits/stl_multimap.h: Likewise.
1034 * include/bits/stl_multiset.h: Likewise.
1035 * include/bits/stl_set.h: Likewise.
1036 * include/bits/unordered_map.h: Likewise.
1037 * include/bits/unordered_set.h: Likewise.
1038 * include/ext/mt_allocator.h: Likewise.
1039 * include/std/fstream: Likewise.
1040 * include/std/iosfwd: Likewise.
1041 * include/std/ostream: Likewise.
1042 * include/std/sstream: Likewise.
1043 * include/std/streambuf: Likewise.
1044 * doc/html/*: Regenerate.
1046 * include/experimental/any (any_cast): Combine duplicate doxygen
1048 * include/experimental/string_view (basic_string_view): Update
1050 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
1051 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
1052 (dynamic_bitset): Improve Doxygen comments.
1053 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
1056 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
1058 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1059 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1061 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
1064 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
1065 (bin_search_tree_traits): Do not redeclare template-parameters.
1066 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
1068 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1070 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
1071 parameter for DocBook HTML generation.
1072 * doc/Makefile.in: Regenerate.
1073 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
1074 * doc/xml/faq.xml: Update content and improve formatting.
1075 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
1076 * doc/xml/manual/allocator.xml: Add stable ID attribute.
1077 * doc/xml/manual/bitmap_allocator.xml: Likewise.
1078 * doc/xml/manual/build_hacking.xml: Likewise.
1079 * doc/xml/manual/codecvt.xml: Change URL.
1080 * doc/xml/manual/ctype.xml: Add stable ID attribute.
1081 * doc/xml/manual/debug_mode.xml: Likewise.
1082 * doc/xml/manual/documentation_hacking.xml: Likewise.
1083 * doc/xml/manual/evolution.xml: Likewise.
1084 * doc/xml/manual/extensions.xml: Likewise.
1085 * doc/xml/manual/locale.xml: Likewise.
1086 * doc/xml/manual/messages.xml: Make section id consistent, improve
1088 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
1089 * doc/xml/manual/profile_mode.xml: Likewise.
1090 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
1091 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
1092 * doc/xml/manual/status_cxx2011.xml: Likewise.
1093 * doc/xml/manual/status_cxx2014.xml: Likewise.
1094 * doc/xml/manual/status_cxxtr1.xml: Likewise.
1095 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1096 * doc/xml/manual/using.xml: Likewise.
1097 * doc/html/*: Regenerate.
1099 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1101 * include/tr1/beta_function.tcc: Fix spelling of include guard in
1104 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1106 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1108 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
1110 DR 2344 - std::quoted doesn't respect padding
1111 * include/std/iomanip: Allow for padding in quoted inserters.
1112 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
1113 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
1115 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
1117 * testsuite/23_containers/map/operators/1.cc: Simplify test.
1119 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
1121 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1123 * doc/xml/manual/backwards_compatibility.xml
1124 (backwards.second.stringstreams): Likewise.
1125 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
1127 * doc/xml/manual/containers.xml (associative.bitset.type_string):
1128 Replace <quote> in code example.
1129 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
1130 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
1131 fix typos, improve markup.
1132 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
1133 <emphasis> with <replaceable>.
1134 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
1135 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
1136 and remove newlines in string literal.
1138 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1142 * testsuite/20_util/is_assignable/value.cc: Update.
1144 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
1146 * include/std/condition_variable (condition_variable_any::_Unlock): Do
1147 not swallow __forced_unwind.
1148 * include/std/future (__future_base::_Task_setter): Likewise.
1149 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1150 promise and rethrow.
1151 * include/std/mutex (try_lock): Likewise.
1152 * testsuite/30_threads/async/forced_unwind.cc: New.
1153 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1155 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1156 members to avoid wasted space when not using a cache.
1157 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1158 * include/bits/regex_compiler.tcc
1159 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1161 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1162 New enumeration type to indicate match mode.
1163 (__detail::_Executor::_State_info): New type holding members only
1164 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1166 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1167 Replace template parameter with run-time function parameter.
1168 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1169 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1170 implement DFS and BFS mode.
1171 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1172 Split implementation into ...
1173 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1174 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1175 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1176 argument instead of template argument.
1177 (__detail::_Executor::_M_dfs): Likewise.
1178 * include/bits/regex_scanner.tcc: Fix typos in comments.
1179 * testsuite/performance/28_regex/range.cc: New.
1181 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1182 Jonathan Wakely <jwakely@redhat.com>
1184 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1186 (aligned_union): New struct (C++11).
1187 (aligned_union_t): New type alias (C++14).
1188 * doc/xml/manual/status_cxx2011.xml: Update.
1189 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1190 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1193 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
1196 * include/experimental/string_view (operator basic_string): Correct
1198 (to_string): Replace with member function.
1199 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1200 allow _M_str to be null.
1201 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1202 default constructor semantics.
1203 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1204 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1205 copyright dates. Remove unused header.
1206 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1208 * testsuite/experimental/string_view/operations/data/char/1.cc:
1209 Fix copyright dates. Adjust to new default constructor semantics.
1210 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1212 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1214 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1215 (__uses_allocator_arg): Remove unused type.
1216 (__uses_alloc0): Turn into a trivial type.
1217 (__uses_alloc): Add missing template parameter in primary template.
1218 (__uses_alloc_impl): Rename to __uses_alloc_t.
1220 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
1222 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1223 work with previous versions of Tcl.
1225 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1226 Benjamin's old email address.
1228 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1229 Paolo's address too.
1231 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
1233 * include/tr2/bool_set: Use UTF-8 for accented characters.
1234 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1235 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1236 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1238 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
1241 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1243 (_State_base::_M_dot): Likewise.
1245 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
1247 * include/profile/map.h: Fix typo in comment; minor formatting fix.
1248 * include/profile/multimap.h: Likewise.
1249 * include/profile/set.h: Likewise.
1250 * include/profile/multiset.h: Likewise.
1252 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
1254 * include/profile/array: Clean useless white chars.
1255 * include/profile/base.h: Likewise.
1256 * include/profile/iterator_tracker.h: Likewise.
1257 * include/profile/bitset: Code cleanup and remove not instrumented code.
1258 * include/profile/deque: Likewise.
1259 * include/profile/forward_list: Likewise.
1260 * include/profile/list (std::__profile::_List_profile<>): New.
1261 (std::__profile::list<>): Inherit from latter and adapt.
1262 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1263 advise to match any ordered to unordered container conversion.
1264 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1266 * include/Makefile.am: Add latter.
1267 * include/Makefile.in: Regenerate.
1268 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1269 remove not instrumented code.
1270 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1271 * include/profile/set.h (std::__profile::set<>): Likewise.
1272 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1273 * include/profile/unordered_base.h: Add some line feed.
1274 * include/profile/unordered_map: Clean useless white chars and replace
1276 * include/profile/unordered_set: Likewise.
1277 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1278 (std::__profile::_Vector_profile_post<>): New.
1279 (std::__profile::vector<>): Inherit from latter and adapt.
1281 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
1284 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1285 dragonfly target selector to all tests that run on freebsd.
1287 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1289 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1290 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1292 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1294 * testsuite/30_threads/call_once/60497.cc: Likewise.
1295 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1296 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1297 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1298 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1299 * testsuite/30_threads/promise/60966.cc: Likewise.
1300 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1301 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1302 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1303 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1304 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1305 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1306 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1307 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1308 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1309 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1310 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1311 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1312 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1313 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1314 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1315 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1316 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1318 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
1321 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1323 * testsuite/23_containers/unordered_set/61143.cc: New.
1324 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1326 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
1329 * include/std/type_traits: Move include outside namespace std.
1330 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1331 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1332 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1335 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1338 2014-05-21 John Marino <gnugcc@marino.st>
1340 * acinclude.m4 (*-*-dragonfly*): New target.
1341 * configure: Regenerate.
1342 * configure.host (*-*-dragonfly*): New target.
1343 * config/locale/dragonfly/c_locale.cc: New.
1344 * config/locale/dragonfly/ctype_members.cc: New.
1345 * config/os/bsd/dragonfly/ctype_base.h: New.
1346 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1347 * config/os/bsd/dragonfly/ctype_inline.h: New.
1348 * config/os/bsd/dragonfly/os_defines.h: New.
1350 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
1352 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1353 libstdc++.exp imports those flags via getenv.
1354 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1355 CXXFLAGS contains a '-O' flag.
1357 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1361 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1364 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1365 and add unwind directives.
1367 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1369 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1371 2014-05-20 Tim Shen <timshen91@gmail.com>
1374 * include/bits/regex_compiler.h
1375 (_BracketMatcher<>::_M_add_character_class): Add negative character
1377 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1379 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1382 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1384 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1386 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1388 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1389 * libsupc++/new_opnt.cc: Likewise.
1391 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1394 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1395 Pass lock into _M_do_set and hold it until the function returns.
1396 Signal condition variable after call_once completes.
1397 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1399 * testsuite/30_threads/promise/60966.cc: New.
1401 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1402 Sandra Loosemore <sandra@codesourcery.com>
1404 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1405 until after checking that the test is eligible to be run.
1407 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1409 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1410 test for 32-bit target.
1411 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1413 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1416 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1419 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1420 and add unwind directives.
1422 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1424 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1426 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1428 (chrono_literals::_Checked_integral_constant): Define.
1429 Simplify UDL operator templates and check for overflow.
1430 * testsuite/20_util/duration/literals/range.cc: New.
1432 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1433 Jonathan Wakely <jwakely@redhat.com>
1436 * include/bits/parse_numbers.h: Use integral_constant to remove
1437 duplication and simplify.
1438 * testsuite/20_util/duration/literals/61166.cc: New.
1440 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1443 * include/std/type_traits (__make_unsigned, __make_signed): Define
1444 specializations for wchar_t, char16_t and char32_t.
1445 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1446 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1447 test for make_unsigned<volatile wchar_t>.
1448 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1450 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1452 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1454 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1457 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1459 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1460 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1461 * include/std/utility (tuple_size, tuple_element): Likewise.
1462 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1463 Adjust dg-error line number.
1465 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1467 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1468 (__tuple_element_t): Define.
1469 (tuple_element): Use __tuple_element_t.
1470 (__cv_tuple_size): Define.
1471 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1472 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1473 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1474 (__tuple_compare): Remove size check, re-order parameters.
1475 (operator==, operator<): Use static_assert to check requirements.
1476 * include/std/functional (__volget): use __tuple_element_t.
1477 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1478 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1480 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1483 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1484 prevent ADL. Cast comparison results to bool.
1485 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1486 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1489 * include/debug/array (get): Qualify call to other get overload.
1490 * include/profile/array (get): Likewise.
1491 * include/std/array (get): Likewise.
1492 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1493 * include/std/mutex (unique_lock, call_once): Use __addressof.
1494 (__unlock_impl): Remove unused template.
1495 (__try_to_lock): Declare inline.
1496 (__try_lock_impl::__do_try_lock): Qualify function calls.
1497 (lock): Avoid narrowing conversion.
1498 * testsuite/20_util/bind/60497.cc: New.
1499 * testsuite/23_containers/array/element_access/60497.cc: New.
1500 * testsuite/30_threads/call_once/60497.cc: New.
1501 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1503 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1505 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1506 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1507 * acinclude.m4 (libtool_VERSION): Bump.
1508 * configure: Regenerate.
1509 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1510 * testsuite/28_regex/regex_error/base.cc: New.
1512 2014-05-08 Joshua Gay <jgay@gnu.org>
1515 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1516 source" with "free software".
1517 * doc/html/faq.html: Likewise.
1519 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1522 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1524 (operator=(const ios_base&)): Likewise.
1525 * include/std/streambuf: Remove trailing whitespace.
1526 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1527 _M_out_end. Define as defaulted for C++11.
1528 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1529 (swap(basic_streambuf&)): Define for C++11.
1530 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1533 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1535 * include/std/iostream: Fix URL in comment.
1536 * src/c++98/ios_init.cc: Fix path in comment.
1538 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1540 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1541 * configure: Regenerate.
1543 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1546 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1547 comparison function.
1548 * testsuite/23_containers/set/cons/61023.cc: New.
1551 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1553 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1554 arithmetic to obtain a mutable iterator from const_iterator.
1555 * include/bits/vector.tcc (vector::insert): Likewise.
1556 * include/debug/vector (vector::erase): Likewise.
1557 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1558 Adjust dg-error line number.
1559 * testsuite/23_containers/vector/requirements/dr438/
1560 constructor_1_neg.cc: Likewise.
1561 * testsuite/23_containers/vector/requirements/dr438/
1562 constructor_2_neg.cc: Likewise.
1563 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1566 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1568 * include/Makefile.in: Regenerate.
1570 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1572 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1573 parameter to pass the 2 instances to check allocator equality.
1574 * include/debug/safe_container.h: New, define _Safe_container<>.
1575 * include/Makefile.am: Add previous.
1576 * include/debug/deque (std::__debug::deque<>): Inherit
1577 _Safe_container<>. Use default implementation for all special
1579 * include/debug/forward_list (std::__debug::forward_list<>):
1581 * include/debug/list (std::__debug::list<>): Likewise.
1582 * include/debug/map.h (std::__debug::map<>): Likewise.
1583 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1584 * include/debug/set.h (std::__debug::set<>): Likewise.
1585 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1586 * include/debug/string (std::__debug::basic_string<>): Likewise.
1587 * include/debug/unordered_map
1588 (std::__debug::unordered_map<>): Likewise.
1589 (std::__debug::unordered_multimap<>): Likewise.
1590 * include/debug/unordered_set
1591 (std::__debug::unordered_set<>): Likewise.
1592 (std::__debug::unordered_multiset<>): Likewise.
1593 * include/debug/vector (std::__debug::vector<>): Likewise.
1594 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1596 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1597 (~_Safe_sequence_base()): Add noexcept.
1598 * include/debug/safe_sequence.h
1599 (std::__debug::_Safe_node_sequence<>): New.
1600 * include/debug/safe_unordered_base.h
1601 (_Safe_unordered_container_base()): Add noexcept.
1602 (~_Safe_unordered_container_base()): Likewise.
1603 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1604 * include/debug/safe_unordered_container.h:
1605 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1606 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1607 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1609 * testsuite/util/debug/checks.h (check_construct1): Just implement
1610 an invalid constructor invocation and no other operations
1611 potentially not supported by some types of container.
1612 (check_construct2): Likewise.
1613 (check_construct3): Likewise.
1614 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1615 check on iterators to make sure they are correctly moved in debug
1617 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1619 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1620 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1621 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1622 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1624 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1625 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1627 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1628 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1629 * testsuite/23_containers/unordered_map/allocator/move.cc:
1631 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1633 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1635 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1637 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1639 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1641 * testsuite/23_containers/unordered_set/allocator/move.cc:
1643 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1645 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1647 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1649 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1651 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1653 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1655 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1656 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1657 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1658 * testsuite/23_containers/map/debug/move_neg.cc: New.
1659 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1660 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1661 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1662 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1663 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1664 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1665 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1666 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1667 * testsuite/23_containers/set/debug/move_neg.cc: New.
1668 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1670 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1672 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1673 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1675 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1677 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1679 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1681 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1683 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1685 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1687 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1689 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1690 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1692 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1694 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1695 (CXXABI_1.3.9): Remove __float128 symbols.
1697 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1700 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1701 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1702 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1703 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1705 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1708 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1709 Check the correct type in the static assertion.
1710 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1712 2014-04-27 Tim Shen <timshen91@gmail.com>
1714 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1715 Add _S_opcode_repeat support to distingush a loop from
1716 _S_opcode_alternative.
1717 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1718 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1719 _StateSeq<>::_M_clone): Likewise.
1720 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1722 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1723 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1724 Uglify local variable __i.
1725 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1726 Use size_t instead of int to compare with vector::size().
1728 2014-04-27 Tim Shen <timshen91@gmail.com>
1730 * include/bits/regex_executor.h: Add _M_rep_count to track how
1731 many times this repeat node are visited.
1732 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1733 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1736 2014-04-27 Tim Shen <timshen91@gmail.com>
1738 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1739 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1740 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1741 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1742 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1743 Adjust debug NFA dump.
1745 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1748 * include/experimental/optional (operator!=): Implement in terms of
1750 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1751 * testsuite/experimental/optional/relops/2.cc: Likewise.
1752 * testsuite/experimental/optional/relops/3.cc: Likewise.
1753 * testsuite/experimental/optional/relops/4.cc: Likewise.
1754 * testsuite/experimental/optional/relops/5.cc: Likewise.
1755 * testsuite/experimental/optional/relops/6.cc: Likewise.
1757 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1760 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1761 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1764 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1766 * testsuite/util/testsuite_abi.cc (check_version): Update for
1769 2014-04-24 Tim Shen <timshen91@gmail.com>
1771 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1772 Do _M_alt before _M_next.
1773 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1775 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1778 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1779 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1780 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1782 2014-04-24 Andreas Schwab <schwab@suse.de>
1784 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1785 new CXXABI_1.3.9 symbols.
1787 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1789 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1790 (CXXABI_1.3.9): New version.
1792 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1795 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1796 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1797 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1799 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1801 * configure.host: Remove solaris2.9 handling.
1802 Change os_include_dir to os/solaris/solaris2.10.
1803 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1804 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1805 * configure: Regenerate.
1806 * config/abi/post/solaris2.9: Remove.
1807 * config/os/solaris/solaris2.9: Rename to ...
1808 * config/os/solaris/solaris2.10: ... this.
1809 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1812 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1813 Remove Solaris 9 reference.
1814 * doc/html/manual/configure.html: Regenerate.
1816 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1817 Remove *-*-solaris2.9 xfail.
1818 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1821 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1824 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1826 * include/std/functional (__is_location_invariant): Use __or_ helper.
1828 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1831 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1834 * include/std/atomic (atomic<_Tp>): Add static assertion.
1835 * testsuite/29_atomics/atomic/60695.cc: New.
1838 * include/std/functional (function::_Callable): Exclude own type
1839 from the callable checks.
1840 * testsuite/20_util/function/60594.cc: New.
1842 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1843 const to constexpr member functions.
1845 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1846 delegating constructor.
1847 * include/bits/shared_ptr_base.h
1848 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1850 * include/std/atomic: Uglify parameter names.
1853 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1854 1.cc: Fix invalid explicit instantiations with unqualified names.
1855 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1857 * testsuite/20_util/tuple/53648.cc: Likweise.
1858 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1860 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1862 * testsuite/23_containers/unordered_map/requirements/
1863 debug_container.cc: Likewise.
1864 * testsuite/23_containers/unordered_map/requirements/
1865 explicit_instantiation/3.cc: Likewise.
1866 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1868 * testsuite/23_containers/unordered_multimap/requirements/
1869 explicit_instantiation/3.cc: Likewise.
1870 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1872 * testsuite/23_containers/unordered_multiset/requirements/
1873 explicit_instantiation/3.cc: Likewise.
1874 * testsuite/23_containers/unordered_set/requirements/
1875 debug_container.cc: Likewise.
1876 * testsuite/23_containers/unordered_set/requirements/
1877 explicit_instantiation/3.cc: Likewise.
1879 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1880 not use uninitialized members in mem-initializers.
1881 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1882 * testsuite/util/testsuite_common_types.h: Update comment.
1884 * include/experimental/string_view: Fix inconsistent exception specs.
1886 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1887 Remove name of unused parameter.
1889 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1891 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1892 _Vector_base::_M_allocate): NullablePointer requirements do not
1893 include initialization from literal zero, use value-initialization.
1894 * include/bits/vector.tcc (vector::_M_insert_aux,
1895 vector::_M_explace_back_aux): Likewise for assignment.
1897 * include/bits/allocator.h (operator==, operator!=): Add exception
1901 * include/std/tuple (get): Qualify calls to prevent ADL.
1902 * testsuite/20_util/tuple/60497.cc: New.
1904 * include/std/tuple (tuple_element_t): Define.
1905 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1907 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1909 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1912 * include/bits/stl_iterator.h (move_iterator::reference,
1913 move_iterator::operator*): Implement LWG 2106.
1914 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1916 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1918 * include/std/complex (__complex_exp, pow): Specify the template
1919 parameter in calls to std::polar, for expression templates.
1921 2014-04-10 Andreas Schwab <schwab@suse.de>
1923 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1925 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1926 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1928 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1930 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1932 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1933 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1934 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1937 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1938 Jack Howarth <howarth@bromo.med.uc.edu>
1941 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1944 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1946 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1948 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1950 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1951 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1952 * doc/xml/manual/concurrency_extensions.xml
1953 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1954 * doc/html/*: Regenerate.
1956 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1957 Jonathan Wakely <jwakely@redhat.com>
1960 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1961 string if input is not quoted.
1962 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1964 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1966 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1968 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1970 * testsuite/18_support/exception_ptr/60612-terminate.cc
1971 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1972 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1974 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1976 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1978 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1979 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1981 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1983 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1985 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1986 Fix bad s/part/chapter/ substitutions.
1987 * doc/xml/manual/io.xml (std.io): Likewise.
1988 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1989 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1991 * doc/html/*: Regenerate.
1993 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1996 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1997 compatible with __cxa_exception.
1998 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1999 Fix typos in comments.
2000 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
2001 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
2003 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
2006 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
2007 Use sizeof pointer type not the element type.
2008 * testsuite/29_atomics/atomic/60658.cc: New.
2010 2014-03-24 Jakub Jelinek <jakub@redhat.com>
2012 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2013 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2014 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2015 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2016 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2017 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2018 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2019 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2020 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2021 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2024 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2026 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
2028 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
2030 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
2031 to delegated constructor.
2032 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
2033 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
2036 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
2038 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2041 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2043 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
2046 * include/debug/functions.h (_Is_contiguous_sequence): Define.
2047 (__foreign_iterator): Accept additional iterator. Do not dispatch on
2049 (__foreign_iterator_aux2): Likewise. Add overload for iterators
2050 from different types of debug container. Use _Is_contiguous_sequence
2051 instead of is_lvalue_reference.
2052 (__foreign_iterator_aux3): Accept additional iterator. Avoid
2053 dereferencing past-the-end iterator.
2054 (__foreign_iterator_aux4): Use const value_type* instead of
2055 potentially user-defined const_pointer type.
2056 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
2057 and pass end iterator to __gnu_debug::__foreign_iterator.
2058 (__glibcxx_check_insert_range_after): Likewise.
2059 (__glibcxx_check_max_load_factor): Fix comment.
2060 * include/debug/vector (_Is_contiguous_sequence): Define partial
2062 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
2063 -std=gnu++11 option and unused header.
2064 * testsuite/23_containers/vector/debug/60587.cc: New.
2065 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
2067 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2069 * crossconfig.m4: Support spu-*-elf* targets.
2070 * configure: Regenerate.
2072 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
2075 * include/std/future (__future_base::_Task_state<>): Change
2076 constructors to template functions using perfect forwarding.
2077 (__create_task_state): Use decayed type as stored task.
2078 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
2079 * testsuite/30_threads/packaged_task/60564.cc: New.
2081 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
2083 * scripts/create_testsuite_files: Add testsuite/experimental in
2084 the list of folders to search for tests.
2086 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
2088 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2090 2014-03-15 Tim Shen <timshen91@gmail.com>
2092 * include/bits/regex.h: Add/modify comments.
2093 * include/bits/regex_compiler.h: Likewise.
2094 * include/bits/regex_executor.h: Likewise.
2095 * include/bits/regex_executor.tcc: Likewise.
2096 * include/bits/regex_scanner.h: Likewise.
2098 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
2101 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
2102 _ZNSt12system_errorC* symbols which are not exported on any target.
2104 2014-03-12 Roland McGrath <mcgrathr@google.com>
2105 Mark Seaborn <mseaborn@google.com>
2108 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
2109 the address of a null pointer, not with a null pointer to pointer.
2110 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
2111 * testsuite/18_support/bad_exception/59392.cc: New file.
2113 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
2116 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
2118 * include/debug/map (map::operator=(map&&)): Likewise.
2119 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
2120 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
2121 * include/debug/set (set::operator=(set&&)): Likewise.
2122 * include/debug/unordered_map
2123 (unordered_map::operator=(unordered_map&&)): Likewise.
2124 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
2125 * include/debug/unordered_set
2126 (unordered_set::operator=(unordered_set&&)): Likewise.
2127 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
2128 * include/debug/vector (vector::operator=(vector&&)): Likewise.
2129 * testsuite/23_containers/forward_list/debug/60499.cc: New
2130 * testsuite/23_containers/map/debug/60499.cc: New
2131 * testsuite/23_containers/multimap/debug/60499.cc: New
2132 * testsuite/23_containers/multiset/debug/60499.cc: New
2133 * testsuite/23_containers/set/debug/60499.cc: New
2134 * testsuite/23_containers/unordered_map/debug/60499.cc: New
2135 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
2136 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
2137 * testsuite/23_containers/unordered_set/debug/60499.cc: New
2138 * testsuite/23_containers/vector/debug/60499.cc: New
2140 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
2142 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2143 for filesystem and fundamentals TS work items.
2145 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
2148 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2149 Adjust dg-error directives.
2151 2014-02-26 Tim Shen <timshen91@gmail.com>
2153 * include/bits/regex.tcc (match_results<>::format,
2154 regex_replace<>): Update __out after calling std::copy.
2155 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2157 * testsuite/28_regex/match_results/format.cc: Likewise.
2159 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
2162 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2163 allocator_type&)): Remove redundant call to _M_initialize_map.
2164 (deque::deque(const allocator_type&)): Initialize _Base with a
2165 constructor that calls _M_initialize_map.
2169 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
2171 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2174 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
2176 Rename testsuite directory shared_mutex to shared_timed_mutex
2178 * testsuite/30_threads/shared_mutex: Moved to...
2179 * testsuite/30_threads/shared_timed_mutex: ...here
2181 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
2183 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2184 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2185 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2186 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2187 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2188 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2189 * testsuite/30_threads/shared_lock/requirements/
2190 explicit_instantiation.cc: Ditto.
2191 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2192 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2193 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2194 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2195 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2196 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2197 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2198 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2199 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2200 * testsuite/30_threads/shared_mutex/requirements/
2201 standard_layout.cc: Ditto.
2202 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2203 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2204 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2205 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2206 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2208 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2210 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2211 execution on i?86-*-solaris2.9, remove comment.
2212 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2214 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
2216 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2217 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2218 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2220 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
2222 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2223 not use varargs when argument could be non-POD.
2224 (__alloctr_rebind_helper): Eliminate static const bool member by
2225 using true_type and false_type.
2226 (allocator_traits::__allocate_helper): Likewise.
2227 (allocator_traits::__construct_helper): Likewise.
2228 (allocator_traits::__destroy_helper): Likewise.
2229 (allocator_traits::__maxsize_helper): Likewise.
2230 (allocator_traits::__select_helper): Likewise.
2231 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2232 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2233 Remove redundant condition.
2234 * include/bits/stl_vector.h (vector::operator=(const vector&)):
2236 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2237 indirection through __alloc_traits.
2238 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2239 Eliminate static const bool members by using true_type and false_type.
2240 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2241 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2242 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2244 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2247 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2248 (vector::_M_data_ptr): New overloaded functions to ensure empty
2249 vectors do not dereference the pointer.
2250 * testsuite/23_containers/vector/59829.cc: New.
2251 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2252 Adjust dg-error line number.
2253 * testsuite/23_containers/vector/requirements/dr438/
2254 constructor_1_neg.cc: Likewise.
2255 * testsuite/23_containers/vector/requirements/dr438/
2256 constructor_2_neg.cc: Likewise.
2257 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2261 * include/ext/array_allocator.h: Add deprecated attribute.
2264 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2265 installation and use of python printers.
2266 * doc/xml/manual/status_cxx2011.xml: Update.
2267 * doc/html/*: Regenerate.
2269 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
2270 Kyle Lippincott <spectral@google.com>
2273 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2274 constructor and grant friendship to weak_ptr.
2275 (weak_ptr::lock()): Use new constructor.
2276 * include/bits/shared_ptr_base.h
2277 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2278 and define specializations.
2279 (__shared_count): Add new non-throwing constructor.
2280 (__shared_ptr): Add new non-throwing constructor and grant friendship
2282 (__weak_ptr::lock()): Use new constructor.
2283 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2284 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2286 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
2289 * include/bits/shared_ptr_base.h
2290 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2293 2014-01-27 Jason Merrill <jason@redhat.com>
2298 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2299 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2300 (__cxa_allocate_exception): Don't set it here.
2302 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
2304 * include/bits/stl_map.h: Remove anachronistic comment.
2305 * include/bits/stl_multimap.h: Add whitespace.
2306 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2307 -std=gnu++11 instead of -std=c++11.
2308 * testsuite/23_containers/map/operators/2.cc: Likewise.
2309 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2310 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2311 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2313 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2314 * configure: Regenerate.
2316 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2319 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2320 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2322 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2323 Peter A. Bigot <pab@pabigot.com>
2326 * include/experimental/string_view
2327 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2328 Correct copy start location.
2330 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2331 Peter A. Bigot <pab@pabigot.com>
2334 * include/experimental/string_view (operator[](size_type) const):
2335 Fix one-off index error in debug check.
2336 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2337 test basic_string_view at size().
2338 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2340 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2341 Peter A. Bigot <pab@pabigot.com>
2344 * include/experimental/string_view
2345 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2346 * testsuite/experimental/string_view/operations/substr/char/1.cc:
2347 Comment out catch of out_of_range; No terminating null
2348 in basic_string_view. Check begin == end.
2349 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2352 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
2355 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2356 constructor to prevent it being implicitly defined as deleted, but
2357 do not copy anything.
2358 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2359 Define copy and move constructors similar to _Safe_sequence_base's.
2360 * testsuite/23_containers/unordered_map/59548.cc: New.
2362 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2363 Steve Ellcey <sellcey@mips.com>
2365 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2367 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2368 * (configure, config.h.in): Regenerate.
2369 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2371 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2373 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2374 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2377 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2378 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2380 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2382 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2383 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2384 functions to perform moving or copying of elements from rvalue tree.
2385 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2386 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2387 * testsuite/23_containers/map/59872.cc: New.
2388 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2390 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2392 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2395 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2396 Split into separate default constructor and constructor taking
2398 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2399 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2401 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2402 * include/debug/list (list::list(const _Allocator&)): Likewise.
2403 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2405 * include/debug/multimap.h
2406 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2407 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2409 * include/debug/multiset.h
2410 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2411 * include/debug/vector (vector::vector(const allocator_type&)):
2413 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2414 * include/profile/list (list::list(const _Allocator&)): Likewise.
2415 * include/profile/map.h
2416 (map::map(const _Compare&, const _Allocator&)): Likewise.
2417 * include/profile/multimap.h
2418 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2419 * include/profile/set.h
2420 (set::set(const _Compare&, const _Allocator&)): Likewise.
2421 * include/profile/multiset.h
2422 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2423 * include/profile/vector (vector::vector(const _Allocator&)):
2425 * testsuite/23_containers/deque/58764.cc: New.
2426 * testsuite/23_containers/list/58764.cc: New.
2427 * testsuite/23_containers/map/58764.cc: New.
2428 * testsuite/23_containers/multimap/58764.cc: New.
2429 * testsuite/23_containers/set/58764.cc: New.
2430 * testsuite/23_containers/multiset/58764.cc: New.
2431 * testsuite/23_containers/vector/58764.cc: New.
2432 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2433 Adjust dg-error line number.
2434 * testsuite/23_containers/deque/requirements/dr438/
2435 constructor_1_neg.cc: Likewise.
2436 * testsuite/23_containers/deque/requirements/dr438/
2437 constructor_2_neg.cc: Likewise.
2438 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2440 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2442 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2444 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2446 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2448 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2450 * testsuite/23_containers/vector/requirements/dr438/
2451 constructor_1_neg.cc: Likewise.
2452 * testsuite/23_containers/vector/requirements/dr438/
2453 constructor_2_neg.cc: Likewise.
2454 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2457 PR libstdc++/58764 (again)
2458 * include/bits/stl_list.h (list): Make default constructor's exception
2459 specification conditional.
2460 * include/bits/stl_vector.h (vector): Likewise.
2461 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2462 to default constructor.
2463 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2464 Adjust dg-error line number.
2465 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2467 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2469 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2471 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2473 * testsuite/23_containers/vector/requirements/dr438/
2474 constructor_1_neg.cc: Likewise.
2475 * testsuite/23_containers/vector/requirements/dr438/
2476 constructor_2_neg.cc: Likewise.
2477 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2480 2014-01-21 Tim Shen <timshen91@gmail.com>
2482 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2483 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2484 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2486 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2489 * include/bits/hashtable.h (__cache_default): Do not depend on
2490 whether the hash function is DefaultConstructible or CopyAssignable.
2491 (_Hashtable): Adjust static assertions.
2492 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2493 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2494 dg-error line number.
2495 * testsuite/23_containers/unordered_set/
2496 not_default_constructible_hash_neg.cc: Remove.
2498 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2500 * scripts/create_testsuite_files: Add testsuite/experimental in
2501 the list of folders to search for tests.
2502 * include/experimental/string_view
2503 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2504 incompatible with constexpr qualifier.
2505 (basic_string_view<>::front()): Likewise.
2506 (basic_string_view<>::back()): Likewise.
2507 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2508 Merge dg-options directives into one.
2509 * testsuite/experimental/string_view/element_access/char/2.cc:
2510 Likewise. Remove invalid experimental namespace scope on
2513 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2516 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2517 friendship to _Local_iterator_base<..., false>.
2518 (_Local_iterator_base): Give protected access to all existing members.
2519 (_Local_iterator_base::_M_curr()): New public accessor.
2520 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2521 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2522 the lifetime of the _Hash_code_base explicitly.
2523 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2524 (_Local_iterator_base<..., false>): Define copy constructor and copy
2525 assignment operator that use new functions to manage _Hash_code_base.
2526 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2527 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2528 Use public API for _Local_iterator_base.
2529 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2530 * include/debug/unordered_map (__debug::unordered_map::erase(),
2531 __debug::unordered_multimap::erase()): Likewise.
2532 * include/debug/unordered_set (__debug::unordered_set::erase(),
2533 __debug::unordered_multiset::erase()): Likewise.
2534 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2536 2014-01-19 Tim Shen <timshen91@gmail.com>
2538 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2539 Fix parse error of multiple consecutive quantifiers like "a**".
2540 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2542 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2544 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2546 * include/profile/set.h (set): Implement C++11 allocator-aware
2547 container requirements.
2548 * include/profile/map.h (map): Likewise.
2549 * include/profile/multiset.h (multiset): Likewise.
2550 * include/profile/multimap.h (multimap): Likewise.
2551 * include/profile/set.h
2552 (set::operator=(const set&)): Define as default in C++11 mode.
2553 (set::operator=(set&&)): Likewise.
2554 * include/profile/map.h
2555 (map::operator=(const map&)): Likewise.
2556 (map::operator=(map&&)): Likewise.
2557 * include/profile/multiset.h
2558 (multiset::operator=(const multiset&)): Likewise.
2559 (multiset::operator=(multiset&&)): Likewise.
2560 * include/profile/multimap.h
2561 (multimap::operator=(const multimap&)): Likewise.
2562 (multimap::operator=(multimap&&)): Likewise.
2563 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2564 Rely on the same operator from normal mode.
2565 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2567 * include/profile/multiset.h
2568 (multiset::operator=(std::initializer_list<>)): Likewise.
2569 * include/profile/multimap.h
2570 (multimap::operator=(std::initializer_list<>)): Likewise.
2571 * include/profile/set.h (set::swap(set&)): Add noexcept
2573 * include/profile/map.h (map::swap(map&)): Likewise.
2574 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2575 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2577 2014-01-17 Tim Shen <timshen91@gmail.com>
2579 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2581 * include/bits/regex_automaton.h: Do not use std::set.
2582 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2583 _BracketMatcher<>::_M_add_collating_element(),
2584 _BracketMatcher<>::_M_add_equivalence_class(),
2585 _BracketMatcher<>::_M_make_range()): Likewise.
2586 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2588 * include/bits/regex_executor.h: Do not use std::queue.
2589 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2590 _Executor<>::_M_dfs()): Likewise.
2591 * include/std/regex: Remove <map>, <set> and <queue>.
2593 2014-01-17 Tim Shen <timshen91@gmail.com>
2595 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2596 basic_regex<>::assign()): Change __compile_nfa to accept
2598 * include/bits/regex_compiler.h: Change _Compiler's template
2599 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2600 * include/bits/regex_compiler.tcc: Likewise.
2602 2014-01-17 Tim Shen <timshen91@gmail.com>
2604 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2606 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2607 _ScannerBase from _Scanner; Change _Scanner's template argument from
2608 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2610 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2611 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2612 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2614 * include/std/regex: Add <cstring> for using strchr.
2616 2014-01-17 Tim Shen <timshen91@gmail.com>
2618 * bits/regex_automaton.tcc: Indentation fix.
2619 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2620 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2621 _BracketMatcher<>): Add bool option template parameters and
2622 specializations to make matching more efficient and space saving.
2623 * bits/regex_compiler.tcc: Likewise.
2625 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2628 * include/bits/hashtable_policy.h: Fix some long lines.
2629 * include/bits/hashtable.h (__hash_code_base_access): Define and
2630 use it to check its _M_bucket_index noexcept qualification. Use
2632 (__access_protected_ctor): ...this.
2633 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2635 * testsuite/23_containers/unordered_set/
2636 not_default_constructible_hash_neg.cc: Likewise.
2638 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2640 * include/debug/set.h (set): Implement C++11 allocator-aware
2641 container requirements.
2642 * include/debug/map.h (map): Likewise.
2643 * include/debug/multiset.h (multiset): Likewise.
2644 * include/debug/multimap.h (multimap): Likewise.
2645 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2646 fix implementation regarding management of safe iterators.
2647 * include/debug/map.h (map::operator=(map&&)): Likewise.
2648 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2649 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2651 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2652 Rely on the same operator from normal mode.
2653 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2655 * include/debug/multiset.h
2656 (multiset::operator=(std::initializer_list<>)): Likewise.
2657 * include/debug/multimap.h
2658 (multimap::operator=(std::initializer_list<>)): Likewise.
2659 * include/debug/set.h (set::swap(set&)): Add noexcept
2660 specification, add allocator equality check.
2661 * include/debug/map.h (map::swap(map&)): Likewise.
2662 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2663 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2665 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2668 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2669 and stylistic improvements.
2670 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2671 and update for C++11.
2672 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2675 * doc/xml/manual/backwards_compatibility.xml
2676 (backwards.third.nocreate_noreplace): Correct and expand.
2679 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2681 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2684 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2685 support for non-Movable types.
2688 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2690 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2692 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2693 *this allocator instance when building temporary vector instance
2694 so that *this allocator does not get moved.
2695 * include/debug/safe_base.h
2696 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2697 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2698 move constructor from _Safe_sequence_base.
2699 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2700 safe iterators if the instance is moved.
2701 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2702 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2703 check on a vector iterator.
2704 * testsuite/23_containers/vector/allocator/move_assign.cc
2706 (test03): New, test with a non-propagating allocator.
2707 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2709 2014-01-07 Tim Shen <timshen91@gmail.com>
2711 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2712 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2713 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2714 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2715 _BracketMatcher<>::_M_add_char(),
2716 _BracketMatcher<>::_M_add_collating_element(),
2717 _BracketMatcher<>::_M_add_equivalence_class(),
2718 _BracketMatcher<>::_M_add_character_class(),
2719 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2720 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2721 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2722 to template parameter; Add cache for _BracketMatcher. Adjust
2723 declarations from here...
2724 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2725 imbuing a regex will trigger a recompilation to rebuild the cache.
2726 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2727 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2728 different template bool parameters.
2729 * include/bits/regex_executor.h: Remove unnecessary declarations.
2730 * include/std/regex: Adjust including orders.
2731 * testsuite/28_regex/traits/char/user_defined.cc: New.
2732 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2734 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2736 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2737 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2738 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2739 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2740 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2742 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2744 Update copyright years
2746 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2748 * testsuite/18_support/new_handler.cc,
2749 testsuite/18_support/terminate_handler.cc,
2750 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2751 the copyright notice.
2753 Copyright (C) 2014 Free Software Foundation, Inc.
2755 Copying and distribution of this file, with or without modification,
2756 are permitted in any medium without royalty provided the copyright
2757 notice and this notice are preserved.