1 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
4 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
5 dragonfly target selector to all tests that run on freebsd.
7 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
9 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
10 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
12 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
14 * testsuite/30_threads/call_once/60497.cc: Likewise.
15 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
16 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
17 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
18 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
19 * testsuite/30_threads/promise/60966.cc: Likewise.
20 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
21 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
22 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
23 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
24 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
25 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
26 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
27 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
28 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
29 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
30 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
31 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
32 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
33 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
34 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
35 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
36 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
38 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
41 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
43 * testsuite/23_containers/unordered_set/61143.cc: New.
44 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
46 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
49 * include/std/type_traits: Move include outside namespace std.
50 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
51 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
52 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
55 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
58 2014-05-21 John Marino <gnugcc@marino.st>
60 * acinclude.m4 (*-*-dragonfly*): New target.
61 * configure: Regenerate.
62 * configure.host (*-*-dragonfly*): New target.
63 * config/locale/dragonfly/c_locale.cc: New.
64 * config/locale/dragonfly/ctype_members.cc: New.
65 * config/os/bsd/dragonfly/ctype_base.h: New.
66 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
67 * config/os/bsd/dragonfly/ctype_inline.h: New.
68 * config/os/bsd/dragonfly/os_defines.h: New.
70 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
72 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
73 libstdc++.exp imports those flags via getenv.
74 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
75 CXXFLAGS contains a '-O' flag.
77 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
81 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
84 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
85 and add unwind directives.
87 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
89 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
91 2014-05-20 Tim Shen <timshen91@gmail.com>
94 * include/bits/regex_compiler.h
95 (_BracketMatcher<>::_M_add_character_class): Add negative character
97 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
99 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
102 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
104 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
106 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
108 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
109 * libsupc++/new_opnt.cc: Likewise.
111 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
114 * include/std/future (__future_base::_State_baseV2::_M_set_result):
115 Pass lock into _M_do_set and hold it until the function returns.
116 Signal condition variable after call_once completes.
117 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
119 * testsuite/30_threads/promise/60966.cc: New.
121 2014-05-16 Iain Sandoe <iain@codesourcery.com>
122 Sandra Loosemore <sandra@codesourcery.com>
124 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
125 until after checking that the test is eligible to be run.
127 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
129 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
130 test for 32-bit target.
131 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
133 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
136 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
139 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
140 and add unwind directives.
142 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
144 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
146 * include/std/chrono (chrono_literals::__select_type::_Select_type):
148 (chrono_literals::_Checked_integral_constant): Define.
149 Simplify UDL operator templates and check for overflow.
150 * testsuite/20_util/duration/literals/range.cc: New.
152 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
153 Jonathan Wakely <jwakely@redhat.com>
156 * include/bits/parse_numbers.h: Use integral_constant to remove
157 duplication and simplify.
158 * testsuite/20_util/duration/literals/61166.cc: New.
160 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
163 * include/std/type_traits (__make_unsigned, __make_signed): Define
164 specializations for wchar_t, char16_t and char32_t.
165 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
166 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
167 test for make_unsigned<volatile wchar_t>.
168 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
170 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
172 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
174 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
177 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
179 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
180 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
181 * include/std/utility (tuple_size, tuple_element): Likewise.
182 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
183 Adjust dg-error line number.
185 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
187 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
188 (__tuple_element_t): Define.
189 (tuple_element): Use __tuple_element_t.
190 (__cv_tuple_size): Define.
191 (tuple_size<cv _Tp>): Use __cv_tuple_size.
192 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
193 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
194 (__tuple_compare): Remove size check, re-order parameters.
195 (operator==, operator<): Use static_assert to check requirements.
196 * include/std/functional (__volget): use __tuple_element_t.
197 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
198 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
200 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
203 * include/std/tuple (get, __tuple_compare): Qualify more calls to
204 prevent ADL. Cast comparison results to bool.
205 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
206 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
209 * include/debug/array (get): Qualify call to other get overload.
210 * include/profile/array (get): Likewise.
211 * include/std/array (get): Likewise.
212 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
213 * include/std/mutex (unique_lock, call_once): Use __addressof.
214 (__unlock_impl): Remove unused template.
215 (__try_to_lock): Declare inline.
216 (__try_lock_impl::__do_try_lock): Qualify function calls.
217 (lock): Avoid narrowing conversion.
218 * testsuite/20_util/bind/60497.cc: New.
219 * testsuite/23_containers/array/element_access/60497.cc: New.
220 * testsuite/30_threads/call_once/60497.cc: New.
221 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
223 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
225 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
226 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
227 * acinclude.m4 (libtool_VERSION): Bump.
228 * configure: Regenerate.
229 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
230 * testsuite/28_regex/regex_error/base.cc: New.
232 2014-05-08 Joshua Gay <jgay@gnu.org>
235 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
236 source" with "free software".
237 * doc/html/faq.html: Likewise.
239 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
242 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
244 (operator=(const ios_base&)): Likewise.
245 * include/std/streambuf: Remove trailing whitespace.
246 (basic_streambuf(const basic_streambuf&)): Fix initializer for
247 _M_out_end. Define as defaulted for C++11.
248 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
249 (swap(basic_streambuf&)): Define for C++11.
250 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
253 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
255 * include/std/iostream: Fix URL in comment.
256 * src/c++98/ios_init.cc: Fix path in comment.
258 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
260 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
261 * configure: Regenerate.
263 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
266 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
268 * testsuite/23_containers/set/cons/61023.cc: New.
271 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
273 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
274 arithmetic to obtain a mutable iterator from const_iterator.
275 * include/bits/vector.tcc (vector::insert): Likewise.
276 * include/debug/vector (vector::erase): Likewise.
277 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
278 Adjust dg-error line number.
279 * testsuite/23_containers/vector/requirements/dr438/
280 constructor_1_neg.cc: Likewise.
281 * testsuite/23_containers/vector/requirements/dr438/
282 constructor_2_neg.cc: Likewise.
283 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
286 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
288 * include/Makefile.in: Regenerate.
290 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
292 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
293 parameter to pass the 2 instances to check allocator equality.
294 * include/debug/safe_container.h: New, define _Safe_container<>.
295 * include/Makefile.am: Add previous.
296 * include/debug/deque (std::__debug::deque<>): Inherit
297 _Safe_container<>. Use default implementation for all special
299 * include/debug/forward_list (std::__debug::forward_list<>):
301 * include/debug/list (std::__debug::list<>): Likewise.
302 * include/debug/map.h (std::__debug::map<>): Likewise.
303 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
304 * include/debug/set.h (std::__debug::set<>): Likewise.
305 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
306 * include/debug/string (std::__debug::basic_string<>): Likewise.
307 * include/debug/unordered_map
308 (std::__debug::unordered_map<>): Likewise.
309 (std::__debug::unordered_multimap<>): Likewise.
310 * include/debug/unordered_set
311 (std::__debug::unordered_set<>): Likewise.
312 (std::__debug::unordered_multiset<>): Likewise.
313 * include/debug/vector (std::__debug::vector<>): Likewise.
314 * include/debug/safe_base.h (_Safe_sequence_base()): Add
316 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
317 (~_Safe_sequence_base()): Add noexcept.
318 * include/debug/safe_sequence.h
319 (std::__debug::_Safe_node_sequence<>): New.
320 * include/debug/safe_unordered_base.h
321 (_Safe_unordered_container_base()): Add noexcept.
322 (~_Safe_unordered_container_base()): Likewise.
323 (_M_swap(_Safe_unordered_container_base&)): Likewise.
324 * include/debug/safe_unordered_container.h:
325 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
326 (_Safe_unordered_container<>::_M_invalidate_all()): New.
327 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
329 * testsuite/util/debug/checks.h (check_construct1): Just implement
330 an invalid constructor invocation and no other operations
331 potentially not supported by some types of container.
332 (check_construct2): Likewise.
333 (check_construct3): Likewise.
334 * testsuite/23_containers/forward_list/allocator/move.cc: Add
335 check on iterators to make sure they are correctly moved in debug
337 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
339 * testsuite/23_containers/map/allocator/move.cc: Likewise.
340 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
341 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
342 * testsuite/23_containers/multimap/allocator/move_assign.cc:
344 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
345 * testsuite/23_containers/multiset/allocator/move_assign.cc:
347 * testsuite/23_containers/set/allocator/move.cc: Likewise.
348 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
349 * testsuite/23_containers/unordered_map/allocator/move.cc:
351 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
353 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
355 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
357 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
359 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
361 * testsuite/23_containers/unordered_set/allocator/move.cc:
363 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
365 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
367 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
369 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
371 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
373 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
375 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
376 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
377 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
378 * testsuite/23_containers/map/debug/move_neg.cc: New.
379 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
380 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
381 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
382 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
383 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
384 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
385 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
386 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
387 * testsuite/23_containers/set/debug/move_neg.cc: New.
388 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
390 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
392 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
393 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
395 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
397 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
399 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
401 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
403 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
405 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
407 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
409 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
410 * testsuite/23_containers/vector/debug/move_neg.cc: New.
412 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
414 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
415 (CXXABI_1.3.9): Remove __float128 symbols.
417 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
420 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
421 function to handle both C++03 and C++11 _Rb_tree_node implementations.
422 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
423 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
425 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
428 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
429 Check the correct type in the static assertion.
430 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
432 2014-04-27 Tim Shen <timshen91@gmail.com>
434 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
435 Add _S_opcode_repeat support to distingush a loop from
436 _S_opcode_alternative.
437 * include/bits/regex_automaton.tcc (_State_base::_M_print,
438 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
439 _StateSeq<>::_M_clone): Likewise.
440 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
442 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
443 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
444 Uglify local variable __i.
445 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
446 Use size_t instead of int to compare with vector::size().
448 2014-04-27 Tim Shen <timshen91@gmail.com>
450 * include/bits/regex_executor.h: Add _M_rep_count to track how
451 many times this repeat node are visited.
452 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
453 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
456 2014-04-27 Tim Shen <timshen91@gmail.com>
458 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
459 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
460 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
461 * include/bits/regex_automaton.h: Remove quantifier counting variable.
462 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
463 Adjust debug NFA dump.
465 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
468 * include/experimental/optional (operator!=): Implement in terms of
470 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
471 * testsuite/experimental/optional/relops/2.cc: Likewise.
472 * testsuite/experimental/optional/relops/3.cc: Likewise.
473 * testsuite/experimental/optional/relops/4.cc: Likewise.
474 * testsuite/experimental/optional/relops/5.cc: Likewise.
475 * testsuite/experimental/optional/relops/6.cc: Likewise.
477 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
480 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
481 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
484 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
486 * testsuite/util/testsuite_abi.cc (check_version): Update for
489 2014-04-24 Tim Shen <timshen91@gmail.com>
491 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
492 Do _M_alt before _M_next.
493 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
495 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
498 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
499 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
500 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
502 2014-04-24 Andreas Schwab <schwab@suse.de>
504 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
505 new CXXABI_1.3.9 symbols.
507 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
509 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
510 (CXXABI_1.3.9): New version.
512 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
515 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
516 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
517 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
519 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
521 * configure.host: Remove solaris2.9 handling.
522 Change os_include_dir to os/solaris/solaris2.10.
523 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
524 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
525 * configure: Regenerate.
526 * config/abi/post/solaris2.9: Remove.
527 * config/os/solaris/solaris2.9: Rename to ...
528 * config/os/solaris/solaris2.10: ... this.
529 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
532 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
533 Remove Solaris 9 reference.
534 * doc/html/manual/configure.html: Regenerate.
536 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
537 Remove *-*-solaris2.9 xfail.
538 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
541 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
544 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
546 * include/std/functional (__is_location_invariant): Use __or_ helper.
548 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
551 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
554 * include/std/atomic (atomic<_Tp>): Add static assertion.
555 * testsuite/29_atomics/atomic/60695.cc: New.
558 * include/std/functional (function::_Callable): Exclude own type
559 from the callable checks.
560 * testsuite/20_util/function/60594.cc: New.
562 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
563 const to constexpr member functions.
565 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
566 delegating constructor.
567 * include/bits/shared_ptr_base.h
568 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
570 * include/std/atomic: Uglify parameter names.
573 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
574 1.cc: Fix invalid explicit instantiations with unqualified names.
575 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
577 * testsuite/20_util/tuple/53648.cc: Likweise.
578 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
580 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
582 * testsuite/23_containers/unordered_map/requirements/
583 debug_container.cc: Likewise.
584 * testsuite/23_containers/unordered_map/requirements/
585 explicit_instantiation/3.cc: Likewise.
586 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
588 * testsuite/23_containers/unordered_multimap/requirements/
589 explicit_instantiation/3.cc: Likewise.
590 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
592 * testsuite/23_containers/unordered_multiset/requirements/
593 explicit_instantiation/3.cc: Likewise.
594 * testsuite/23_containers/unordered_set/requirements/
595 debug_container.cc: Likewise.
596 * testsuite/23_containers/unordered_set/requirements/
597 explicit_instantiation/3.cc: Likewise.
599 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
600 not use uninitialized members in mem-initializers.
601 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
602 * testsuite/util/testsuite_common_types.h: Update comment.
604 * include/experimental/string_view: Fix inconsistent exception specs.
606 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
607 Remove name of unused parameter.
609 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
611 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
612 _Vector_base::_M_allocate): NullablePointer requirements do not
613 include initialization from literal zero, use value-initialization.
614 * include/bits/vector.tcc (vector::_M_insert_aux,
615 vector::_M_explace_back_aux): Likewise for assignment.
617 * include/bits/allocator.h (operator==, operator!=): Add exception
621 * include/std/tuple (get): Qualify calls to prevent ADL.
622 * testsuite/20_util/tuple/60497.cc: New.
624 * include/std/tuple (tuple_element_t): Define.
625 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
627 * testsuite/20_util/tuple/tuple_element_t.cc: New.
629 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
632 * include/bits/stl_iterator.h (move_iterator::reference,
633 move_iterator::operator*): Implement LWG 2106.
634 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
636 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
638 * include/std/complex (__complex_exp, pow): Specify the template
639 parameter in calls to std::polar, for expression templates.
641 2014-04-10 Andreas Schwab <schwab@suse.de>
643 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
645 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
646 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
648 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
650 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
652 * testsuite/20_util/exchange/1.cc: Add missing return statements.
653 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
654 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
657 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
658 Jack Howarth <howarth@bromo.med.uc.edu>
661 * testsuite/30_threads/condition_variable/54185.cc: Skip for
664 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
666 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
668 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
670 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
671 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
672 * doc/xml/manual/concurrency_extensions.xml
673 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
674 * doc/html/*: Regenerate.
676 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
677 Jonathan Wakely <jwakely@redhat.com>
680 * include/std/iomanip (_Quoted_string operator>>): Do not clear
681 string if input is not quoted.
682 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
684 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
686 * libsupc++/eh_ptr.cc: Improve static_assert messages.
688 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
690 * testsuite/18_support/exception_ptr/60612-terminate.cc
691 (terminate, f): Wrap in _GLIBCXX_USE_C99.
692 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
694 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
696 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
698 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
699 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
701 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
703 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
705 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
706 Fix bad s/part/chapter/ substitutions.
707 * doc/xml/manual/io.xml (std.io): Likewise.
708 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
709 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
711 * doc/html/*: Regenerate.
713 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
716 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
717 compatible with __cxa_exception.
718 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
719 Fix typos in comments.
720 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
721 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
723 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
726 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
727 Use sizeof pointer type not the element type.
728 * testsuite/29_atomics/atomic/60658.cc: New.
730 2014-03-24 Jakub Jelinek <jakub@redhat.com>
732 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
733 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
734 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
735 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
736 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
737 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
738 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
739 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
740 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
741 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
744 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
746 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
748 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
750 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
751 to delegated constructor.
752 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
753 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
756 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
758 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
761 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
763 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
766 * include/debug/functions.h (_Is_contiguous_sequence): Define.
767 (__foreign_iterator): Accept additional iterator. Do not dispatch on
769 (__foreign_iterator_aux2): Likewise. Add overload for iterators
770 from different types of debug container. Use _Is_contiguous_sequence
771 instead of is_lvalue_reference.
772 (__foreign_iterator_aux3): Accept additional iterator. Avoid
773 dereferencing past-the-end iterator.
774 (__foreign_iterator_aux4): Use const value_type* instead of
775 potentially user-defined const_pointer type.
776 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
777 and pass end iterator to __gnu_debug::__foreign_iterator.
778 (__glibcxx_check_insert_range_after): Likewise.
779 (__glibcxx_check_max_load_factor): Fix comment.
780 * include/debug/vector (_Is_contiguous_sequence): Define partial
782 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
783 -std=gnu++11 option and unused header.
784 * testsuite/23_containers/vector/debug/60587.cc: New.
785 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
787 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
789 * crossconfig.m4: Support spu-*-elf* targets.
790 * configure: Regenerate.
792 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
795 * include/std/future (__future_base::_Task_state<>): Change
796 constructors to template functions using perfect forwarding.
797 (__create_task_state): Use decayed type as stored task.
798 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
799 * testsuite/30_threads/packaged_task/60564.cc: New.
801 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
803 * scripts/create_testsuite_files: Add testsuite/experimental in
804 the list of folders to search for tests.
806 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
808 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
810 2014-03-15 Tim Shen <timshen91@gmail.com>
812 * include/bits/regex.h: Add/modify comments.
813 * include/bits/regex_compiler.h: Likewise.
814 * include/bits/regex_executor.h: Likewise.
815 * include/bits/regex_executor.tcc: Likewise.
816 * include/bits/regex_scanner.h: Likewise.
818 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
821 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
822 _ZNSt12system_errorC* symbols which are not exported on any target.
824 2014-03-12 Roland McGrath <mcgrathr@google.com>
825 Mark Seaborn <mseaborn@google.com>
828 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
829 the address of a null pointer, not with a null pointer to pointer.
830 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
831 * testsuite/18_support/bad_exception/59392.cc: New file.
833 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
836 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
838 * include/debug/map (map::operator=(map&&)): Likewise.
839 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
840 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
841 * include/debug/set (set::operator=(set&&)): Likewise.
842 * include/debug/unordered_map
843 (unordered_map::operator=(unordered_map&&)): Likewise.
844 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
845 * include/debug/unordered_set
846 (unordered_set::operator=(unordered_set&&)): Likewise.
847 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
848 * include/debug/vector (vector::operator=(vector&&)): Likewise.
849 * testsuite/23_containers/forward_list/debug/60499.cc: New
850 * testsuite/23_containers/map/debug/60499.cc: New
851 * testsuite/23_containers/multimap/debug/60499.cc: New
852 * testsuite/23_containers/multiset/debug/60499.cc: New
853 * testsuite/23_containers/set/debug/60499.cc: New
854 * testsuite/23_containers/unordered_map/debug/60499.cc: New
855 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
856 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
857 * testsuite/23_containers/unordered_set/debug/60499.cc: New
858 * testsuite/23_containers/vector/debug/60499.cc: New
860 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
862 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
863 for filesystem and fundamentals TS work items.
865 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
868 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
869 Adjust dg-error directives.
871 2014-02-26 Tim Shen <timshen91@gmail.com>
873 * include/bits/regex.tcc (match_results<>::format,
874 regex_replace<>): Update __out after calling std::copy.
875 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
877 * testsuite/28_regex/match_results/format.cc: Likewise.
879 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
882 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
883 allocator_type&)): Remove redundant call to _M_initialize_map.
884 (deque::deque(const allocator_type&)): Initialize _Base with a
885 constructor that calls _M_initialize_map.
889 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
891 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
894 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
896 Rename testsuite directory shared_mutex to shared_timed_mutex
898 * testsuite/30_threads/shared_mutex: Moved to...
899 * testsuite/30_threads/shared_timed_mutex: ...here
901 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
903 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
904 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
905 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
906 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
907 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
908 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
909 * testsuite/30_threads/shared_lock/requirements/
910 explicit_instantiation.cc: Ditto.
911 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
912 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
913 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
914 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
915 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
916 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
917 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
918 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
919 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
920 * testsuite/30_threads/shared_mutex/requirements/
921 standard_layout.cc: Ditto.
922 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
923 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
924 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
925 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
926 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
928 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
930 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
931 execution on i?86-*-solaris2.9, remove comment.
932 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
934 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
936 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
937 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
938 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
940 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
942 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
943 not use varargs when argument could be non-POD.
944 (__alloctr_rebind_helper): Eliminate static const bool member by
945 using true_type and false_type.
946 (allocator_traits::__allocate_helper): Likewise.
947 (allocator_traits::__construct_helper): Likewise.
948 (allocator_traits::__destroy_helper): Likewise.
949 (allocator_traits::__maxsize_helper): Likewise.
950 (allocator_traits::__select_helper): Likewise.
951 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
952 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
953 Remove redundant condition.
954 * include/bits/stl_vector.h (vector::operator=(const vector&)):
956 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
957 indirection through __alloc_traits.
958 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
959 Eliminate static const bool members by using true_type and false_type.
960 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
961 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
962 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
964 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
967 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
968 (vector::_M_data_ptr): New overloaded functions to ensure empty
969 vectors do not dereference the pointer.
970 * testsuite/23_containers/vector/59829.cc: New.
971 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
972 Adjust dg-error line number.
973 * testsuite/23_containers/vector/requirements/dr438/
974 constructor_1_neg.cc: Likewise.
975 * testsuite/23_containers/vector/requirements/dr438/
976 constructor_2_neg.cc: Likewise.
977 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
981 * include/ext/array_allocator.h: Add deprecated attribute.
984 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
985 installation and use of python printers.
986 * doc/xml/manual/status_cxx2011.xml: Update.
987 * doc/html/*: Regenerate.
989 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
990 Kyle Lippincott <spectral@google.com>
993 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
994 constructor and grant friendship to weak_ptr.
995 (weak_ptr::lock()): Use new constructor.
996 * include/bits/shared_ptr_base.h
997 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
998 and define specializations.
999 (__shared_count): Add new non-throwing constructor.
1000 (__shared_ptr): Add new non-throwing constructor and grant friendship
1002 (__weak_ptr::lock()): Use new constructor.
1003 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1004 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1006 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1009 * include/bits/shared_ptr_base.h
1010 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1013 2014-01-27 Jason Merrill <jason@redhat.com>
1018 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1019 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1020 (__cxa_allocate_exception): Don't set it here.
1022 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1024 * include/bits/stl_map.h: Remove anachronistic comment.
1025 * include/bits/stl_multimap.h: Add whitespace.
1026 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1027 -std=gnu++11 instead of -std=c++11.
1028 * testsuite/23_containers/map/operators/2.cc: Likewise.
1029 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1030 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1031 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1033 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1034 * configure: Regenerate.
1036 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1039 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1040 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1042 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1043 Peter A. Bigot <pab@pabigot.com>
1046 * include/experimental/string_view
1047 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1048 Correct copy start location.
1050 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1051 Peter A. Bigot <pab@pabigot.com>
1054 * include/experimental/string_view (operator[](size_type) const):
1055 Fix one-off index error in debug check.
1056 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1057 test basic_string_view at size().
1058 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1060 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1061 Peter A. Bigot <pab@pabigot.com>
1064 * include/experimental/string_view
1065 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1066 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1067 Comment out catch of out_of_range; No terminating null
1068 in basic_string_view. Check begin == end.
1069 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1072 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1075 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1076 constructor to prevent it being implicitly defined as deleted, but
1077 do not copy anything.
1078 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1079 Define copy and move constructors similar to _Safe_sequence_base's.
1080 * testsuite/23_containers/unordered_map/59548.cc: New.
1082 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1083 Steve Ellcey <sellcey@mips.com>
1085 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1087 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1088 * (configure, config.h.in): Regenerate.
1089 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1091 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1093 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1094 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1097 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1098 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1100 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1102 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1103 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1104 functions to perform moving or copying of elements from rvalue tree.
1105 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1106 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1107 * testsuite/23_containers/map/59872.cc: New.
1108 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1110 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1112 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1115 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1116 Split into separate default constructor and constructor taking
1118 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1119 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1121 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1122 * include/debug/list (list::list(const _Allocator&)): Likewise.
1123 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1125 * include/debug/multimap.h
1126 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1127 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1129 * include/debug/multiset.h
1130 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1131 * include/debug/vector (vector::vector(const allocator_type&)):
1133 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1134 * include/profile/list (list::list(const _Allocator&)): Likewise.
1135 * include/profile/map.h
1136 (map::map(const _Compare&, const _Allocator&)): Likewise.
1137 * include/profile/multimap.h
1138 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1139 * include/profile/set.h
1140 (set::set(const _Compare&, const _Allocator&)): Likewise.
1141 * include/profile/multiset.h
1142 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1143 * include/profile/vector (vector::vector(const _Allocator&)):
1145 * testsuite/23_containers/deque/58764.cc: New.
1146 * testsuite/23_containers/list/58764.cc: New.
1147 * testsuite/23_containers/map/58764.cc: New.
1148 * testsuite/23_containers/multimap/58764.cc: New.
1149 * testsuite/23_containers/set/58764.cc: New.
1150 * testsuite/23_containers/multiset/58764.cc: New.
1151 * testsuite/23_containers/vector/58764.cc: New.
1152 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1153 Adjust dg-error line number.
1154 * testsuite/23_containers/deque/requirements/dr438/
1155 constructor_1_neg.cc: Likewise.
1156 * testsuite/23_containers/deque/requirements/dr438/
1157 constructor_2_neg.cc: Likewise.
1158 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1160 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1162 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1164 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1166 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1168 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1170 * testsuite/23_containers/vector/requirements/dr438/
1171 constructor_1_neg.cc: Likewise.
1172 * testsuite/23_containers/vector/requirements/dr438/
1173 constructor_2_neg.cc: Likewise.
1174 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1177 PR libstdc++/58764 (again)
1178 * include/bits/stl_list.h (list): Make default constructor's exception
1179 specification conditional.
1180 * include/bits/stl_vector.h (vector): Likewise.
1181 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1182 to default constructor.
1183 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1184 Adjust dg-error line number.
1185 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1187 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1189 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1191 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1193 * testsuite/23_containers/vector/requirements/dr438/
1194 constructor_1_neg.cc: Likewise.
1195 * testsuite/23_containers/vector/requirements/dr438/
1196 constructor_2_neg.cc: Likewise.
1197 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1200 2014-01-21 Tim Shen <timshen91@gmail.com>
1202 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1203 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1204 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1206 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1209 * include/bits/hashtable.h (__cache_default): Do not depend on
1210 whether the hash function is DefaultConstructible or CopyAssignable.
1211 (_Hashtable): Adjust static assertions.
1212 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1213 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1214 dg-error line number.
1215 * testsuite/23_containers/unordered_set/
1216 not_default_constructible_hash_neg.cc: Remove.
1218 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1220 * scripts/create_testsuite_files: Add testsuite/experimental in
1221 the list of folders to search for tests.
1222 * include/experimental/string_view
1223 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1224 incompatible with constexpr qualifier.
1225 (basic_string_view<>::front()): Likewise.
1226 (basic_string_view<>::back()): Likewise.
1227 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1228 Merge dg-options directives into one.
1229 * testsuite/experimental/string_view/element_access/char/2.cc:
1230 Likewise. Remove invalid experimental namespace scope on
1233 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1236 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1237 friendship to _Local_iterator_base<..., false>.
1238 (_Local_iterator_base): Give protected access to all existing members.
1239 (_Local_iterator_base::_M_curr()): New public accessor.
1240 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1241 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1242 the lifetime of the _Hash_code_base explicitly.
1243 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1244 (_Local_iterator_base<..., false>): Define copy constructor and copy
1245 assignment operator that use new functions to manage _Hash_code_base.
1246 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1247 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1248 Use public API for _Local_iterator_base.
1249 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1250 * include/debug/unordered_map (__debug::unordered_map::erase(),
1251 __debug::unordered_multimap::erase()): Likewise.
1252 * include/debug/unordered_set (__debug::unordered_set::erase(),
1253 __debug::unordered_multiset::erase()): Likewise.
1254 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1256 2014-01-19 Tim Shen <timshen91@gmail.com>
1258 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1259 Fix parse error of multiple consecutive quantifiers like "a**".
1260 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1262 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1264 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1266 * include/profile/set.h (set): Implement C++11 allocator-aware
1267 container requirements.
1268 * include/profile/map.h (map): Likewise.
1269 * include/profile/multiset.h (multiset): Likewise.
1270 * include/profile/multimap.h (multimap): Likewise.
1271 * include/profile/set.h
1272 (set::operator=(const set&)): Define as default in C++11 mode.
1273 (set::operator=(set&&)): Likewise.
1274 * include/profile/map.h
1275 (map::operator=(const map&)): Likewise.
1276 (map::operator=(map&&)): Likewise.
1277 * include/profile/multiset.h
1278 (multiset::operator=(const multiset&)): Likewise.
1279 (multiset::operator=(multiset&&)): Likewise.
1280 * include/profile/multimap.h
1281 (multimap::operator=(const multimap&)): Likewise.
1282 (multimap::operator=(multimap&&)): Likewise.
1283 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1284 Rely on the same operator from normal mode.
1285 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1287 * include/profile/multiset.h
1288 (multiset::operator=(std::initializer_list<>)): Likewise.
1289 * include/profile/multimap.h
1290 (multimap::operator=(std::initializer_list<>)): Likewise.
1291 * include/profile/set.h (set::swap(set&)): Add noexcept
1293 * include/profile/map.h (map::swap(map&)): Likewise.
1294 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1295 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1297 2014-01-17 Tim Shen <timshen91@gmail.com>
1299 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1301 * include/bits/regex_automaton.h: Do not use std::set.
1302 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1303 _BracketMatcher<>::_M_add_collating_element(),
1304 _BracketMatcher<>::_M_add_equivalence_class(),
1305 _BracketMatcher<>::_M_make_range()): Likewise.
1306 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1308 * include/bits/regex_executor.h: Do not use std::queue.
1309 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1310 _Executor<>::_M_dfs()): Likewise.
1311 * include/std/regex: Remove <map>, <set> and <queue>.
1313 2014-01-17 Tim Shen <timshen91@gmail.com>
1315 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1316 basic_regex<>::assign()): Change __compile_nfa to accept
1318 * include/bits/regex_compiler.h: Change _Compiler's template
1319 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1320 * include/bits/regex_compiler.tcc: Likewise.
1322 2014-01-17 Tim Shen <timshen91@gmail.com>
1324 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1326 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1327 _ScannerBase from _Scanner; Change _Scanner's template argument from
1328 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1330 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1331 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1332 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1334 * include/std/regex: Add <cstring> for using strchr.
1336 2014-01-17 Tim Shen <timshen91@gmail.com>
1338 * bits/regex_automaton.tcc: Indentation fix.
1339 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1340 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1341 _BracketMatcher<>): Add bool option template parameters and
1342 specializations to make matching more efficient and space saving.
1343 * bits/regex_compiler.tcc: Likewise.
1345 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1348 * include/bits/hashtable_policy.h: Fix some long lines.
1349 * include/bits/hashtable.h (__hash_code_base_access): Define and
1350 use it to check its _M_bucket_index noexcept qualification. Use
1352 (__access_protected_ctor): ...this.
1353 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1355 * testsuite/23_containers/unordered_set/
1356 not_default_constructible_hash_neg.cc: Likewise.
1358 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1360 * include/debug/set.h (set): Implement C++11 allocator-aware
1361 container requirements.
1362 * include/debug/map.h (map): Likewise.
1363 * include/debug/multiset.h (multiset): Likewise.
1364 * include/debug/multimap.h (multimap): Likewise.
1365 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1366 fix implementation regarding management of safe iterators.
1367 * include/debug/map.h (map::operator=(map&&)): Likewise.
1368 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1369 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1371 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1372 Rely on the same operator from normal mode.
1373 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1375 * include/debug/multiset.h
1376 (multiset::operator=(std::initializer_list<>)): Likewise.
1377 * include/debug/multimap.h
1378 (multimap::operator=(std::initializer_list<>)): Likewise.
1379 * include/debug/set.h (set::swap(set&)): Add noexcept
1380 specification, add allocator equality check.
1381 * include/debug/map.h (map::swap(map&)): Likewise.
1382 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1383 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1385 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1388 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1389 and stylistic improvements.
1390 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1391 and update for C++11.
1392 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1395 * doc/xml/manual/backwards_compatibility.xml
1396 (backwards.third.nocreate_noreplace): Correct and expand.
1399 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1401 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1404 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1405 support for non-Movable types.
1408 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1410 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1412 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1413 *this allocator instance when building temporary vector instance
1414 so that *this allocator does not get moved.
1415 * include/debug/safe_base.h
1416 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1417 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1418 move constructor from _Safe_sequence_base.
1419 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1420 safe iterators if the instance is moved.
1421 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1422 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1423 check on a vector iterator.
1424 * testsuite/23_containers/vector/allocator/move_assign.cc
1426 (test03): New, test with a non-propagating allocator.
1427 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1429 2014-01-07 Tim Shen <timshen91@gmail.com>
1431 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1432 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1433 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1434 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1435 _BracketMatcher<>::_M_add_char(),
1436 _BracketMatcher<>::_M_add_collating_element(),
1437 _BracketMatcher<>::_M_add_equivalence_class(),
1438 _BracketMatcher<>::_M_add_character_class(),
1439 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1440 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1441 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1442 to template parameter; Add cache for _BracketMatcher. Adjust
1443 declarations from here...
1444 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1445 imbuing a regex will trigger a recompilation to rebuild the cache.
1446 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1447 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1448 different template bool parameters.
1449 * include/bits/regex_executor.h: Remove unnecessary declarations.
1450 * include/std/regex: Adjust including orders.
1451 * testsuite/28_regex/traits/char/user_defined.cc: New.
1452 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1454 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1456 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1457 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1458 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1459 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1460 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1462 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1464 Update copyright years
1466 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1468 * testsuite/18_support/new_handler.cc,
1469 testsuite/18_support/terminate_handler.cc,
1470 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1471 the copyright notice.
1473 Copyright (C) 2014 Free Software Foundation, Inc.
1475 Copying and distribution of this file, with or without modification,
1476 are permitted in any medium without royalty provided the copyright
1477 notice and this notice are preserved.