1 2014-10-09 Jonathan Wakely <jwakely@redhat.com>
3 * doc/xml/manual/status_cxx2011.xml: Update.
4 * doc/html/manual/status.html: Regenerate.
7 * include/std/atomic (atomic): Add assertion for trivially copyable.
8 * testsuite/29_atomics/atomic/60695.cc: Adjust line number.
11 * include/std/functional (__is_location_invariant): Treat all
12 trivially copyable types as location invariant.
14 2014-10-09 Ville Voutilainen <ville.voutilainen@gmail.com>
17 * include/std/type_traits (is_trivially_copyable,
18 is_trivially_constructible, is_trivially_default_constructible,
19 is_trivially_copy_constructible, is_trivially_move_constructible,
20 is_trivially_assignable, is_trivially_copy_assignable,
21 is_trivially_move_assignable): New.
22 * testsuite/20_util/is_trivially_assignable/requirements/
23 typedefs.cc: Likewise.
24 * testsuite/20_util/is_trivially_assignable/requirements/
25 explicit_instantiation.cc: Likewise.
26 * testsuite/20_util/is_trivially_assignable/value.cc: Likewise.
27 * testsuite/20_util/is_trivially_constructible/requirements/
28 typedefs.cc: Likewise.
29 * testsuite/20_util/is_trivially_constructible/requirements/
30 explicit_instantiation.cc: Likewise.
31 * testsuite/20_util/is_trivially_constructible/value.cc: Likewise.
32 * testsuite/20_util/is_trivially_copyable/requirements/
33 typedefs.cc: Likewise.
34 * testsuite/20_util/is_trivially_copyable/requirements/
35 explicit_instantiation.cc: Likewise.
36 * testsuite/20_util/is_trivially_copyable/value.cc: Likewise.
37 * testsuite/20_util/is_trivially_copy_assignable/requirements/
38 typedefs.cc: Likewise.
39 * testsuite/20_util/is_trivially_copy_assignable/requirements/
40 explicit_instantiation.cc: Likewise.
41 * testsuite/20_util/is_trivially_copy_assignable/value.cc: Likewise.
42 * testsuite/20_util/is_trivially_copy_constructible/requirements/
43 typedefs.cc: Likewise.
44 * testsuite/20_util/is_trivially_copy_constructible/requirements/
45 explicit_instantiation.cc: Likewise.
46 * testsuite/20_util/is_trivially_copy_constructible/value.cc: Likewise.
47 * testsuite/20_util/is_trivially_default_constructible/requirements/
48 typedefs.cc: Likewise.
49 * testsuite/20_util/is_trivially_default_constructible/requirements/
50 explicit_instantiation.cc: Likewise.
51 * testsuite/20_util/is_trivially_default_constructible/
53 * testsuite/20_util/is_trivially_move_assignable/requirements/
54 typedefs.cc: Likewise.
55 * testsuite/20_util/is_trivially_move_assignable/requirements/
56 explicit_instantiation.cc: Likewise.
57 * testsuite/20_util/is_trivially_move_assignable/value.cc: Likewise.
58 * testsuite/20_util/is_trivially_move_constructible/requirements/
59 typedefs.cc: Likewise.
60 * testsuite/20_util/is_trivially_move_constructible/requirements/
61 explicit_instantiation.cc: Likewise.
62 * testsuite/20_util/is_trivially_move_constructible/value.cc:
64 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
66 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
68 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
71 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
73 * include/bits/locale_facets.tcc (num_put::_M_insert_float): Do not
74 pass precision when using hexfloat format.
75 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Always
76 output precision if C99 hexfloat conversion specifiers not available.
78 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
80 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
83 2014-10-07 François Dumont <fdumont@gcc.gnu.org>
85 * testsuite/util/testsuite_counter_type.h
86 (counter_type::operator<(const counter_type&)): Update
88 * testsuite/25_algorithms/make_heap/complexity.cc: New.
89 * testsuite/25_algorithms/pop_heap/complexity.cc: New.
90 * testsuite/25_algorithms/push_heap/complexity.cc: New.
91 * testsuite/25_algorithms/sort_heap/complexity.cc: New.
93 2014-10-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
94 Jonathan Wakely <jwakely@redhat.com>
97 * doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
98 * doc/html/manual/status.html: Regenerate.
99 * include/bits/ios_base.h (hexfloat): New function.
100 (defaultfloat): New function.
101 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
102 hexadecimal floating point format.
103 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
106 2014-10-06 Jonathan Wakely <jwakely@redhat.com>
108 * include/Makefile.am: Add new header.
109 * include/Makefile.in: Regenerate.
110 * include/experimental/tuple: New
111 * doc/xml/manual/status_cxx2014.xml: Update.
112 * doc/html/manual/status.html: Regenerate.
113 * testsuite/experimental/feat-lib-fund.cc: Test for new header.
114 * testsuite/experimental/tuple/apply.cc: New.
116 2014-10-05 François Dumont <fdumont@gcc.gnu.org>
119 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
121 * testsuite/23_containers/unordered_set/63456.cc: New.
123 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
126 * doc/xml/manual/containers.xml: Remove outdated section.
127 * doc/html/*: Regenerate.
129 2014-10-02 Jonathan Wakely <jwakely@redhat.com>
131 * include/c_global/ctgmath: Include <complex>.
132 * testsuite/26_numerics/headers/ctgmath/complex.cc: New.
133 * doc/xml/manual/status_cxx2011.xml: Update.
134 * doc/html/manual/status.html: Regenerate.
136 2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
138 * include/bits/stl_function.h: Generic associative lookup feature
140 * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
142 * testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
143 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
144 * testsuite/20_util/duration/literals/range.cc: Adjust.
145 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
146 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
147 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
148 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
149 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
150 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
151 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
154 2014-10-01 François Dumont <fdumont@gcc.gnu.org>
156 * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
157 Adapt to latest modifications on debug iterators.
159 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
161 * include/std/type_traits: Add is_final<> type trait for C++14.
162 * testsuite/util/testsuite_tr1.h: Add
163 * testsuite/20_util/is_final/requirements/
164 explicit_instantiation.cc: New.
165 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
166 * testsuite/20_util/is_final/value.cc: New.
167 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
168 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
169 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
171 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
173 Implement SD-6: SG10 Feature Test Recommendations
174 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
175 * include/bits/stl_algobase.h: Ditto.
176 * include/bits/stl_function.h: Ditto.
177 * include/bits/unique_ptr.h: Ditto.
178 * include/std/chrono: Ditto.
179 * include/std/complex: Ditto.
180 * include/std/iomanip: Ditto.
181 * include/std/shared_mutex: Ditto.
182 * include/std/tuple: Ditto.
183 * include/std/type_traits: Ditto.
184 * include/std/utility: Ditto.
185 * testsuite/experimental/feat-cxx14.cc: New.
186 * testsuite/experimental/feat-lib-fund.cc: New.
187 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
188 * testsuite/20_util/duration/literals/range.cc: Adjust.
189 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
190 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
191 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
192 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
193 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
194 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
195 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
198 2014-09-30 Siva Chandra Reddy <sivachandra@google.com>
200 * python/hook.in: Only import libstdcxx.v6.
201 * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
203 2014-09-30 Jonathan Wakely <jwakely@redhat.com>
205 * doc/xml/manual/status_cxx2011.xml: Update.
206 * doc/html/manual/status.html: Regenerate.
208 2014-09-30 Andreas Schwab <schwab@linux-m68k.org>
210 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
213 * configure.host (abi_baseline_pair): If try_cpu is generic use
214 host_cpu for the default.
216 2014-09-29 François Dumont <fdumont@gcc.gnu.org>
219 * include/debug/safe_base.h
220 (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
221 (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
222 * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
223 before _Safe_iterator_base in memory. Lock before modifying the iterator
225 * include/debug/safe_local_iterator.h
226 (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
228 (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
230 * include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move
231 normal iterator before _Safe_iterator_base in memory. Lock before
232 modifying the iterator in numerous places.
233 * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
234 * include/debug/safe_sequence.tcc
235 (_Safe_sequence<>::_M_transfer_from_if): Adapt.
237 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
240 * doc/xml/manual/status_cxx2011.xml: Update.
241 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
243 (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
244 * include/bits/stl_vector.h (vector::_M_fill_initialize,
245 vector::_M_default_initialize): Use returned iterator.
246 * include/bits/vector.tcc (vector::_M_fill_assign,
247 vector::_M_fill_insert, vector::_M_default_append): Likewise.
248 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
249 16505.cc: Adjust return type.
250 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
253 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
255 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
257 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
259 * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
260 * testsuite/27_io/basic_ios/conv/bool.cc: New.
261 * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
263 * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
265 2014-09-25 Tim Shen <timshen@google.com>
268 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
269 basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
270 _M_loc for basic_regex.
271 * include/bits/regex_automaton.h: Add _M_traits for _NFA.
272 * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
273 Make _Compiler::_M_nfa heap allocated.
274 * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
275 _Compiler::_M_nfa heap allocated.
276 * include/bits/regex_executor.h (_Executor::_M_is_word):
277 Fix accessing _M_traits.
278 * include/bits/regex_executor.tcc (_Executor::_M_dfs):
279 Fix accessing _M_traits.
280 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
283 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
285 * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
286 new GLIBCXX_3.4.21 symbols don't match them.
289 * config/abi/pre/gnu.ver: Add new exports.
290 * include/bits/basic_ios.h (basic_ios::operator bool): Define.
291 * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
293 2014-09-24 François Dumont <fdumont@gcc.gnu.org>
296 * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
297 (_Rb_tree_alloc_node<>): New.
298 (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
299 (_Rb_tree<>::_M_assign_unique): New.
300 (_Rb_tree<>::_M_assign_equal): New.
301 (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
302 * include/bits/stl_map.h
303 (std::map<>::operator=(std::map<>&&)): Default implementation.
304 (std::map<>::operator=(initializer_list<>)): Adapt to use
305 _Rb_tree::_M_assign_unique.
306 * include/bits/stl_multimap.h
307 (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
308 (std::multimap<>::operator=(initializer_list<>)): Adapt to use
309 _Rb_tree::_M_assign_equal.
310 * include/bits/stl_set.h
311 (std::set<>::operator=(std::set<>&&)): Default implementation.
312 (std::set<>::operator=(initializer_list<>)): Adapt to use
313 _Rb_tree::_M_assign_unique.
314 * include/bits/stl_multiset.h
315 (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
316 (std::multiset<>::operator=(initializer_list<>)): Adapt to use
317 _Rb_tree::_M_assign_equal.
318 * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
319 * testsuite/23_containers/map/allocator/init-list.cc: New.
320 * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
321 * testsuite/23_containers/multimap/allocator/copy_assign.cc
323 * testsuite/23_containers/multimap/allocator/init-list.cc: New.
324 * testsuite/23_containers/multimap/allocator/move_assign.cc
326 * testsuite/23_containers/multiset/allocator/copy_assign.cc
328 * testsuite/23_containers/multiset/allocator/init-list.cc: New.
329 * testsuite/23_containers/multiset/allocator/move_assign.cc
331 * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
332 * testsuite/23_containers/set/allocator/init-list.cc: New.
333 * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
335 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
338 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
340 2014-09-23 Jonathan Wakely <jwakely@redhat.com>
342 * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
343 * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
344 to ostream constructor.
345 * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
346 parameter by reference, to avoid ambiguity.
347 * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
349 2014-09-22 Jason Merrill <jason@redhat.com>
351 * testsuite/Makefile.am (%/site.exp): Add @.
352 (check-DEJAGNU): Likewise.
353 * testsuite/Makefile.in: Regenerate.
355 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
357 * include/bits/stl_queue.h: Include missing header.
358 * include/bits/stl_stack.h: Likewise.
359 * testsuite/23_containers/priority_queue/requirements/
360 uses_allocator.cc: New.
361 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
362 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
364 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
366 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
367 * doc/xml/manual/status_cxx2014.xml: Update TS status.
368 * doc/html/manual/status.html: Regenerate.
370 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
372 * include/std/mutex (try_lock): Do not swallow exceptions.
373 * testsuite/30_threads/try_lock/4.cc: Fix test.
375 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
379 * config/abi/pre/gnu.ver: Add new exports.
380 * config/io/basic_file_stdio.h (__basic_file): Support moving and
382 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
384 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
386 * include/bits/fstream.tcc (basic_filebuf): Likewise.
387 * include/bits/move.h (__exchange): Define for C++11 mode.
388 * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
390 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
391 * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
392 basic_fstream): Likewise.
393 * include/std/ios: Remove whitespace.
394 * include/std/istream (basic_istream, basic_iostream): Support moving
396 * include/std/ostream (basic_ostream): Likewise.
397 * include/std/sstream (basic_stringbuf, basic_istringstream,
398 basic_ostringstream, basic_stringstream): Likewise.
399 * include/std/streambuf (basic_streambuf): Do not default copy
400 constructor and assignment on first declaration.
401 * include/std/utility (exchange): Forward to __exchange.
402 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
403 * src/c++11/Makefile.am: Add stream-related files.
404 * src/c++11/Makefile.in: Regenerate.
405 * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
406 New file for explicit instantiation definitions.
407 * src/c++11/ios.cc: Move from src/c++98 to here.
408 (ios_base::_M_move, ios_base::_M_swap): Define.
409 * src/c++11/ios-inst.cc: Move from src/c++98 to here.
410 * src/c++11/iostream-inst.cc: Likewise.
411 * src/c++11/istream-inst.cc: Likewise.
412 * src/c++11/ostream-inst.cc: Likewise.
413 * src/c++11/sstream-inst.cc: Likewise.
414 * src/c++11/streambuf-inst.cc: Likewise.
415 * src/c++98/Makefile.am: Remove stream-related files.
416 * src/c++98/Makefile.in: Regenerate.
417 * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
419 * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
420 * src/c++98/ios-inst.cc: Move to src/c++11/.
421 * src/c++98/ios.cc: Move to src/c++11/.
422 * src/c++98/iostream-inst.cc: Likewise.
423 * src/c++98/istream-inst.cc: Likewise.
424 * src/c++98/ostream-inst.cc: Likewise.
425 * src/c++98/sstream-inst.cc: Likewise.
426 * src/c++98/streambuf-inst.cc: Likewise.
427 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
428 * testsuite/27_io/basic_fstream/cons/move.cc: New.
429 * testsuite/27_io/basic_fstream/assign/1.cc: New.
430 * testsuite/27_io/basic_ifstream/cons/move.cc: New.
431 * testsuite/27_io/basic_ifstream/assign/1.cc: New.
432 * testsuite/27_io/basic_istringstream/assign/1.cc: New.
433 * testsuite/27_io/basic_istringstream/cons/move.cc: New.
434 * testsuite/27_io/basic_ofstream/cons/move.cc: New.
435 * testsuite/27_io/basic_ofstream/assign/1.cc: New.
436 * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
437 * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
438 * testsuite/27_io/basic_stringstream/assign/1.cc: New.
439 * testsuite/27_io/basic_stringstream/cons/move.cc: New.
441 2014-09-17 Jason Merrill <jason@redhat.com>
443 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
444 dynamic_cast more gracefully.
446 2014-09-15 Jakub Jelinek <jakub@redhat.com>
448 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
449 check_p_numbers2, check_p_numbers3, check_p_numbers4,
450 check_p_numbers5, check_p_numbers6, check_p_numbers,
451 check_p_subdirs): New variables.
452 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
453 (check-DEJAGNU): Rewritten so that for parallelized
454 testing each job runs all the *.exp files, with
455 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
456 * testsuite/Makefile.in: Regenerated.
457 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
458 gcc_parallel_test_enable): New procedures. If
459 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
460 runtest_file_p to invoke also gcc_parallel_test_run_p.
461 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
462 by the first parallel runtest encountering it. Fix up path
463 of the extract_symvers script.
464 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
465 serially by the first parallel runtest encountering it. Run
466 dg-finish even in case of error.
468 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
470 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
471 parameters to _Ch_traits.
473 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
475 * include/debug/deque (__gnu_debug::deque): Make base class C++11
478 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
481 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
482 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
484 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
487 * include/bits/regex.h (match_results::format): Remove stray template
489 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
490 Remove parameter name to avoid -Wunused-parameter warning.
491 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
492 mem-initializers to avoid -Wreorder warning.
493 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
494 Remove parameter name to avoid -Wunused-parameter warning.
495 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
496 to avoid -Wempty-body warning when not in debug mode.
498 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
500 * python/hook.in: Load the xmethods.
501 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
502 * python/Makefile.in: Regenerated.
503 * python/libstdcxx/v6/xmethods.py: New file.
504 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
506 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
507 python script if LOAD_XMETHODS is true.
508 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
509 * testsuite/libstdc++-xmethods/vector.cc: New file.
510 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
512 2014-09-10 Tony Wang <tony.wang@arm.com>
515 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
516 Return with CONTINUE_UNWINDING when the state pattern
517 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
519 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
521 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
522 allocator propagation.
523 (deque::emplace_front, deque::emplace_back): Use allocator traits.
524 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
525 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
526 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
527 (_Deque_iterator): Handle allocators with custom pointers.
528 (_Deque_base): Likewise. Use allocator traits.
529 (deque): Likewise. Add allocator-extended constructors.
530 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
531 assignment via tag dispatching.
532 (deque::_M_replace_map): Replace existing data.
533 * include/debug/deque (deque): Add allocator-extended constructors.
534 * include/profile/deque (deque): Likewise.
535 * testsuite/23_containers/deque/allocator/copy.cc: New.
536 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
537 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
538 * testsuite/23_containers/deque/allocator/minimal.cc: New.
539 * testsuite/23_containers/deque/allocator/move.cc: New.
540 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
541 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
542 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
543 * testsuite/23_containers/deque/allocator/swap.cc: New.
544 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
545 Adjust dg-error line number.
546 * testsuite/23_containers/deque/requirements/dr438/
547 constructor_1_neg.cc: Likewise.
548 * testsuite/23_containers/deque/requirements/dr438/
549 constructor_2_neg.cc: Likewise.
550 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
552 * testsuite/23_containers/vector/52591.cc: Test both the propagating
553 and always-equal cases.
555 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
557 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
559 (_Hash_code_base<>): All specialization default constructible if
561 (_Hashtable_base<>): Likewise.
562 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
563 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
564 implementation defaulted.
565 (unordered_multimap<>::unordered_multimap()): Likewise.
566 * include/bits/unordered_set.h
567 (unordered_set<>::unordered_set()): Likewise.
568 (unordered_multiset<>::unordered_multiset()): Likewise.
569 * include/debug/unordered_map: Likewise.
570 * include/debug/unordered_set: Likewise.
571 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
573 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
575 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
577 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
580 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
582 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
584 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
586 * include/std/complex (complex): Define copy constructor and
587 assignment operator as defaulted. Improve Doxygen comments.
589 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
591 * testsuite/ext/random/*: Fix incorrect standard references in
594 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
597 * include/Makefile.am (install-freestanding-headers): Add missing
599 * include/Makefile.in: Regenerate.
601 2014-08-21 Tony Wang <tony.wang@arm.com>
603 * testsuite/18_support/nested_exception/62154.cc: Disable when the
604 target doesn't provide atomic builtins.
606 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
607 Kai Tietz <ktietz@redhat.com>
609 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
611 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
613 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
614 #include <windows.h>.
615 (struct elt): Add dll member.
616 (run): Decrement dll refcount.
617 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
619 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
622 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
623 Rewrite to conform to C++11 requirements.
624 * testsuite/18_support/nested_exception/62154.cc: New.
626 2014-08-14 Matthias Klose <doko@ubuntu.com>
628 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
629 Remove empty directory.
631 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
633 * testsuite/26_numerics/random/linear_congruential_engine/
634 requirements/non_uint_neg.cc: Adjust for parser change.
635 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
636 requirements/non_uint_neg.cc: Likewise.
638 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
641 * include/std/thread (thread::_M_start_thread): Declare new overload.
642 (thread::thread<_Callable, _Args...>): Call new overload with an
643 explicit reference to pthread_create.
644 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
645 * config/abi/pre/gnu.ver: Export new function.
647 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
649 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
651 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
653 * Fix thinko in the last commit.
655 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
658 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
659 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
661 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
663 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
664 and add overloads for rvalue streams.
665 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
667 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
670 * include/bits/basic_string.h (getline): Declare inline.
672 2014-08-09 Ulrich Drepper <drepper@gmail.com>
674 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
675 (uniform_on_sphere_distribution::operator()): Use the new helper
676 class for the implementation.
678 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
679 equal.cc: Remove bogus part of comment.
680 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
681 inequal.cc: Likewise.
682 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
683 serialize.cc: Add check to verify result of serialzation and
685 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
686 generate.cc: New file.
688 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
690 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
691 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
693 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
696 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
697 _M_need_rehash to initialize the rehash policy and check if a rehash is
699 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
701 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
703 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
705 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
706 Adjust dg-error line number.
707 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
709 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
711 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
714 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
716 (_State_baseV2::_M_do_set): Change parameters to pointers.
717 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
718 (_State_baseV2::__setter): Initialize _Setter with pointers.
719 (_State_baseV2::__setter(promise<void>*)): Remove overload.
720 (promise::set_value, promise::set_exception): Pass setter directly
722 (_State_baseV2::_Task_setter): Add template parameter for callable
723 type and replace std::function member with pointer to that type.
724 Change _M_result member from reference to pointer.
725 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
726 and initialize _Task_setter with pointers.
727 (__location_invariant): Specialize for _Setter and _Task_setter.
729 * include/std/future (__location_invariant): Move specializations
730 after preprocessor condition.
732 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
735 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
737 2014-08-01 Zifei Tong <zifeitong@gmail.com>
739 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
740 _GLIBCXX_ prefix to macro.
742 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
744 * python/libstdcxx/v6/printers.py
745 (SingleObjContainerPrinter._contained): Use compatibility mixin.
747 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
749 * testsuite/util/testsuite_allocator.h
750 (tracker_allocator_counter::allocate): Remove new invocation, only
752 (tracker_allocator_counter::deallocate): Remove delete invocation, only
754 (check_inconsistent_alloc_value_type): New.
755 (tracker_allocator): Transform as a facade for any allocator type.
756 (uneq_allocator): Likewise.
757 (propagating_allocator): Likewise.
758 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
759 explicitly non propagating allocator.
760 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
761 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
762 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
763 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
764 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
766 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
768 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
770 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
772 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
774 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
777 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
778 const allocator_type&)): Pass non-const allocator to
780 * testsuite/ext/rope/61946.cc: New.
783 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
784 disambiguate unary constructors.
785 (_Tuple_impl): Pass allocator_arg_t arguments.
786 * testsuite/20_util/tuple/61947.cc: New.
787 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
789 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
791 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
792 * include/bits/random.h (_Adaptor): static_assert for non floating-point
794 * include/bits/random.tcc (generate_canonical): Ditto.
795 * include/ext/random.tcc (hypergeometric_distribution::operator()):
796 Use double as a rng result type.
797 * testsuite/26_numerics/random/pr60037-neg.cc: New.
798 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
800 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
802 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
804 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
806 * include/experimental/string_view: Make the literal operators
807 constexpr like the ctors they call.
809 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
811 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
813 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
815 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
816 to string instead of using gdb.Type.name attribute.
818 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
820 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
823 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
826 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
828 (SingleObjContainerPrinter): Check if type printers are in use.
830 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
832 * include/ext/random: Minor formatting and cosmetic tweaks.
833 (uniform_on_sphere_distribution<>::operator==
834 (const uniform_on_sphere_distribution&,
835 const uniform_on_sphere_distribution&)): Compare the _M_nds.
836 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
837 (operator!=(const uniform_on_sphere_distribution&,
838 const uniform_on_sphere_distribution&)): Adjust.
839 * include/ext/random.tcc: Minor cosmetc tweaks.
841 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
843 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
844 printer for class templates.
845 (register_type_printers): Use TemplateTypePrinter for containers
846 and other class templates with default template arguments.
847 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
849 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
850 base class for experimental::any and experimental::optional printers.
851 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
852 New printers for Fundamentals TS types.
853 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
855 2014-07-15 Tim Shen <timshen@google.com>
858 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
859 Clear match queue for next use.
860 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
862 2014-07-14 Ulrich Drepper <drepper@gmail.com>
864 * include/ext/random.tcc: Unfortunately more fixes for
865 operator>> and operator<< for uniform_on_sphere_distribution.
867 2014-07-13 Ulrich Drepper <drepper@gmail.com>
869 * include/ext/random.tcc: Fix operator>> and operator<< for
870 uniform_on_sphere_distribution.
872 2014-07-12 Ulrich Drepper <drepper@gmail.com>
874 * include/ext/random: Add uniform_on_sphere_distribution definition.
875 * include/ext/random.tcc: Add out-of-band member function definitions
876 for uniform_on_sphere_distribution.
877 * testsuite/ext/random/uniform_on_sphere_distribution/
878 cons/default.cc: New file.
879 * testsuite/ext/random/uniform_on_sphere_distribution/
880 operators/equal.cc: New file.
881 * testsuite/ext/random/uniform_on_sphere_distribution/
882 operators/inequal.cc: New file.
883 * testsuite/ext/random/uniform_on_sphere_distribution/
884 operators/serialize.cc: New file.
886 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
888 Add the logistic_distribution as an extension.
889 * include/ext/random: Add the logistic_distribution.
890 * include/ext/random.tcc: Add the logistic_distribution.
891 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
892 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
893 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
895 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
896 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
897 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
900 2014-07-11 Samuel Bronson <naesten@gmail.com>
902 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
903 instead of insisting that GCC understand -fdiagnostics-color=never
905 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
908 2014-07-11 Samuel Bronson <naesten@gmail.com>
909 Matthias Klose <doko@ubuntu.com>
912 * python/libstdcxx/v6/printers.py: Port to Python 2+3
913 (imap): New compat function.
915 (Iterator): New mixin to allow writing iterators in Python 3 style
916 regardless of which version we're running on.
917 [Python3] (long) New compat alias for "int".
918 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
920 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
922 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
923 tuple members to simplify pretty printing.
924 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
926 * testsuite/experimental/any/cons/4.cc: New.
928 2014-07-09 Jason Merrill <jason@redhat.com>
931 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
932 * libsupc++/tinfo.h: Not here.
934 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
936 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
938 * include/experimental/any: Remove unused header.
939 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
940 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
941 * testsuite/util/testsuite_regex.h: Move include guard.
943 2014-07-01 Tim Shen <timshen@google.com>
947 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
948 a NFA state limit. If it's exceeded, regex_constants::error_space
950 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
951 map (which is sparse) instead of vector. This reduce n times clones'
952 cost from O(n^2) to O(n).
953 * include/std/regex: Add map dependency.
954 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
957 2014-07-01 Tim Shen <timshen@google.com>
960 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
961 not just regex containing back-references.
962 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
963 exchange _M_next and _M_alt for alternative operator,
964 making matching from left to right.
965 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
966 Add position tracking fom DFS.
967 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
968 _Executor<>::_M_dfs): Likewise.
969 * include/bits/regex_scanner.h: Remove unused enum entry.
970 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
973 2014-06-30 Jason Merrill <jason@redhat.com>
975 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
978 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
981 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
982 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
985 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
987 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
989 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
991 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
993 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
996 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
998 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
999 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
1000 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
1002 * include/ext/alloc_traits.h: Fix comment.
1004 * include/Makefile.am: Add new header.
1005 * include/Makefile.in: Regenerate.
1006 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
1007 New RAII utilities for working with allocators.
1008 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
1009 __allocator_type typedef and use new __allocated_ptr type.
1010 (_Sp_counted_ptr_inplace): Likewise.
1011 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
1012 __allocate_guarded to to simplify exception handling.
1013 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
1014 * include/std/future (_Result_alloc::_M_destroy): Likewise.
1015 (_Result_alloc::_S_allocate_result): Likewise.
1016 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
1017 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1018 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
1019 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
1021 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1023 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
1025 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
1026 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
1028 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
1030 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
1031 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
1032 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
1033 Remove unused typedef.
1034 (time_get::do_get_monthname): Likewise.
1035 * include/bits/stl_tree.h: Add system_header pragma.
1036 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
1037 redundant const-qualifier.
1038 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
1039 instead of _GLIBCXX_USE_CONSTEXPR.
1041 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
1043 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
1044 * include/std/chrono (_Checked_integral_constant): Allow zero.
1045 * testsuite/20_util/duration/literals/values.cc: Test non-positive
1046 values and digit separators.
1047 * include/experimental/any
1050 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
1051 apply the signed specifier to wchar_t.
1052 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
1053 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
1054 cv-qualifier and size.
1055 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1058 * include/experimental/any (any_v1): Rename namespace to
1059 fundamentals_v1. Change string returned by bad_any_cast::what().
1060 * include/experimental/optional (fundamentals_v1): Add namespace.
1061 * include/experimental/string_view (fundamentals_v1): Likewise.
1062 * testsuite/experimental/any/typedefs.cc: New.
1063 * testsuite/experimental/optional/typedefs.cc: New.
1064 * testsuite/experimental/string_view/typedefs.cc: New.
1066 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
1067 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1070 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
1072 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
1074 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
1075 * include/Makefile.am: Add new header.
1076 * include/Makefile.in: Regenerate.
1077 * include/experimental/any: New.
1078 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
1080 * testsuite/experimental/any/assign/1.cc: New.
1081 * testsuite/experimental/any/assign/2.cc: New.
1082 * testsuite/experimental/any/cons/1.cc: New.
1083 * testsuite/experimental/any/cons/2.cc: New.
1084 * testsuite/experimental/any/cons/3.cc: New.
1085 * testsuite/experimental/any/misc/any_cast.cc: New.
1086 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
1087 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
1088 * testsuite/experimental/any/misc/swap.cc: New.
1089 * testsuite/experimental/any/modifiers/1.cc: New.
1090 * testsuite/experimental/any/observers/type.cc: New.
1092 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
1093 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
1095 * include/bits/shared_ptr.h (shared_ptr): Likewise.
1096 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1098 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1100 * include/parallel/list_partition.h (__parallel::list_partition):
1102 * include/std/iomanip (quoted): Likewise.
1103 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
1105 * doc/xml/api.xml: Link to more recent API docs.
1106 * include/bits/allocator.h: Fix link in doxygen comment.
1107 * include/bits/char_traits.h: Likewise.
1108 * include/bits/ios_base.h: Likewise.
1109 * include/bits/stl_map.h: Likewise.
1110 * include/bits/stl_multimap.h: Likewise.
1111 * include/bits/stl_multiset.h: Likewise.
1112 * include/bits/stl_set.h: Likewise.
1113 * include/bits/unordered_map.h: Likewise.
1114 * include/bits/unordered_set.h: Likewise.
1115 * include/ext/mt_allocator.h: Likewise.
1116 * include/std/fstream: Likewise.
1117 * include/std/iosfwd: Likewise.
1118 * include/std/ostream: Likewise.
1119 * include/std/sstream: Likewise.
1120 * include/std/streambuf: Likewise.
1121 * doc/html/*: Regenerate.
1123 * include/experimental/any (any_cast): Combine duplicate doxygen
1125 * include/experimental/string_view (basic_string_view): Update
1127 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
1128 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
1129 (dynamic_bitset): Improve Doxygen comments.
1130 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
1133 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
1135 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1136 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1138 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
1141 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
1142 (bin_search_tree_traits): Do not redeclare template-parameters.
1143 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
1145 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1147 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
1148 parameter for DocBook HTML generation.
1149 * doc/Makefile.in: Regenerate.
1150 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
1151 * doc/xml/faq.xml: Update content and improve formatting.
1152 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
1153 * doc/xml/manual/allocator.xml: Add stable ID attribute.
1154 * doc/xml/manual/bitmap_allocator.xml: Likewise.
1155 * doc/xml/manual/build_hacking.xml: Likewise.
1156 * doc/xml/manual/codecvt.xml: Change URL.
1157 * doc/xml/manual/ctype.xml: Add stable ID attribute.
1158 * doc/xml/manual/debug_mode.xml: Likewise.
1159 * doc/xml/manual/documentation_hacking.xml: Likewise.
1160 * doc/xml/manual/evolution.xml: Likewise.
1161 * doc/xml/manual/extensions.xml: Likewise.
1162 * doc/xml/manual/locale.xml: Likewise.
1163 * doc/xml/manual/messages.xml: Make section id consistent, improve
1165 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
1166 * doc/xml/manual/profile_mode.xml: Likewise.
1167 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
1168 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
1169 * doc/xml/manual/status_cxx2011.xml: Likewise.
1170 * doc/xml/manual/status_cxx2014.xml: Likewise.
1171 * doc/xml/manual/status_cxxtr1.xml: Likewise.
1172 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1173 * doc/xml/manual/using.xml: Likewise.
1174 * doc/html/*: Regenerate.
1176 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1178 * include/tr1/beta_function.tcc: Fix spelling of include guard in
1181 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1183 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1185 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
1187 DR 2344 - std::quoted doesn't respect padding
1188 * include/std/iomanip: Allow for padding in quoted inserters.
1189 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
1190 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
1192 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
1194 * testsuite/23_containers/map/operators/1.cc: Simplify test.
1196 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
1198 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1200 * doc/xml/manual/backwards_compatibility.xml
1201 (backwards.second.stringstreams): Likewise.
1202 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
1204 * doc/xml/manual/containers.xml (associative.bitset.type_string):
1205 Replace <quote> in code example.
1206 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
1207 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
1208 fix typos, improve markup.
1209 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
1210 <emphasis> with <replaceable>.
1211 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
1212 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
1213 and remove newlines in string literal.
1215 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1219 * testsuite/20_util/is_assignable/value.cc: Update.
1221 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
1223 * include/std/condition_variable (condition_variable_any::_Unlock): Do
1224 not swallow __forced_unwind.
1225 * include/std/future (__future_base::_Task_setter): Likewise.
1226 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1227 promise and rethrow.
1228 * include/std/mutex (try_lock): Likewise.
1229 * testsuite/30_threads/async/forced_unwind.cc: New.
1230 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1232 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1233 members to avoid wasted space when not using a cache.
1234 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1235 * include/bits/regex_compiler.tcc
1236 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1238 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1239 New enumeration type to indicate match mode.
1240 (__detail::_Executor::_State_info): New type holding members only
1241 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1243 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1244 Replace template parameter with run-time function parameter.
1245 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1246 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1247 implement DFS and BFS mode.
1248 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1249 Split implementation into ...
1250 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1251 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1252 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1253 argument instead of template argument.
1254 (__detail::_Executor::_M_dfs): Likewise.
1255 * include/bits/regex_scanner.tcc: Fix typos in comments.
1256 * testsuite/performance/28_regex/range.cc: New.
1258 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1259 Jonathan Wakely <jwakely@redhat.com>
1261 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1263 (aligned_union): New struct (C++11).
1264 (aligned_union_t): New type alias (C++14).
1265 * doc/xml/manual/status_cxx2011.xml: Update.
1266 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1267 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1270 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
1273 * include/experimental/string_view (operator basic_string): Correct
1275 (to_string): Replace with member function.
1276 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1277 allow _M_str to be null.
1278 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1279 default constructor semantics.
1280 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1281 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1282 copyright dates. Remove unused header.
1283 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1285 * testsuite/experimental/string_view/operations/data/char/1.cc:
1286 Fix copyright dates. Adjust to new default constructor semantics.
1287 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1289 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1291 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1292 (__uses_allocator_arg): Remove unused type.
1293 (__uses_alloc0): Turn into a trivial type.
1294 (__uses_alloc): Add missing template parameter in primary template.
1295 (__uses_alloc_impl): Rename to __uses_alloc_t.
1297 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
1299 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1300 work with previous versions of Tcl.
1302 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1303 Benjamin's old email address.
1305 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1306 Paolo's address too.
1308 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
1310 * include/tr2/bool_set: Use UTF-8 for accented characters.
1311 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1312 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1313 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1315 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
1318 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1320 (_State_base::_M_dot): Likewise.
1322 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
1324 * include/profile/map.h: Fix typo in comment; minor formatting fix.
1325 * include/profile/multimap.h: Likewise.
1326 * include/profile/set.h: Likewise.
1327 * include/profile/multiset.h: Likewise.
1329 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
1331 * include/profile/array: Clean useless white chars.
1332 * include/profile/base.h: Likewise.
1333 * include/profile/iterator_tracker.h: Likewise.
1334 * include/profile/bitset: Code cleanup and remove not instrumented code.
1335 * include/profile/deque: Likewise.
1336 * include/profile/forward_list: Likewise.
1337 * include/profile/list (std::__profile::_List_profile<>): New.
1338 (std::__profile::list<>): Inherit from latter and adapt.
1339 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1340 advise to match any ordered to unordered container conversion.
1341 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1343 * include/Makefile.am: Add latter.
1344 * include/Makefile.in: Regenerate.
1345 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1346 remove not instrumented code.
1347 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1348 * include/profile/set.h (std::__profile::set<>): Likewise.
1349 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1350 * include/profile/unordered_base.h: Add some line feed.
1351 * include/profile/unordered_map: Clean useless white chars and replace
1353 * include/profile/unordered_set: Likewise.
1354 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1355 (std::__profile::_Vector_profile_post<>): New.
1356 (std::__profile::vector<>): Inherit from latter and adapt.
1358 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
1361 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1362 dragonfly target selector to all tests that run on freebsd.
1364 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1366 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1367 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1369 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1371 * testsuite/30_threads/call_once/60497.cc: Likewise.
1372 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1373 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1374 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1375 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1376 * testsuite/30_threads/promise/60966.cc: Likewise.
1377 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1378 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1379 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1380 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1381 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1382 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1383 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1384 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1385 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1386 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1387 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1388 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1389 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1390 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1391 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1392 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1393 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1395 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
1398 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1400 * testsuite/23_containers/unordered_set/61143.cc: New.
1401 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1403 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
1406 * include/std/type_traits: Move include outside namespace std.
1407 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1408 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1409 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1412 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1415 2014-05-21 John Marino <gnugcc@marino.st>
1417 * acinclude.m4 (*-*-dragonfly*): New target.
1418 * configure: Regenerate.
1419 * configure.host (*-*-dragonfly*): New target.
1420 * config/locale/dragonfly/c_locale.cc: New.
1421 * config/locale/dragonfly/ctype_members.cc: New.
1422 * config/os/bsd/dragonfly/ctype_base.h: New.
1423 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1424 * config/os/bsd/dragonfly/ctype_inline.h: New.
1425 * config/os/bsd/dragonfly/os_defines.h: New.
1427 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
1429 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1430 libstdc++.exp imports those flags via getenv.
1431 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1432 CXXFLAGS contains a '-O' flag.
1434 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1438 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1441 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1442 and add unwind directives.
1444 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1446 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1448 2014-05-20 Tim Shen <timshen91@gmail.com>
1451 * include/bits/regex_compiler.h
1452 (_BracketMatcher<>::_M_add_character_class): Add negative character
1454 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1456 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1459 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1461 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1463 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1465 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1466 * libsupc++/new_opnt.cc: Likewise.
1468 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1471 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1472 Pass lock into _M_do_set and hold it until the function returns.
1473 Signal condition variable after call_once completes.
1474 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1476 * testsuite/30_threads/promise/60966.cc: New.
1478 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1479 Sandra Loosemore <sandra@codesourcery.com>
1481 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1482 until after checking that the test is eligible to be run.
1484 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1486 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1487 test for 32-bit target.
1488 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1490 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1493 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1496 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1497 and add unwind directives.
1499 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1501 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1503 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1505 (chrono_literals::_Checked_integral_constant): Define.
1506 Simplify UDL operator templates and check for overflow.
1507 * testsuite/20_util/duration/literals/range.cc: New.
1509 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1510 Jonathan Wakely <jwakely@redhat.com>
1513 * include/bits/parse_numbers.h: Use integral_constant to remove
1514 duplication and simplify.
1515 * testsuite/20_util/duration/literals/61166.cc: New.
1517 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1520 * include/std/type_traits (__make_unsigned, __make_signed): Define
1521 specializations for wchar_t, char16_t and char32_t.
1522 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1523 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1524 test for make_unsigned<volatile wchar_t>.
1525 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1527 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1529 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1531 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1534 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1536 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1537 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1538 * include/std/utility (tuple_size, tuple_element): Likewise.
1539 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1540 Adjust dg-error line number.
1542 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1544 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1545 (__tuple_element_t): Define.
1546 (tuple_element): Use __tuple_element_t.
1547 (__cv_tuple_size): Define.
1548 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1549 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1550 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1551 (__tuple_compare): Remove size check, re-order parameters.
1552 (operator==, operator<): Use static_assert to check requirements.
1553 * include/std/functional (__volget): use __tuple_element_t.
1554 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1555 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1557 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1560 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1561 prevent ADL. Cast comparison results to bool.
1562 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1563 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1566 * include/debug/array (get): Qualify call to other get overload.
1567 * include/profile/array (get): Likewise.
1568 * include/std/array (get): Likewise.
1569 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1570 * include/std/mutex (unique_lock, call_once): Use __addressof.
1571 (__unlock_impl): Remove unused template.
1572 (__try_to_lock): Declare inline.
1573 (__try_lock_impl::__do_try_lock): Qualify function calls.
1574 (lock): Avoid narrowing conversion.
1575 * testsuite/20_util/bind/60497.cc: New.
1576 * testsuite/23_containers/array/element_access/60497.cc: New.
1577 * testsuite/30_threads/call_once/60497.cc: New.
1578 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1580 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1582 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1583 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1584 * acinclude.m4 (libtool_VERSION): Bump.
1585 * configure: Regenerate.
1586 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1587 * testsuite/28_regex/regex_error/base.cc: New.
1589 2014-05-08 Joshua Gay <jgay@gnu.org>
1592 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1593 source" with "free software".
1594 * doc/html/faq.html: Likewise.
1596 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1599 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1601 (operator=(const ios_base&)): Likewise.
1602 * include/std/streambuf: Remove trailing whitespace.
1603 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1604 _M_out_end. Define as defaulted for C++11.
1605 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1606 (swap(basic_streambuf&)): Define for C++11.
1607 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1610 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1612 * include/std/iostream: Fix URL in comment.
1613 * src/c++98/ios_init.cc: Fix path in comment.
1615 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1617 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1618 * configure: Regenerate.
1620 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1623 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1624 comparison function.
1625 * testsuite/23_containers/set/cons/61023.cc: New.
1628 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1630 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1631 arithmetic to obtain a mutable iterator from const_iterator.
1632 * include/bits/vector.tcc (vector::insert): Likewise.
1633 * include/debug/vector (vector::erase): Likewise.
1634 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1635 Adjust dg-error line number.
1636 * testsuite/23_containers/vector/requirements/dr438/
1637 constructor_1_neg.cc: Likewise.
1638 * testsuite/23_containers/vector/requirements/dr438/
1639 constructor_2_neg.cc: Likewise.
1640 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1643 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1645 * include/Makefile.in: Regenerate.
1647 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1649 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1650 parameter to pass the 2 instances to check allocator equality.
1651 * include/debug/safe_container.h: New, define _Safe_container<>.
1652 * include/Makefile.am: Add previous.
1653 * include/debug/deque (std::__debug::deque<>): Inherit
1654 _Safe_container<>. Use default implementation for all special
1656 * include/debug/forward_list (std::__debug::forward_list<>):
1658 * include/debug/list (std::__debug::list<>): Likewise.
1659 * include/debug/map.h (std::__debug::map<>): Likewise.
1660 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1661 * include/debug/set.h (std::__debug::set<>): Likewise.
1662 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1663 * include/debug/string (std::__debug::basic_string<>): Likewise.
1664 * include/debug/unordered_map
1665 (std::__debug::unordered_map<>): Likewise.
1666 (std::__debug::unordered_multimap<>): Likewise.
1667 * include/debug/unordered_set
1668 (std::__debug::unordered_set<>): Likewise.
1669 (std::__debug::unordered_multiset<>): Likewise.
1670 * include/debug/vector (std::__debug::vector<>): Likewise.
1671 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1673 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1674 (~_Safe_sequence_base()): Add noexcept.
1675 * include/debug/safe_sequence.h
1676 (std::__debug::_Safe_node_sequence<>): New.
1677 * include/debug/safe_unordered_base.h
1678 (_Safe_unordered_container_base()): Add noexcept.
1679 (~_Safe_unordered_container_base()): Likewise.
1680 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1681 * include/debug/safe_unordered_container.h:
1682 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1683 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1684 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1686 * testsuite/util/debug/checks.h (check_construct1): Just implement
1687 an invalid constructor invocation and no other operations
1688 potentially not supported by some types of container.
1689 (check_construct2): Likewise.
1690 (check_construct3): Likewise.
1691 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1692 check on iterators to make sure they are correctly moved in debug
1694 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1696 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1697 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1698 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1699 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1701 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1702 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1704 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1705 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1706 * testsuite/23_containers/unordered_map/allocator/move.cc:
1708 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1710 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1712 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1714 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1716 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1718 * testsuite/23_containers/unordered_set/allocator/move.cc:
1720 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1722 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1724 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1726 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1728 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1730 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1732 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1733 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1734 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1735 * testsuite/23_containers/map/debug/move_neg.cc: New.
1736 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1737 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1738 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1739 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1740 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1741 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1742 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1743 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1744 * testsuite/23_containers/set/debug/move_neg.cc: New.
1745 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1747 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1749 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1750 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1752 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1754 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1756 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1758 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1760 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1762 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1764 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1766 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1767 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1769 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1771 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1772 (CXXABI_1.3.9): Remove __float128 symbols.
1774 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1777 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1778 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1779 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1780 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1782 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1785 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1786 Check the correct type in the static assertion.
1787 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1789 2014-04-27 Tim Shen <timshen91@gmail.com>
1791 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1792 Add _S_opcode_repeat support to distingush a loop from
1793 _S_opcode_alternative.
1794 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1795 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1796 _StateSeq<>::_M_clone): Likewise.
1797 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1799 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1800 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1801 Uglify local variable __i.
1802 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1803 Use size_t instead of int to compare with vector::size().
1805 2014-04-27 Tim Shen <timshen91@gmail.com>
1807 * include/bits/regex_executor.h: Add _M_rep_count to track how
1808 many times this repeat node are visited.
1809 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1810 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1813 2014-04-27 Tim Shen <timshen91@gmail.com>
1815 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1816 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1817 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1818 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1819 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1820 Adjust debug NFA dump.
1822 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1825 * include/experimental/optional (operator!=): Implement in terms of
1827 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1828 * testsuite/experimental/optional/relops/2.cc: Likewise.
1829 * testsuite/experimental/optional/relops/3.cc: Likewise.
1830 * testsuite/experimental/optional/relops/4.cc: Likewise.
1831 * testsuite/experimental/optional/relops/5.cc: Likewise.
1832 * testsuite/experimental/optional/relops/6.cc: Likewise.
1834 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1837 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1838 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1841 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1843 * testsuite/util/testsuite_abi.cc (check_version): Update for
1846 2014-04-24 Tim Shen <timshen91@gmail.com>
1848 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1849 Do _M_alt before _M_next.
1850 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1852 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1855 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1856 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1857 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1859 2014-04-24 Andreas Schwab <schwab@suse.de>
1861 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1862 new CXXABI_1.3.9 symbols.
1864 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1866 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1867 (CXXABI_1.3.9): New version.
1869 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1872 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1873 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1874 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1876 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1878 * configure.host: Remove solaris2.9 handling.
1879 Change os_include_dir to os/solaris/solaris2.10.
1880 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1881 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1882 * configure: Regenerate.
1883 * config/abi/post/solaris2.9: Remove.
1884 * config/os/solaris/solaris2.9: Rename to ...
1885 * config/os/solaris/solaris2.10: ... this.
1886 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1889 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1890 Remove Solaris 9 reference.
1891 * doc/html/manual/configure.html: Regenerate.
1893 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1894 Remove *-*-solaris2.9 xfail.
1895 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1898 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1901 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1903 * include/std/functional (__is_location_invariant): Use __or_ helper.
1905 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1908 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1911 * include/std/atomic (atomic<_Tp>): Add static assertion.
1912 * testsuite/29_atomics/atomic/60695.cc: New.
1915 * include/std/functional (function::_Callable): Exclude own type
1916 from the callable checks.
1917 * testsuite/20_util/function/60594.cc: New.
1919 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1920 const to constexpr member functions.
1922 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1923 delegating constructor.
1924 * include/bits/shared_ptr_base.h
1925 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1927 * include/std/atomic: Uglify parameter names.
1930 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1931 1.cc: Fix invalid explicit instantiations with unqualified names.
1932 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1934 * testsuite/20_util/tuple/53648.cc: Likweise.
1935 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1937 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1939 * testsuite/23_containers/unordered_map/requirements/
1940 debug_container.cc: Likewise.
1941 * testsuite/23_containers/unordered_map/requirements/
1942 explicit_instantiation/3.cc: Likewise.
1943 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1945 * testsuite/23_containers/unordered_multimap/requirements/
1946 explicit_instantiation/3.cc: Likewise.
1947 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1949 * testsuite/23_containers/unordered_multiset/requirements/
1950 explicit_instantiation/3.cc: Likewise.
1951 * testsuite/23_containers/unordered_set/requirements/
1952 debug_container.cc: Likewise.
1953 * testsuite/23_containers/unordered_set/requirements/
1954 explicit_instantiation/3.cc: Likewise.
1956 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1957 not use uninitialized members in mem-initializers.
1958 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1959 * testsuite/util/testsuite_common_types.h: Update comment.
1961 * include/experimental/string_view: Fix inconsistent exception specs.
1963 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1964 Remove name of unused parameter.
1966 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1968 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1969 _Vector_base::_M_allocate): NullablePointer requirements do not
1970 include initialization from literal zero, use value-initialization.
1971 * include/bits/vector.tcc (vector::_M_insert_aux,
1972 vector::_M_explace_back_aux): Likewise for assignment.
1974 * include/bits/allocator.h (operator==, operator!=): Add exception
1978 * include/std/tuple (get): Qualify calls to prevent ADL.
1979 * testsuite/20_util/tuple/60497.cc: New.
1981 * include/std/tuple (tuple_element_t): Define.
1982 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1984 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1986 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1989 * include/bits/stl_iterator.h (move_iterator::reference,
1990 move_iterator::operator*): Implement LWG 2106.
1991 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1993 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1995 * include/std/complex (__complex_exp, pow): Specify the template
1996 parameter in calls to std::polar, for expression templates.
1998 2014-04-10 Andreas Schwab <schwab@suse.de>
2000 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
2002 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
2003 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
2005 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
2007 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
2009 * testsuite/20_util/exchange/1.cc: Add missing return statements.
2010 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
2011 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
2014 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
2015 Jack Howarth <howarth@bromo.med.uc.edu>
2018 * testsuite/30_threads/condition_variable/54185.cc: Skip for
2021 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
2023 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
2025 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
2027 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
2028 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
2029 * doc/xml/manual/concurrency_extensions.xml
2030 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
2031 * doc/html/*: Regenerate.
2033 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
2034 Jonathan Wakely <jwakely@redhat.com>
2037 * include/std/iomanip (_Quoted_string operator>>): Do not clear
2038 string if input is not quoted.
2039 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
2041 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
2043 * libsupc++/eh_ptr.cc: Improve static_assert messages.
2045 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2047 * testsuite/18_support/exception_ptr/60612-terminate.cc
2048 (terminate, f): Wrap in _GLIBCXX_USE_C99.
2049 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
2051 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
2053 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
2055 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
2056 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
2058 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
2060 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
2062 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
2063 Fix bad s/part/chapter/ substitutions.
2064 * doc/xml/manual/io.xml (std.io): Likewise.
2065 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
2066 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
2068 * doc/html/*: Regenerate.
2070 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
2073 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
2074 compatible with __cxa_exception.
2075 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
2076 Fix typos in comments.
2077 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
2078 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
2080 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
2083 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
2084 Use sizeof pointer type not the element type.
2085 * testsuite/29_atomics/atomic/60658.cc: New.
2087 2014-03-24 Jakub Jelinek <jakub@redhat.com>
2089 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2090 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2091 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2092 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2093 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2094 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2095 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2096 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2097 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2098 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2101 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2103 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
2105 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
2107 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
2108 to delegated constructor.
2109 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
2110 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
2113 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
2115 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2118 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2120 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
2123 * include/debug/functions.h (_Is_contiguous_sequence): Define.
2124 (__foreign_iterator): Accept additional iterator. Do not dispatch on
2126 (__foreign_iterator_aux2): Likewise. Add overload for iterators
2127 from different types of debug container. Use _Is_contiguous_sequence
2128 instead of is_lvalue_reference.
2129 (__foreign_iterator_aux3): Accept additional iterator. Avoid
2130 dereferencing past-the-end iterator.
2131 (__foreign_iterator_aux4): Use const value_type* instead of
2132 potentially user-defined const_pointer type.
2133 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
2134 and pass end iterator to __gnu_debug::__foreign_iterator.
2135 (__glibcxx_check_insert_range_after): Likewise.
2136 (__glibcxx_check_max_load_factor): Fix comment.
2137 * include/debug/vector (_Is_contiguous_sequence): Define partial
2139 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
2140 -std=gnu++11 option and unused header.
2141 * testsuite/23_containers/vector/debug/60587.cc: New.
2142 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
2144 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2146 * crossconfig.m4: Support spu-*-elf* targets.
2147 * configure: Regenerate.
2149 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
2152 * include/std/future (__future_base::_Task_state<>): Change
2153 constructors to template functions using perfect forwarding.
2154 (__create_task_state): Use decayed type as stored task.
2155 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
2156 * testsuite/30_threads/packaged_task/60564.cc: New.
2158 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
2160 * scripts/create_testsuite_files: Add testsuite/experimental in
2161 the list of folders to search for tests.
2163 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
2165 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2167 2014-03-15 Tim Shen <timshen91@gmail.com>
2169 * include/bits/regex.h: Add/modify comments.
2170 * include/bits/regex_compiler.h: Likewise.
2171 * include/bits/regex_executor.h: Likewise.
2172 * include/bits/regex_executor.tcc: Likewise.
2173 * include/bits/regex_scanner.h: Likewise.
2175 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
2178 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
2179 _ZNSt12system_errorC* symbols which are not exported on any target.
2181 2014-03-12 Roland McGrath <mcgrathr@google.com>
2182 Mark Seaborn <mseaborn@google.com>
2185 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
2186 the address of a null pointer, not with a null pointer to pointer.
2187 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
2188 * testsuite/18_support/bad_exception/59392.cc: New file.
2190 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
2193 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
2195 * include/debug/map (map::operator=(map&&)): Likewise.
2196 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
2197 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
2198 * include/debug/set (set::operator=(set&&)): Likewise.
2199 * include/debug/unordered_map
2200 (unordered_map::operator=(unordered_map&&)): Likewise.
2201 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
2202 * include/debug/unordered_set
2203 (unordered_set::operator=(unordered_set&&)): Likewise.
2204 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
2205 * include/debug/vector (vector::operator=(vector&&)): Likewise.
2206 * testsuite/23_containers/forward_list/debug/60499.cc: New
2207 * testsuite/23_containers/map/debug/60499.cc: New
2208 * testsuite/23_containers/multimap/debug/60499.cc: New
2209 * testsuite/23_containers/multiset/debug/60499.cc: New
2210 * testsuite/23_containers/set/debug/60499.cc: New
2211 * testsuite/23_containers/unordered_map/debug/60499.cc: New
2212 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
2213 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
2214 * testsuite/23_containers/unordered_set/debug/60499.cc: New
2215 * testsuite/23_containers/vector/debug/60499.cc: New
2217 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
2219 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2220 for filesystem and fundamentals TS work items.
2222 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
2225 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2226 Adjust dg-error directives.
2228 2014-02-26 Tim Shen <timshen91@gmail.com>
2230 * include/bits/regex.tcc (match_results<>::format,
2231 regex_replace<>): Update __out after calling std::copy.
2232 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2234 * testsuite/28_regex/match_results/format.cc: Likewise.
2236 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
2239 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2240 allocator_type&)): Remove redundant call to _M_initialize_map.
2241 (deque::deque(const allocator_type&)): Initialize _Base with a
2242 constructor that calls _M_initialize_map.
2246 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
2248 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2251 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
2253 Rename testsuite directory shared_mutex to shared_timed_mutex
2255 * testsuite/30_threads/shared_mutex: Moved to...
2256 * testsuite/30_threads/shared_timed_mutex: ...here
2258 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
2260 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2261 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2262 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2263 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2264 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2265 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2266 * testsuite/30_threads/shared_lock/requirements/
2267 explicit_instantiation.cc: Ditto.
2268 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2269 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2270 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2271 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2272 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2273 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2274 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2275 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2276 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2277 * testsuite/30_threads/shared_mutex/requirements/
2278 standard_layout.cc: Ditto.
2279 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2280 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2281 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2282 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2283 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2285 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2287 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2288 execution on i?86-*-solaris2.9, remove comment.
2289 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2291 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
2293 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2294 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2295 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2297 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
2299 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2300 not use varargs when argument could be non-POD.
2301 (__alloctr_rebind_helper): Eliminate static const bool member by
2302 using true_type and false_type.
2303 (allocator_traits::__allocate_helper): Likewise.
2304 (allocator_traits::__construct_helper): Likewise.
2305 (allocator_traits::__destroy_helper): Likewise.
2306 (allocator_traits::__maxsize_helper): Likewise.
2307 (allocator_traits::__select_helper): Likewise.
2308 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2309 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2310 Remove redundant condition.
2311 * include/bits/stl_vector.h (vector::operator=(const vector&)):
2313 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2314 indirection through __alloc_traits.
2315 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2316 Eliminate static const bool members by using true_type and false_type.
2317 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2318 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2319 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2321 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2324 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2325 (vector::_M_data_ptr): New overloaded functions to ensure empty
2326 vectors do not dereference the pointer.
2327 * testsuite/23_containers/vector/59829.cc: New.
2328 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2329 Adjust dg-error line number.
2330 * testsuite/23_containers/vector/requirements/dr438/
2331 constructor_1_neg.cc: Likewise.
2332 * testsuite/23_containers/vector/requirements/dr438/
2333 constructor_2_neg.cc: Likewise.
2334 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2338 * include/ext/array_allocator.h: Add deprecated attribute.
2341 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2342 installation and use of python printers.
2343 * doc/xml/manual/status_cxx2011.xml: Update.
2344 * doc/html/*: Regenerate.
2346 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
2347 Kyle Lippincott <spectral@google.com>
2350 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2351 constructor and grant friendship to weak_ptr.
2352 (weak_ptr::lock()): Use new constructor.
2353 * include/bits/shared_ptr_base.h
2354 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2355 and define specializations.
2356 (__shared_count): Add new non-throwing constructor.
2357 (__shared_ptr): Add new non-throwing constructor and grant friendship
2359 (__weak_ptr::lock()): Use new constructor.
2360 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2361 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2363 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
2366 * include/bits/shared_ptr_base.h
2367 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2370 2014-01-27 Jason Merrill <jason@redhat.com>
2375 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2376 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2377 (__cxa_allocate_exception): Don't set it here.
2379 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
2381 * include/bits/stl_map.h: Remove anachronistic comment.
2382 * include/bits/stl_multimap.h: Add whitespace.
2383 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2384 -std=gnu++11 instead of -std=c++11.
2385 * testsuite/23_containers/map/operators/2.cc: Likewise.
2386 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2387 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2388 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2390 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2391 * configure: Regenerate.
2393 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2396 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2397 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2399 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2400 Peter A. Bigot <pab@pabigot.com>
2403 * include/experimental/string_view
2404 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2405 Correct copy start location.
2407 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2408 Peter A. Bigot <pab@pabigot.com>
2411 * include/experimental/string_view (operator[](size_type) const):
2412 Fix one-off index error in debug check.
2413 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2414 test basic_string_view at size().
2415 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2417 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2418 Peter A. Bigot <pab@pabigot.com>
2421 * include/experimental/string_view
2422 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2423 * testsuite/experimental/string_view/operations/substr/char/1.cc:
2424 Comment out catch of out_of_range; No terminating null
2425 in basic_string_view. Check begin == end.
2426 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2429 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
2432 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2433 constructor to prevent it being implicitly defined as deleted, but
2434 do not copy anything.
2435 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2436 Define copy and move constructors similar to _Safe_sequence_base's.
2437 * testsuite/23_containers/unordered_map/59548.cc: New.
2439 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2440 Steve Ellcey <sellcey@mips.com>
2442 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2444 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2445 * (configure, config.h.in): Regenerate.
2446 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2448 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2450 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2451 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2454 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2455 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2457 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2459 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2460 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2461 functions to perform moving or copying of elements from rvalue tree.
2462 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2463 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2464 * testsuite/23_containers/map/59872.cc: New.
2465 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2467 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2469 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2472 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2473 Split into separate default constructor and constructor taking
2475 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2476 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2478 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2479 * include/debug/list (list::list(const _Allocator&)): Likewise.
2480 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2482 * include/debug/multimap.h
2483 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2484 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2486 * include/debug/multiset.h
2487 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2488 * include/debug/vector (vector::vector(const allocator_type&)):
2490 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2491 * include/profile/list (list::list(const _Allocator&)): Likewise.
2492 * include/profile/map.h
2493 (map::map(const _Compare&, const _Allocator&)): Likewise.
2494 * include/profile/multimap.h
2495 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2496 * include/profile/set.h
2497 (set::set(const _Compare&, const _Allocator&)): Likewise.
2498 * include/profile/multiset.h
2499 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2500 * include/profile/vector (vector::vector(const _Allocator&)):
2502 * testsuite/23_containers/deque/58764.cc: New.
2503 * testsuite/23_containers/list/58764.cc: New.
2504 * testsuite/23_containers/map/58764.cc: New.
2505 * testsuite/23_containers/multimap/58764.cc: New.
2506 * testsuite/23_containers/set/58764.cc: New.
2507 * testsuite/23_containers/multiset/58764.cc: New.
2508 * testsuite/23_containers/vector/58764.cc: New.
2509 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2510 Adjust dg-error line number.
2511 * testsuite/23_containers/deque/requirements/dr438/
2512 constructor_1_neg.cc: Likewise.
2513 * testsuite/23_containers/deque/requirements/dr438/
2514 constructor_2_neg.cc: Likewise.
2515 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2517 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2519 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2521 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2523 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2525 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2527 * testsuite/23_containers/vector/requirements/dr438/
2528 constructor_1_neg.cc: Likewise.
2529 * testsuite/23_containers/vector/requirements/dr438/
2530 constructor_2_neg.cc: Likewise.
2531 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2534 PR libstdc++/58764 (again)
2535 * include/bits/stl_list.h (list): Make default constructor's exception
2536 specification conditional.
2537 * include/bits/stl_vector.h (vector): Likewise.
2538 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2539 to default constructor.
2540 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2541 Adjust dg-error line number.
2542 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2544 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2546 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2548 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2550 * testsuite/23_containers/vector/requirements/dr438/
2551 constructor_1_neg.cc: Likewise.
2552 * testsuite/23_containers/vector/requirements/dr438/
2553 constructor_2_neg.cc: Likewise.
2554 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2557 2014-01-21 Tim Shen <timshen91@gmail.com>
2559 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2560 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2561 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2563 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2566 * include/bits/hashtable.h (__cache_default): Do not depend on
2567 whether the hash function is DefaultConstructible or CopyAssignable.
2568 (_Hashtable): Adjust static assertions.
2569 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2570 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2571 dg-error line number.
2572 * testsuite/23_containers/unordered_set/
2573 not_default_constructible_hash_neg.cc: Remove.
2575 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2577 * scripts/create_testsuite_files: Add testsuite/experimental in
2578 the list of folders to search for tests.
2579 * include/experimental/string_view
2580 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2581 incompatible with constexpr qualifier.
2582 (basic_string_view<>::front()): Likewise.
2583 (basic_string_view<>::back()): Likewise.
2584 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2585 Merge dg-options directives into one.
2586 * testsuite/experimental/string_view/element_access/char/2.cc:
2587 Likewise. Remove invalid experimental namespace scope on
2590 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2593 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2594 friendship to _Local_iterator_base<..., false>.
2595 (_Local_iterator_base): Give protected access to all existing members.
2596 (_Local_iterator_base::_M_curr()): New public accessor.
2597 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2598 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2599 the lifetime of the _Hash_code_base explicitly.
2600 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2601 (_Local_iterator_base<..., false>): Define copy constructor and copy
2602 assignment operator that use new functions to manage _Hash_code_base.
2603 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2604 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2605 Use public API for _Local_iterator_base.
2606 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2607 * include/debug/unordered_map (__debug::unordered_map::erase(),
2608 __debug::unordered_multimap::erase()): Likewise.
2609 * include/debug/unordered_set (__debug::unordered_set::erase(),
2610 __debug::unordered_multiset::erase()): Likewise.
2611 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2613 2014-01-19 Tim Shen <timshen91@gmail.com>
2615 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2616 Fix parse error of multiple consecutive quantifiers like "a**".
2617 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2619 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2621 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2623 * include/profile/set.h (set): Implement C++11 allocator-aware
2624 container requirements.
2625 * include/profile/map.h (map): Likewise.
2626 * include/profile/multiset.h (multiset): Likewise.
2627 * include/profile/multimap.h (multimap): Likewise.
2628 * include/profile/set.h
2629 (set::operator=(const set&)): Define as default in C++11 mode.
2630 (set::operator=(set&&)): Likewise.
2631 * include/profile/map.h
2632 (map::operator=(const map&)): Likewise.
2633 (map::operator=(map&&)): Likewise.
2634 * include/profile/multiset.h
2635 (multiset::operator=(const multiset&)): Likewise.
2636 (multiset::operator=(multiset&&)): Likewise.
2637 * include/profile/multimap.h
2638 (multimap::operator=(const multimap&)): Likewise.
2639 (multimap::operator=(multimap&&)): Likewise.
2640 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2641 Rely on the same operator from normal mode.
2642 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2644 * include/profile/multiset.h
2645 (multiset::operator=(std::initializer_list<>)): Likewise.
2646 * include/profile/multimap.h
2647 (multimap::operator=(std::initializer_list<>)): Likewise.
2648 * include/profile/set.h (set::swap(set&)): Add noexcept
2650 * include/profile/map.h (map::swap(map&)): Likewise.
2651 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2652 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2654 2014-01-17 Tim Shen <timshen91@gmail.com>
2656 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2658 * include/bits/regex_automaton.h: Do not use std::set.
2659 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2660 _BracketMatcher<>::_M_add_collating_element(),
2661 _BracketMatcher<>::_M_add_equivalence_class(),
2662 _BracketMatcher<>::_M_make_range()): Likewise.
2663 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2665 * include/bits/regex_executor.h: Do not use std::queue.
2666 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2667 _Executor<>::_M_dfs()): Likewise.
2668 * include/std/regex: Remove <map>, <set> and <queue>.
2670 2014-01-17 Tim Shen <timshen91@gmail.com>
2672 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2673 basic_regex<>::assign()): Change __compile_nfa to accept
2675 * include/bits/regex_compiler.h: Change _Compiler's template
2676 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2677 * include/bits/regex_compiler.tcc: Likewise.
2679 2014-01-17 Tim Shen <timshen91@gmail.com>
2681 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2683 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2684 _ScannerBase from _Scanner; Change _Scanner's template argument from
2685 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2687 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2688 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2689 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2691 * include/std/regex: Add <cstring> for using strchr.
2693 2014-01-17 Tim Shen <timshen91@gmail.com>
2695 * bits/regex_automaton.tcc: Indentation fix.
2696 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2697 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2698 _BracketMatcher<>): Add bool option template parameters and
2699 specializations to make matching more efficient and space saving.
2700 * bits/regex_compiler.tcc: Likewise.
2702 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2705 * include/bits/hashtable_policy.h: Fix some long lines.
2706 * include/bits/hashtable.h (__hash_code_base_access): Define and
2707 use it to check its _M_bucket_index noexcept qualification. Use
2709 (__access_protected_ctor): ...this.
2710 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2712 * testsuite/23_containers/unordered_set/
2713 not_default_constructible_hash_neg.cc: Likewise.
2715 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2717 * include/debug/set.h (set): Implement C++11 allocator-aware
2718 container requirements.
2719 * include/debug/map.h (map): Likewise.
2720 * include/debug/multiset.h (multiset): Likewise.
2721 * include/debug/multimap.h (multimap): Likewise.
2722 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2723 fix implementation regarding management of safe iterators.
2724 * include/debug/map.h (map::operator=(map&&)): Likewise.
2725 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2726 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2728 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2729 Rely on the same operator from normal mode.
2730 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2732 * include/debug/multiset.h
2733 (multiset::operator=(std::initializer_list<>)): Likewise.
2734 * include/debug/multimap.h
2735 (multimap::operator=(std::initializer_list<>)): Likewise.
2736 * include/debug/set.h (set::swap(set&)): Add noexcept
2737 specification, add allocator equality check.
2738 * include/debug/map.h (map::swap(map&)): Likewise.
2739 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2740 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2742 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2745 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2746 and stylistic improvements.
2747 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2748 and update for C++11.
2749 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2752 * doc/xml/manual/backwards_compatibility.xml
2753 (backwards.third.nocreate_noreplace): Correct and expand.
2756 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2758 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2761 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2762 support for non-Movable types.
2765 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2767 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2769 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2770 *this allocator instance when building temporary vector instance
2771 so that *this allocator does not get moved.
2772 * include/debug/safe_base.h
2773 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2774 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2775 move constructor from _Safe_sequence_base.
2776 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2777 safe iterators if the instance is moved.
2778 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2779 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2780 check on a vector iterator.
2781 * testsuite/23_containers/vector/allocator/move_assign.cc
2783 (test03): New, test with a non-propagating allocator.
2784 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2786 2014-01-07 Tim Shen <timshen91@gmail.com>
2788 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2789 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2790 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2791 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2792 _BracketMatcher<>::_M_add_char(),
2793 _BracketMatcher<>::_M_add_collating_element(),
2794 _BracketMatcher<>::_M_add_equivalence_class(),
2795 _BracketMatcher<>::_M_add_character_class(),
2796 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2797 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2798 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2799 to template parameter; Add cache for _BracketMatcher. Adjust
2800 declarations from here...
2801 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2802 imbuing a regex will trigger a recompilation to rebuild the cache.
2803 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2804 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2805 different template bool parameters.
2806 * include/bits/regex_executor.h: Remove unnecessary declarations.
2807 * include/std/regex: Adjust including orders.
2808 * testsuite/28_regex/traits/char/user_defined.cc: New.
2809 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2811 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2813 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2814 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2815 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2816 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2817 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2819 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2821 Update copyright years
2823 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2825 * testsuite/18_support/new_handler.cc,
2826 testsuite/18_support/terminate_handler.cc,
2827 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2828 the copyright notice.
2830 Copyright (C) 2014 Free Software Foundation, Inc.
2832 Copying and distribution of this file, with or without modification,
2833 are permitted in any medium without royalty provided the copyright
2834 notice and this notice are preserved.