1 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
4 * include/std/type_traits: Move include outside namespace std.
5 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
6 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
10 2014-05-21 John Marino <gnugcc@marino.st>
12 * acinclude.m4 (*-*-dragonfly*): New target.
13 * configure: Regenerate.
14 * configure.host (*-*-dragonfly*): New target.
15 * config/locale/dragonfly/c_locale.cc: New.
16 * config/locale/dragonfly/ctype_members.cc: New.
17 * config/os/bsd/dragonfly/ctype_base.h: New.
18 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
19 * config/os/bsd/dragonfly/ctype_inline.h: New.
20 * config/os/bsd/dragonfly/os_defines.h: New.
22 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
24 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
25 libstdc++.exp imports those flags via getenv.
26 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
27 CXXFLAGS contains a '-O' flag.
29 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
33 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
36 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
37 and add unwind directives.
39 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
41 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
43 2014-05-20 Tim Shen <timshen91@gmail.com>
46 * include/bits/regex_compiler.h
47 (_BracketMatcher<>::_M_add_character_class): Add negative character
49 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
51 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
54 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
56 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
58 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
60 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
61 * libsupc++/new_opnt.cc: Likewise.
63 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
66 * include/std/future (__future_base::_State_baseV2::_M_set_result):
67 Pass lock into _M_do_set and hold it until the function returns.
68 Signal condition variable after call_once completes.
69 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
71 * testsuite/30_threads/promise/60966.cc: New.
73 2014-05-16 Iain Sandoe <iain@codesourcery.com>
74 Sandra Loosemore <sandra@codesourcery.com>
76 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
77 until after checking that the test is eligible to be run.
79 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
81 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
82 test for 32-bit target.
83 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
85 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
88 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
91 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
92 and add unwind directives.
94 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
96 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
98 * include/std/chrono (chrono_literals::__select_type::_Select_type):
100 (chrono_literals::_Checked_integral_constant): Define.
101 Simplify UDL operator templates and check for overflow.
102 * testsuite/20_util/duration/literals/range.cc: New.
104 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
105 Jonathan Wakely <jwakely@redhat.com>
108 * include/bits/parse_numbers.h: Use integral_constant to remove
109 duplication and simplify.
110 * testsuite/20_util/duration/literals/61166.cc: New.
112 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
115 * include/std/type_traits (__make_unsigned, __make_signed): Define
116 specializations for wchar_t, char16_t and char32_t.
117 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
118 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
119 test for make_unsigned<volatile wchar_t>.
120 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
122 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
124 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
126 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
129 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
131 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
132 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
133 * include/std/utility (tuple_size, tuple_element): Likewise.
134 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
135 Adjust dg-error line number.
137 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
139 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
140 (__tuple_element_t): Define.
141 (tuple_element): Use __tuple_element_t.
142 (__cv_tuple_size): Define.
143 (tuple_size<cv _Tp>): Use __cv_tuple_size.
144 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
145 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
146 (__tuple_compare): Remove size check, re-order parameters.
147 (operator==, operator<): Use static_assert to check requirements.
148 * include/std/functional (__volget): use __tuple_element_t.
149 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
150 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
152 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
155 * include/std/tuple (get, __tuple_compare): Qualify more calls to
156 prevent ADL. Cast comparison results to bool.
157 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
158 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
161 * include/debug/array (get): Qualify call to other get overload.
162 * include/profile/array (get): Likewise.
163 * include/std/array (get): Likewise.
164 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
165 * include/std/mutex (unique_lock, call_once): Use __addressof.
166 (__unlock_impl): Remove unused template.
167 (__try_to_lock): Declare inline.
168 (__try_lock_impl::__do_try_lock): Qualify function calls.
169 (lock): Avoid narrowing conversion.
170 * testsuite/20_util/bind/60497.cc: New.
171 * testsuite/23_containers/array/element_access/60497.cc: New.
172 * testsuite/30_threads/call_once/60497.cc: New.
173 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
175 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
177 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
178 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
179 * acinclude.m4 (libtool_VERSION): Bump.
180 * configure: Regenerate.
181 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
182 * testsuite/28_regex/regex_error/base.cc: New.
184 2014-05-08 Joshua Gay <jgay@gnu.org>
187 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
188 source" with "free software".
189 * doc/html/faq.html: Likewise.
191 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
194 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
196 (operator=(const ios_base&)): Likewise.
197 * include/std/streambuf: Remove trailing whitespace.
198 (basic_streambuf(const basic_streambuf&)): Fix initializer for
199 _M_out_end. Define as defaulted for C++11.
200 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
201 (swap(basic_streambuf&)): Define for C++11.
202 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
205 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
207 * include/std/iostream: Fix URL in comment.
208 * src/c++98/ios_init.cc: Fix path in comment.
210 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
212 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
213 * configure: Regenerate.
215 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
218 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
220 * testsuite/23_containers/set/cons/61023.cc: New.
223 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
225 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
226 arithmetic to obtain a mutable iterator from const_iterator.
227 * include/bits/vector.tcc (vector::insert): Likewise.
228 * include/debug/vector (vector::erase): Likewise.
229 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
230 Adjust dg-error line number.
231 * testsuite/23_containers/vector/requirements/dr438/
232 constructor_1_neg.cc: Likewise.
233 * testsuite/23_containers/vector/requirements/dr438/
234 constructor_2_neg.cc: Likewise.
235 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
238 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
240 * include/Makefile.in: Regenerate.
242 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
244 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
245 parameter to pass the 2 instances to check allocator equality.
246 * include/debug/safe_container.h: New, define _Safe_container<>.
247 * include/Makefile.am: Add previous.
248 * include/debug/deque (std::__debug::deque<>): Inherit
249 _Safe_container<>. Use default implementation for all special
251 * include/debug/forward_list (std::__debug::forward_list<>):
253 * include/debug/list (std::__debug::list<>): Likewise.
254 * include/debug/map.h (std::__debug::map<>): Likewise.
255 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
256 * include/debug/set.h (std::__debug::set<>): Likewise.
257 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
258 * include/debug/string (std::__debug::basic_string<>): Likewise.
259 * include/debug/unordered_map
260 (std::__debug::unordered_map<>): Likewise.
261 (std::__debug::unordered_multimap<>): Likewise.
262 * include/debug/unordered_set
263 (std::__debug::unordered_set<>): Likewise.
264 (std::__debug::unordered_multiset<>): Likewise.
265 * include/debug/vector (std::__debug::vector<>): Likewise.
266 * include/debug/safe_base.h (_Safe_sequence_base()): Add
268 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
269 (~_Safe_sequence_base()): Add noexcept.
270 * include/debug/safe_sequence.h
271 (std::__debug::_Safe_node_sequence<>): New.
272 * include/debug/safe_unordered_base.h
273 (_Safe_unordered_container_base()): Add noexcept.
274 (~_Safe_unordered_container_base()): Likewise.
275 (_M_swap(_Safe_unordered_container_base&)): Likewise.
276 * include/debug/safe_unordered_container.h:
277 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
278 (_Safe_unordered_container<>::_M_invalidate_all()): New.
279 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
281 * testsuite/util/debug/checks.h (check_construct1): Just implement
282 an invalid constructor invocation and no other operations
283 potentially not supported by some types of container.
284 (check_construct2): Likewise.
285 (check_construct3): Likewise.
286 * testsuite/23_containers/forward_list/allocator/move.cc: Add
287 check on iterators to make sure they are correctly moved in debug
289 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
291 * testsuite/23_containers/map/allocator/move.cc: Likewise.
292 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
293 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
294 * testsuite/23_containers/multimap/allocator/move_assign.cc:
296 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
297 * testsuite/23_containers/multiset/allocator/move_assign.cc:
299 * testsuite/23_containers/set/allocator/move.cc: Likewise.
300 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
301 * testsuite/23_containers/unordered_map/allocator/move.cc:
303 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
305 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
307 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
309 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
311 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
313 * testsuite/23_containers/unordered_set/allocator/move.cc:
315 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
317 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
319 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
321 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
323 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
325 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
327 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
328 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
329 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
330 * testsuite/23_containers/map/debug/move_neg.cc: New.
331 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
332 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
333 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
334 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
335 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
336 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
337 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
338 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
339 * testsuite/23_containers/set/debug/move_neg.cc: New.
340 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
342 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
344 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
345 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
347 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
349 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
351 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
353 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
355 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
357 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
359 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
361 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
362 * testsuite/23_containers/vector/debug/move_neg.cc: New.
364 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
366 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
367 (CXXABI_1.3.9): Remove __float128 symbols.
369 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
372 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
373 function to handle both C++03 and C++11 _Rb_tree_node implementations.
374 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
375 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
377 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
380 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
381 Check the correct type in the static assertion.
382 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
384 2014-04-27 Tim Shen <timshen91@gmail.com>
386 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
387 Add _S_opcode_repeat support to distingush a loop from
388 _S_opcode_alternative.
389 * include/bits/regex_automaton.tcc (_State_base::_M_print,
390 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
391 _StateSeq<>::_M_clone): Likewise.
392 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
394 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
395 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
396 Uglify local variable __i.
397 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
398 Use size_t instead of int to compare with vector::size().
400 2014-04-27 Tim Shen <timshen91@gmail.com>
402 * include/bits/regex_executor.h: Add _M_rep_count to track how
403 many times this repeat node are visited.
404 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
405 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
408 2014-04-27 Tim Shen <timshen91@gmail.com>
410 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
411 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
412 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
413 * include/bits/regex_automaton.h: Remove quantifier counting variable.
414 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
415 Adjust debug NFA dump.
417 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
420 * include/experimental/optional (operator!=): Implement in terms of
422 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
423 * testsuite/experimental/optional/relops/2.cc: Likewise.
424 * testsuite/experimental/optional/relops/3.cc: Likewise.
425 * testsuite/experimental/optional/relops/4.cc: Likewise.
426 * testsuite/experimental/optional/relops/5.cc: Likewise.
427 * testsuite/experimental/optional/relops/6.cc: Likewise.
429 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
432 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
433 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
436 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
438 * testsuite/util/testsuite_abi.cc (check_version): Update for
441 2014-04-24 Tim Shen <timshen91@gmail.com>
443 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
444 Do _M_alt before _M_next.
445 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
447 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
450 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
451 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
452 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
454 2014-04-24 Andreas Schwab <schwab@suse.de>
456 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
457 new CXXABI_1.3.9 symbols.
459 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
461 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
462 (CXXABI_1.3.9): New version.
464 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
467 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
468 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
469 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
471 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
473 * configure.host: Remove solaris2.9 handling.
474 Change os_include_dir to os/solaris/solaris2.10.
475 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
476 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
477 * configure: Regenerate.
478 * config/abi/post/solaris2.9: Remove.
479 * config/os/solaris/solaris2.9: Rename to ...
480 * config/os/solaris/solaris2.10: ... this.
481 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
484 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
485 Remove Solaris 9 reference.
486 * doc/html/manual/configure.html: Regenerate.
488 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
489 Remove *-*-solaris2.9 xfail.
490 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
493 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
496 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
498 * include/std/functional (__is_location_invariant): Use __or_ helper.
500 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
503 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
506 * include/std/atomic (atomic<_Tp>): Add static assertion.
507 * testsuite/29_atomics/atomic/60695.cc: New.
510 * include/std/functional (function::_Callable): Exclude own type
511 from the callable checks.
512 * testsuite/20_util/function/60594.cc: New.
514 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
515 const to constexpr member functions.
517 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
518 delegating constructor.
519 * include/bits/shared_ptr_base.h
520 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
522 * include/std/atomic: Uglify parameter names.
525 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
526 1.cc: Fix invalid explicit instantiations with unqualified names.
527 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
529 * testsuite/20_util/tuple/53648.cc: Likweise.
530 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
532 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
534 * testsuite/23_containers/unordered_map/requirements/
535 debug_container.cc: Likewise.
536 * testsuite/23_containers/unordered_map/requirements/
537 explicit_instantiation/3.cc: Likewise.
538 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
540 * testsuite/23_containers/unordered_multimap/requirements/
541 explicit_instantiation/3.cc: Likewise.
542 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
544 * testsuite/23_containers/unordered_multiset/requirements/
545 explicit_instantiation/3.cc: Likewise.
546 * testsuite/23_containers/unordered_set/requirements/
547 debug_container.cc: Likewise.
548 * testsuite/23_containers/unordered_set/requirements/
549 explicit_instantiation/3.cc: Likewise.
551 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
552 not use uninitialized members in mem-initializers.
553 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
554 * testsuite/util/testsuite_common_types.h: Update comment.
556 * include/experimental/string_view: Fix inconsistent exception specs.
558 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
559 Remove name of unused parameter.
561 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
563 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
564 _Vector_base::_M_allocate): NullablePointer requirements do not
565 include initialization from literal zero, use value-initialization.
566 * include/bits/vector.tcc (vector::_M_insert_aux,
567 vector::_M_explace_back_aux): Likewise for assignment.
569 * include/bits/allocator.h (operator==, operator!=): Add exception
573 * include/std/tuple (get): Qualify calls to prevent ADL.
574 * testsuite/20_util/tuple/60497.cc: New.
576 * include/std/tuple (tuple_element_t): Define.
577 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
579 * testsuite/20_util/tuple/tuple_element_t.cc: New.
581 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
584 * include/bits/stl_iterator.h (move_iterator::reference,
585 move_iterator::operator*): Implement LWG 2106.
586 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
588 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
590 * include/std/complex (__complex_exp, pow): Specify the template
591 parameter in calls to std::polar, for expression templates.
593 2014-04-10 Andreas Schwab <schwab@suse.de>
595 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
597 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
598 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
600 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
602 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
604 * testsuite/20_util/exchange/1.cc: Add missing return statements.
605 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
606 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
609 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
610 Jack Howarth <howarth@bromo.med.uc.edu>
613 * testsuite/30_threads/condition_variable/54185.cc: Skip for
616 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
618 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
620 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
622 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
623 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
624 * doc/xml/manual/concurrency_extensions.xml
625 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
626 * doc/html/*: Regenerate.
628 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
629 Jonathan Wakely <jwakely@redhat.com>
632 * include/std/iomanip (_Quoted_string operator>>): Do not clear
633 string if input is not quoted.
634 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
636 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
638 * libsupc++/eh_ptr.cc: Improve static_assert messages.
640 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
642 * testsuite/18_support/exception_ptr/60612-terminate.cc
643 (terminate, f): Wrap in _GLIBCXX_USE_C99.
644 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
646 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
648 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
650 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
651 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
653 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
655 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
657 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
658 Fix bad s/part/chapter/ substitutions.
659 * doc/xml/manual/io.xml (std.io): Likewise.
660 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
661 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
663 * doc/html/*: Regenerate.
665 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
668 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
669 compatible with __cxa_exception.
670 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
671 Fix typos in comments.
672 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
673 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
675 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
678 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
679 Use sizeof pointer type not the element type.
680 * testsuite/29_atomics/atomic/60658.cc: New.
682 2014-03-24 Jakub Jelinek <jakub@redhat.com>
684 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
685 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
686 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
687 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
688 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
689 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
690 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
691 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
692 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
693 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
696 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
698 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
700 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
702 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
703 to delegated constructor.
704 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
705 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
708 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
710 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
713 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
715 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
718 * include/debug/functions.h (_Is_contiguous_sequence): Define.
719 (__foreign_iterator): Accept additional iterator. Do not dispatch on
721 (__foreign_iterator_aux2): Likewise. Add overload for iterators
722 from different types of debug container. Use _Is_contiguous_sequence
723 instead of is_lvalue_reference.
724 (__foreign_iterator_aux3): Accept additional iterator. Avoid
725 dereferencing past-the-end iterator.
726 (__foreign_iterator_aux4): Use const value_type* instead of
727 potentially user-defined const_pointer type.
728 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
729 and pass end iterator to __gnu_debug::__foreign_iterator.
730 (__glibcxx_check_insert_range_after): Likewise.
731 (__glibcxx_check_max_load_factor): Fix comment.
732 * include/debug/vector (_Is_contiguous_sequence): Define partial
734 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
735 -std=gnu++11 option and unused header.
736 * testsuite/23_containers/vector/debug/60587.cc: New.
737 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
739 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
741 * crossconfig.m4: Support spu-*-elf* targets.
742 * configure: Regenerate.
744 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
747 * include/std/future (__future_base::_Task_state<>): Change
748 constructors to template functions using perfect forwarding.
749 (__create_task_state): Use decayed type as stored task.
750 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
751 * testsuite/30_threads/packaged_task/60564.cc: New.
753 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
755 * scripts/create_testsuite_files: Add testsuite/experimental in
756 the list of folders to search for tests.
758 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
760 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
762 2014-03-15 Tim Shen <timshen91@gmail.com>
764 * include/bits/regex.h: Add/modify comments.
765 * include/bits/regex_compiler.h: Likewise.
766 * include/bits/regex_executor.h: Likewise.
767 * include/bits/regex_executor.tcc: Likewise.
768 * include/bits/regex_scanner.h: Likewise.
770 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
773 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
774 _ZNSt12system_errorC* symbols which are not exported on any target.
776 2014-03-12 Roland McGrath <mcgrathr@google.com>
777 Mark Seaborn <mseaborn@google.com>
780 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
781 the address of a null pointer, not with a null pointer to pointer.
782 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
783 * testsuite/18_support/bad_exception/59392.cc: New file.
785 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
788 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
790 * include/debug/map (map::operator=(map&&)): Likewise.
791 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
792 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
793 * include/debug/set (set::operator=(set&&)): Likewise.
794 * include/debug/unordered_map
795 (unordered_map::operator=(unordered_map&&)): Likewise.
796 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
797 * include/debug/unordered_set
798 (unordered_set::operator=(unordered_set&&)): Likewise.
799 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
800 * include/debug/vector (vector::operator=(vector&&)): Likewise.
801 * testsuite/23_containers/forward_list/debug/60499.cc: New
802 * testsuite/23_containers/map/debug/60499.cc: New
803 * testsuite/23_containers/multimap/debug/60499.cc: New
804 * testsuite/23_containers/multiset/debug/60499.cc: New
805 * testsuite/23_containers/set/debug/60499.cc: New
806 * testsuite/23_containers/unordered_map/debug/60499.cc: New
807 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
808 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
809 * testsuite/23_containers/unordered_set/debug/60499.cc: New
810 * testsuite/23_containers/vector/debug/60499.cc: New
812 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
814 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
815 for filesystem and fundamentals TS work items.
817 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
820 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
821 Adjust dg-error directives.
823 2014-02-26 Tim Shen <timshen91@gmail.com>
825 * include/bits/regex.tcc (match_results<>::format,
826 regex_replace<>): Update __out after calling std::copy.
827 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
829 * testsuite/28_regex/match_results/format.cc: Likewise.
831 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
834 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
835 allocator_type&)): Remove redundant call to _M_initialize_map.
836 (deque::deque(const allocator_type&)): Initialize _Base with a
837 constructor that calls _M_initialize_map.
841 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
843 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
846 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
848 Rename testsuite directory shared_mutex to shared_timed_mutex
850 * testsuite/30_threads/shared_mutex: Moved to...
851 * testsuite/30_threads/shared_timed_mutex: ...here
853 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
855 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
856 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
857 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
858 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
859 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
860 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
861 * testsuite/30_threads/shared_lock/requirements/
862 explicit_instantiation.cc: Ditto.
863 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
864 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
865 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
866 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
867 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
868 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
869 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
870 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
871 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
872 * testsuite/30_threads/shared_mutex/requirements/
873 standard_layout.cc: Ditto.
874 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
875 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
876 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
877 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
878 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
880 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
882 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
883 execution on i?86-*-solaris2.9, remove comment.
884 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
886 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
888 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
889 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
890 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
892 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
894 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
895 not use varargs when argument could be non-POD.
896 (__alloctr_rebind_helper): Eliminate static const bool member by
897 using true_type and false_type.
898 (allocator_traits::__allocate_helper): Likewise.
899 (allocator_traits::__construct_helper): Likewise.
900 (allocator_traits::__destroy_helper): Likewise.
901 (allocator_traits::__maxsize_helper): Likewise.
902 (allocator_traits::__select_helper): Likewise.
903 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
904 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
905 Remove redundant condition.
906 * include/bits/stl_vector.h (vector::operator=(const vector&)):
908 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
909 indirection through __alloc_traits.
910 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
911 Eliminate static const bool members by using true_type and false_type.
912 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
913 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
914 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
916 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
919 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
920 (vector::_M_data_ptr): New overloaded functions to ensure empty
921 vectors do not dereference the pointer.
922 * testsuite/23_containers/vector/59829.cc: New.
923 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
924 Adjust dg-error line number.
925 * testsuite/23_containers/vector/requirements/dr438/
926 constructor_1_neg.cc: Likewise.
927 * testsuite/23_containers/vector/requirements/dr438/
928 constructor_2_neg.cc: Likewise.
929 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
933 * include/ext/array_allocator.h: Add deprecated attribute.
936 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
937 installation and use of python printers.
938 * doc/xml/manual/status_cxx2011.xml: Update.
939 * doc/html/*: Regenerate.
941 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
942 Kyle Lippincott <spectral@google.com>
945 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
946 constructor and grant friendship to weak_ptr.
947 (weak_ptr::lock()): Use new constructor.
948 * include/bits/shared_ptr_base.h
949 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
950 and define specializations.
951 (__shared_count): Add new non-throwing constructor.
952 (__shared_ptr): Add new non-throwing constructor and grant friendship
954 (__weak_ptr::lock()): Use new constructor.
955 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
956 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
958 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
961 * include/bits/shared_ptr_base.h
962 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
965 2014-01-27 Jason Merrill <jason@redhat.com>
970 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
971 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
972 (__cxa_allocate_exception): Don't set it here.
974 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
976 * include/bits/stl_map.h: Remove anachronistic comment.
977 * include/bits/stl_multimap.h: Add whitespace.
978 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
979 -std=gnu++11 instead of -std=c++11.
980 * testsuite/23_containers/map/operators/2.cc: Likewise.
981 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
982 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
983 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
985 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
986 * configure: Regenerate.
988 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
991 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
992 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
994 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
995 Peter A. Bigot <pab@pabigot.com>
998 * include/experimental/string_view
999 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1000 Correct copy start location.
1002 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1003 Peter A. Bigot <pab@pabigot.com>
1006 * include/experimental/string_view (operator[](size_type) const):
1007 Fix one-off index error in debug check.
1008 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1009 test basic_string_view at size().
1010 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1012 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1013 Peter A. Bigot <pab@pabigot.com>
1016 * include/experimental/string_view
1017 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1018 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1019 Comment out catch of out_of_range; No terminating null
1020 in basic_string_view. Check begin == end.
1021 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1024 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1027 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1028 constructor to prevent it being implicitly defined as deleted, but
1029 do not copy anything.
1030 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1031 Define copy and move constructors similar to _Safe_sequence_base's.
1032 * testsuite/23_containers/unordered_map/59548.cc: New.
1034 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1035 Steve Ellcey <sellcey@mips.com>
1037 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1039 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1040 * (configure, config.h.in): Regenerate.
1041 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1043 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1045 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1046 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1049 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1050 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1052 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1054 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1055 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1056 functions to perform moving or copying of elements from rvalue tree.
1057 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1058 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1059 * testsuite/23_containers/map/59872.cc: New.
1060 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1062 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1064 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1067 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1068 Split into separate default constructor and constructor taking
1070 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1071 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1073 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1074 * include/debug/list (list::list(const _Allocator&)): Likewise.
1075 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1077 * include/debug/multimap.h
1078 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1079 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1081 * include/debug/multiset.h
1082 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1083 * include/debug/vector (vector::vector(const allocator_type&)):
1085 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1086 * include/profile/list (list::list(const _Allocator&)): Likewise.
1087 * include/profile/map.h
1088 (map::map(const _Compare&, const _Allocator&)): Likewise.
1089 * include/profile/multimap.h
1090 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1091 * include/profile/set.h
1092 (set::set(const _Compare&, const _Allocator&)): Likewise.
1093 * include/profile/multiset.h
1094 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1095 * include/profile/vector (vector::vector(const _Allocator&)):
1097 * testsuite/23_containers/deque/58764.cc: New.
1098 * testsuite/23_containers/list/58764.cc: New.
1099 * testsuite/23_containers/map/58764.cc: New.
1100 * testsuite/23_containers/multimap/58764.cc: New.
1101 * testsuite/23_containers/set/58764.cc: New.
1102 * testsuite/23_containers/multiset/58764.cc: New.
1103 * testsuite/23_containers/vector/58764.cc: New.
1104 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1105 Adjust dg-error line number.
1106 * testsuite/23_containers/deque/requirements/dr438/
1107 constructor_1_neg.cc: Likewise.
1108 * testsuite/23_containers/deque/requirements/dr438/
1109 constructor_2_neg.cc: Likewise.
1110 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1112 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1114 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1116 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1118 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1120 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1122 * testsuite/23_containers/vector/requirements/dr438/
1123 constructor_1_neg.cc: Likewise.
1124 * testsuite/23_containers/vector/requirements/dr438/
1125 constructor_2_neg.cc: Likewise.
1126 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1129 PR libstdc++/58764 (again)
1130 * include/bits/stl_list.h (list): Make default constructor's exception
1131 specification conditional.
1132 * include/bits/stl_vector.h (vector): Likewise.
1133 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1134 to default constructor.
1135 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1136 Adjust dg-error line number.
1137 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1139 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1141 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1143 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1145 * testsuite/23_containers/vector/requirements/dr438/
1146 constructor_1_neg.cc: Likewise.
1147 * testsuite/23_containers/vector/requirements/dr438/
1148 constructor_2_neg.cc: Likewise.
1149 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1152 2014-01-21 Tim Shen <timshen91@gmail.com>
1154 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1155 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1156 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1158 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1161 * include/bits/hashtable.h (__cache_default): Do not depend on
1162 whether the hash function is DefaultConstructible or CopyAssignable.
1163 (_Hashtable): Adjust static assertions.
1164 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1165 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1166 dg-error line number.
1167 * testsuite/23_containers/unordered_set/
1168 not_default_constructible_hash_neg.cc: Remove.
1170 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1172 * scripts/create_testsuite_files: Add testsuite/experimental in
1173 the list of folders to search for tests.
1174 * include/experimental/string_view
1175 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1176 incompatible with constexpr qualifier.
1177 (basic_string_view<>::front()): Likewise.
1178 (basic_string_view<>::back()): Likewise.
1179 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1180 Merge dg-options directives into one.
1181 * testsuite/experimental/string_view/element_access/char/2.cc:
1182 Likewise. Remove invalid experimental namespace scope on
1185 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1188 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1189 friendship to _Local_iterator_base<..., false>.
1190 (_Local_iterator_base): Give protected access to all existing members.
1191 (_Local_iterator_base::_M_curr()): New public accessor.
1192 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1193 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1194 the lifetime of the _Hash_code_base explicitly.
1195 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1196 (_Local_iterator_base<..., false>): Define copy constructor and copy
1197 assignment operator that use new functions to manage _Hash_code_base.
1198 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1199 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1200 Use public API for _Local_iterator_base.
1201 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1202 * include/debug/unordered_map (__debug::unordered_map::erase(),
1203 __debug::unordered_multimap::erase()): Likewise.
1204 * include/debug/unordered_set (__debug::unordered_set::erase(),
1205 __debug::unordered_multiset::erase()): Likewise.
1206 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1208 2014-01-19 Tim Shen <timshen91@gmail.com>
1210 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1211 Fix parse error of multiple consecutive quantifiers like "a**".
1212 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1214 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1216 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1218 * include/profile/set.h (set): Implement C++11 allocator-aware
1219 container requirements.
1220 * include/profile/map.h (map): Likewise.
1221 * include/profile/multiset.h (multiset): Likewise.
1222 * include/profile/multimap.h (multimap): Likewise.
1223 * include/profile/set.h
1224 (set::operator=(const set&)): Define as default in C++11 mode.
1225 (set::operator=(set&&)): Likewise.
1226 * include/profile/map.h
1227 (map::operator=(const map&)): Likewise.
1228 (map::operator=(map&&)): Likewise.
1229 * include/profile/multiset.h
1230 (multiset::operator=(const multiset&)): Likewise.
1231 (multiset::operator=(multiset&&)): Likewise.
1232 * include/profile/multimap.h
1233 (multimap::operator=(const multimap&)): Likewise.
1234 (multimap::operator=(multimap&&)): Likewise.
1235 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1236 Rely on the same operator from normal mode.
1237 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1239 * include/profile/multiset.h
1240 (multiset::operator=(std::initializer_list<>)): Likewise.
1241 * include/profile/multimap.h
1242 (multimap::operator=(std::initializer_list<>)): Likewise.
1243 * include/profile/set.h (set::swap(set&)): Add noexcept
1245 * include/profile/map.h (map::swap(map&)): Likewise.
1246 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1247 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1249 2014-01-17 Tim Shen <timshen91@gmail.com>
1251 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1253 * include/bits/regex_automaton.h: Do not use std::set.
1254 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1255 _BracketMatcher<>::_M_add_collating_element(),
1256 _BracketMatcher<>::_M_add_equivalence_class(),
1257 _BracketMatcher<>::_M_make_range()): Likewise.
1258 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1260 * include/bits/regex_executor.h: Do not use std::queue.
1261 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1262 _Executor<>::_M_dfs()): Likewise.
1263 * include/std/regex: Remove <map>, <set> and <queue>.
1265 2014-01-17 Tim Shen <timshen91@gmail.com>
1267 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1268 basic_regex<>::assign()): Change __compile_nfa to accept
1270 * include/bits/regex_compiler.h: Change _Compiler's template
1271 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1272 * include/bits/regex_compiler.tcc: Likewise.
1274 2014-01-17 Tim Shen <timshen91@gmail.com>
1276 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1278 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1279 _ScannerBase from _Scanner; Change _Scanner's template argument from
1280 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1282 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1283 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1284 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1286 * include/std/regex: Add <cstring> for using strchr.
1288 2014-01-17 Tim Shen <timshen91@gmail.com>
1290 * bits/regex_automaton.tcc: Indentation fix.
1291 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1292 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1293 _BracketMatcher<>): Add bool option template parameters and
1294 specializations to make matching more efficient and space saving.
1295 * bits/regex_compiler.tcc: Likewise.
1297 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1300 * include/bits/hashtable_policy.h: Fix some long lines.
1301 * include/bits/hashtable.h (__hash_code_base_access): Define and
1302 use it to check its _M_bucket_index noexcept qualification. Use
1304 (__access_protected_ctor): ...this.
1305 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1307 * testsuite/23_containers/unordered_set/
1308 not_default_constructible_hash_neg.cc: Likewise.
1310 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1312 * include/debug/set.h (set): Implement C++11 allocator-aware
1313 container requirements.
1314 * include/debug/map.h (map): Likewise.
1315 * include/debug/multiset.h (multiset): Likewise.
1316 * include/debug/multimap.h (multimap): Likewise.
1317 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1318 fix implementation regarding management of safe iterators.
1319 * include/debug/map.h (map::operator=(map&&)): Likewise.
1320 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1321 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1323 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1324 Rely on the same operator from normal mode.
1325 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1327 * include/debug/multiset.h
1328 (multiset::operator=(std::initializer_list<>)): Likewise.
1329 * include/debug/multimap.h
1330 (multimap::operator=(std::initializer_list<>)): Likewise.
1331 * include/debug/set.h (set::swap(set&)): Add noexcept
1332 specification, add allocator equality check.
1333 * include/debug/map.h (map::swap(map&)): Likewise.
1334 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1335 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1337 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1340 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1341 and stylistic improvements.
1342 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1343 and update for C++11.
1344 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1347 * doc/xml/manual/backwards_compatibility.xml
1348 (backwards.third.nocreate_noreplace): Correct and expand.
1351 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1353 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1356 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1357 support for non-Movable types.
1360 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1362 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1364 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1365 *this allocator instance when building temporary vector instance
1366 so that *this allocator does not get moved.
1367 * include/debug/safe_base.h
1368 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1369 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1370 move constructor from _Safe_sequence_base.
1371 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1372 safe iterators if the instance is moved.
1373 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1374 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1375 check on a vector iterator.
1376 * testsuite/23_containers/vector/allocator/move_assign.cc
1378 (test03): New, test with a non-propagating allocator.
1379 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1381 2014-01-07 Tim Shen <timshen91@gmail.com>
1383 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1384 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1385 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1386 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1387 _BracketMatcher<>::_M_add_char(),
1388 _BracketMatcher<>::_M_add_collating_element(),
1389 _BracketMatcher<>::_M_add_equivalence_class(),
1390 _BracketMatcher<>::_M_add_character_class(),
1391 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1392 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1393 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1394 to template parameter; Add cache for _BracketMatcher. Adjust
1395 declarations from here...
1396 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1397 imbuing a regex will trigger a recompilation to rebuild the cache.
1398 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1399 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1400 different template bool parameters.
1401 * include/bits/regex_executor.h: Remove unnecessary declarations.
1402 * include/std/regex: Adjust including orders.
1403 * testsuite/28_regex/traits/char/user_defined.cc: New.
1404 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1406 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1408 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1409 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1410 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1411 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1412 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1414 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1416 Update copyright years
1418 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1420 * testsuite/18_support/new_handler.cc,
1421 testsuite/18_support/terminate_handler.cc,
1422 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1423 the copyright notice.
1425 Copyright (C) 2014 Free Software Foundation, Inc.
1427 Copying and distribution of this file, with or without modification,
1428 are permitted in any medium without royalty provided the copyright
1429 notice and this notice are preserved.