1 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
3 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
4 libstdc++.exp imports those flags via getenv.
5 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
6 CXXFLAGS contains a '-O' flag.
8 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
12 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
15 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
16 and add unwind directives.
18 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
20 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
22 2014-05-20 Tim Shen <timshen91@gmail.com>
25 * include/bits/regex_compiler.h
26 (_BracketMatcher<>::_M_add_character_class): Add negative character
28 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
30 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
33 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
35 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
37 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
39 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
40 * libsupc++/new_opnt.cc: Likewise.
42 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
45 * include/std/future (__future_base::_State_baseV2::_M_set_result):
46 Pass lock into _M_do_set and hold it until the function returns.
47 Signal condition variable after call_once completes.
48 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
50 * testsuite/30_threads/promise/60966.cc: New.
52 2014-05-16 Iain Sandoe <iain@codesourcery.com>
53 Sandra Loosemore <sandra@codesourcery.com>
55 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
56 until after checking that the test is eligible to be run.
58 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
60 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
61 test for 32-bit target.
62 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
64 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
67 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
70 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
71 and add unwind directives.
73 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
75 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
77 * include/std/chrono (chrono_literals::__select_type::_Select_type):
79 (chrono_literals::_Checked_integral_constant): Define.
80 Simplify UDL operator templates and check for overflow.
81 * testsuite/20_util/duration/literals/range.cc: New.
83 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
84 Jonathan Wakely <jwakely@redhat.com>
87 * include/bits/parse_numbers.h: Use integral_constant to remove
88 duplication and simplify.
89 * testsuite/20_util/duration/literals/61166.cc: New.
91 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
94 * include/std/type_traits (__make_unsigned, __make_signed): Define
95 specializations for wchar_t, char16_t and char32_t.
96 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
97 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
98 test for make_unsigned<volatile wchar_t>.
99 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
101 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
103 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
105 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
108 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
110 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
111 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
112 * include/std/utility (tuple_size, tuple_element): Likewise.
113 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
114 Adjust dg-error line number.
116 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
118 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
119 (__tuple_element_t): Define.
120 (tuple_element): Use __tuple_element_t.
121 (__cv_tuple_size): Define.
122 (tuple_size<cv _Tp>): Use __cv_tuple_size.
123 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
124 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
125 (__tuple_compare): Remove size check, re-order parameters.
126 (operator==, operator<): Use static_assert to check requirements.
127 * include/std/functional (__volget): use __tuple_element_t.
128 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
129 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
131 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
134 * include/std/tuple (get, __tuple_compare): Qualify more calls to
135 prevent ADL. Cast comparison results to bool.
136 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
137 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
140 * include/debug/array (get): Qualify call to other get overload.
141 * include/profile/array (get): Likewise.
142 * include/std/array (get): Likewise.
143 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
144 * include/std/mutex (unique_lock, call_once): Use __addressof.
145 (__unlock_impl): Remove unused template.
146 (__try_to_lock): Declare inline.
147 (__try_lock_impl::__do_try_lock): Qualify function calls.
148 (lock): Avoid narrowing conversion.
149 * testsuite/20_util/bind/60497.cc: New.
150 * testsuite/23_containers/array/element_access/60497.cc: New.
151 * testsuite/30_threads/call_once/60497.cc: New.
152 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
154 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
156 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
157 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
158 * acinclude.m4 (libtool_VERSION): Bump.
159 * configure: Regenerate.
160 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
161 * testsuite/28_regex/regex_error/base.cc: New.
163 2014-05-08 Joshua Gay <jgay@gnu.org>
166 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
167 source" with "free software".
168 * doc/html/faq.html: Likewise.
170 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
173 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
175 (operator=(const ios_base&)): Likewise.
176 * include/std/streambuf: Remove trailing whitespace.
177 (basic_streambuf(const basic_streambuf&)): Fix initializer for
178 _M_out_end. Define as defaulted for C++11.
179 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
180 (swap(basic_streambuf&)): Define for C++11.
181 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
184 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
186 * include/std/iostream: Fix URL in comment.
187 * src/c++98/ios_init.cc: Fix path in comment.
189 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
191 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
192 * configure: Regenerate.
194 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
197 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
199 * testsuite/23_containers/set/cons/61023.cc: New.
202 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
204 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
205 arithmetic to obtain a mutable iterator from const_iterator.
206 * include/bits/vector.tcc (vector::insert): Likewise.
207 * include/debug/vector (vector::erase): Likewise.
208 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
209 Adjust dg-error line number.
210 * testsuite/23_containers/vector/requirements/dr438/
211 constructor_1_neg.cc: Likewise.
212 * testsuite/23_containers/vector/requirements/dr438/
213 constructor_2_neg.cc: Likewise.
214 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
217 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
219 * include/Makefile.in: Regenerate.
221 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
223 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
224 parameter to pass the 2 instances to check allocator equality.
225 * include/debug/safe_container.h: New, define _Safe_container<>.
226 * include/Makefile.am: Add previous.
227 * include/debug/deque (std::__debug::deque<>): Inherit
228 _Safe_container<>. Use default implementation for all special
230 * include/debug/forward_list (std::__debug::forward_list<>):
232 * include/debug/list (std::__debug::list<>): Likewise.
233 * include/debug/map.h (std::__debug::map<>): Likewise.
234 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
235 * include/debug/set.h (std::__debug::set<>): Likewise.
236 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
237 * include/debug/string (std::__debug::basic_string<>): Likewise.
238 * include/debug/unordered_map
239 (std::__debug::unordered_map<>): Likewise.
240 (std::__debug::unordered_multimap<>): Likewise.
241 * include/debug/unordered_set
242 (std::__debug::unordered_set<>): Likewise.
243 (std::__debug::unordered_multiset<>): Likewise.
244 * include/debug/vector (std::__debug::vector<>): Likewise.
245 * include/debug/safe_base.h (_Safe_sequence_base()): Add
247 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
248 (~_Safe_sequence_base()): Add noexcept.
249 * include/debug/safe_sequence.h
250 (std::__debug::_Safe_node_sequence<>): New.
251 * include/debug/safe_unordered_base.h
252 (_Safe_unordered_container_base()): Add noexcept.
253 (~_Safe_unordered_container_base()): Likewise.
254 (_M_swap(_Safe_unordered_container_base&)): Likewise.
255 * include/debug/safe_unordered_container.h:
256 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
257 (_Safe_unordered_container<>::_M_invalidate_all()): New.
258 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
260 * testsuite/util/debug/checks.h (check_construct1): Just implement
261 an invalid constructor invocation and no other operations
262 potentially not supported by some types of container.
263 (check_construct2): Likewise.
264 (check_construct3): Likewise.
265 * testsuite/23_containers/forward_list/allocator/move.cc: Add
266 check on iterators to make sure they are correctly moved in debug
268 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
270 * testsuite/23_containers/map/allocator/move.cc: Likewise.
271 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
272 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
273 * testsuite/23_containers/multimap/allocator/move_assign.cc:
275 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
276 * testsuite/23_containers/multiset/allocator/move_assign.cc:
278 * testsuite/23_containers/set/allocator/move.cc: Likewise.
279 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
280 * testsuite/23_containers/unordered_map/allocator/move.cc:
282 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
284 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
286 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
288 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
290 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
292 * testsuite/23_containers/unordered_set/allocator/move.cc:
294 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
296 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
298 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
300 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
302 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
304 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
306 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
307 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
308 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
309 * testsuite/23_containers/map/debug/move_neg.cc: New.
310 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
311 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
312 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
313 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
314 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
315 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
316 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
317 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
318 * testsuite/23_containers/set/debug/move_neg.cc: New.
319 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
321 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
323 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
324 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
326 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
328 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
330 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
332 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
334 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
336 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
338 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
340 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
341 * testsuite/23_containers/vector/debug/move_neg.cc: New.
343 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
345 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
346 (CXXABI_1.3.9): Remove __float128 symbols.
348 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
351 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
352 function to handle both C++03 and C++11 _Rb_tree_node implementations.
353 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
354 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
356 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
359 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
360 Check the correct type in the static assertion.
361 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
363 2014-04-27 Tim Shen <timshen91@gmail.com>
365 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
366 Add _S_opcode_repeat support to distingush a loop from
367 _S_opcode_alternative.
368 * include/bits/regex_automaton.tcc (_State_base::_M_print,
369 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
370 _StateSeq<>::_M_clone): Likewise.
371 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
373 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
374 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
375 Uglify local variable __i.
376 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
377 Use size_t instead of int to compare with vector::size().
379 2014-04-27 Tim Shen <timshen91@gmail.com>
381 * include/bits/regex_executor.h: Add _M_rep_count to track how
382 many times this repeat node are visited.
383 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
384 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
387 2014-04-27 Tim Shen <timshen91@gmail.com>
389 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
390 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
391 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
392 * include/bits/regex_automaton.h: Remove quantifier counting variable.
393 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
394 Adjust debug NFA dump.
396 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
399 * include/experimental/optional (operator!=): Implement in terms of
401 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
402 * testsuite/experimental/optional/relops/2.cc: Likewise.
403 * testsuite/experimental/optional/relops/3.cc: Likewise.
404 * testsuite/experimental/optional/relops/4.cc: Likewise.
405 * testsuite/experimental/optional/relops/5.cc: Likewise.
406 * testsuite/experimental/optional/relops/6.cc: Likewise.
408 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
411 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
412 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
415 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
417 * testsuite/util/testsuite_abi.cc (check_version): Update for
420 2014-04-24 Tim Shen <timshen91@gmail.com>
422 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
423 Do _M_alt before _M_next.
424 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
426 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
429 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
430 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
431 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
433 2014-04-24 Andreas Schwab <schwab@suse.de>
435 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
436 new CXXABI_1.3.9 symbols.
438 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
440 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
441 (CXXABI_1.3.9): New version.
443 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
446 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
447 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
448 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
450 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
452 * configure.host: Remove solaris2.9 handling.
453 Change os_include_dir to os/solaris/solaris2.10.
454 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
455 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
456 * configure: Regenerate.
457 * config/abi/post/solaris2.9: Remove.
458 * config/os/solaris/solaris2.9: Rename to ...
459 * config/os/solaris/solaris2.10: ... this.
460 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
463 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
464 Remove Solaris 9 reference.
465 * doc/html/manual/configure.html: Regenerate.
467 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
468 Remove *-*-solaris2.9 xfail.
469 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
472 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
475 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
477 * include/std/functional (__is_location_invariant): Use __or_ helper.
479 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
482 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
485 * include/std/atomic (atomic<_Tp>): Add static assertion.
486 * testsuite/29_atomics/atomic/60695.cc: New.
489 * include/std/functional (function::_Callable): Exclude own type
490 from the callable checks.
491 * testsuite/20_util/function/60594.cc: New.
493 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
494 const to constexpr member functions.
496 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
497 delegating constructor.
498 * include/bits/shared_ptr_base.h
499 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
501 * include/std/atomic: Uglify parameter names.
504 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
505 1.cc: Fix invalid explicit instantiations with unqualified names.
506 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
508 * testsuite/20_util/tuple/53648.cc: Likweise.
509 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
511 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
513 * testsuite/23_containers/unordered_map/requirements/
514 debug_container.cc: Likewise.
515 * testsuite/23_containers/unordered_map/requirements/
516 explicit_instantiation/3.cc: Likewise.
517 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
519 * testsuite/23_containers/unordered_multimap/requirements/
520 explicit_instantiation/3.cc: Likewise.
521 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
523 * testsuite/23_containers/unordered_multiset/requirements/
524 explicit_instantiation/3.cc: Likewise.
525 * testsuite/23_containers/unordered_set/requirements/
526 debug_container.cc: Likewise.
527 * testsuite/23_containers/unordered_set/requirements/
528 explicit_instantiation/3.cc: Likewise.
530 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
531 not use uninitialized members in mem-initializers.
532 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
533 * testsuite/util/testsuite_common_types.h: Update comment.
535 * include/experimental/string_view: Fix inconsistent exception specs.
537 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
538 Remove name of unused parameter.
540 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
542 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
543 _Vector_base::_M_allocate): NullablePointer requirements do not
544 include initialization from literal zero, use value-initialization.
545 * include/bits/vector.tcc (vector::_M_insert_aux,
546 vector::_M_explace_back_aux): Likewise for assignment.
548 * include/bits/allocator.h (operator==, operator!=): Add exception
552 * include/std/tuple (get): Qualify calls to prevent ADL.
553 * testsuite/20_util/tuple/60497.cc: New.
555 * include/std/tuple (tuple_element_t): Define.
556 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
558 * testsuite/20_util/tuple/tuple_element_t.cc: New.
560 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
563 * include/bits/stl_iterator.h (move_iterator::reference,
564 move_iterator::operator*): Implement LWG 2106.
565 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
567 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
569 * include/std/complex (__complex_exp, pow): Specify the template
570 parameter in calls to std::polar, for expression templates.
572 2014-04-10 Andreas Schwab <schwab@suse.de>
574 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
576 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
577 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
579 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
581 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
583 * testsuite/20_util/exchange/1.cc: Add missing return statements.
584 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
585 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
588 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
589 Jack Howarth <howarth@bromo.med.uc.edu>
592 * testsuite/30_threads/condition_variable/54185.cc: Skip for
595 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
597 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
599 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
601 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
602 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
603 * doc/xml/manual/concurrency_extensions.xml
604 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
605 * doc/html/*: Regenerate.
607 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
608 Jonathan Wakely <jwakely@redhat.com>
611 * include/std/iomanip (_Quoted_string operator>>): Do not clear
612 string if input is not quoted.
613 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
615 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
617 * libsupc++/eh_ptr.cc: Improve static_assert messages.
619 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
621 * testsuite/18_support/exception_ptr/60612-terminate.cc
622 (terminate, f): Wrap in _GLIBCXX_USE_C99.
623 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
625 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
627 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
629 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
630 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
632 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
634 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
636 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
637 Fix bad s/part/chapter/ substitutions.
638 * doc/xml/manual/io.xml (std.io): Likewise.
639 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
640 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
642 * doc/html/*: Regenerate.
644 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
647 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
648 compatible with __cxa_exception.
649 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
650 Fix typos in comments.
651 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
652 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
654 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
657 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
658 Use sizeof pointer type not the element type.
659 * testsuite/29_atomics/atomic/60658.cc: New.
661 2014-03-24 Jakub Jelinek <jakub@redhat.com>
663 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
664 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
665 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
666 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
667 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
668 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
669 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
670 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
671 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
672 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
675 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
677 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
679 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
681 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
682 to delegated constructor.
683 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
684 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
687 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
689 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
692 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
694 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
697 * include/debug/functions.h (_Is_contiguous_sequence): Define.
698 (__foreign_iterator): Accept additional iterator. Do not dispatch on
700 (__foreign_iterator_aux2): Likewise. Add overload for iterators
701 from different types of debug container. Use _Is_contiguous_sequence
702 instead of is_lvalue_reference.
703 (__foreign_iterator_aux3): Accept additional iterator. Avoid
704 dereferencing past-the-end iterator.
705 (__foreign_iterator_aux4): Use const value_type* instead of
706 potentially user-defined const_pointer type.
707 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
708 and pass end iterator to __gnu_debug::__foreign_iterator.
709 (__glibcxx_check_insert_range_after): Likewise.
710 (__glibcxx_check_max_load_factor): Fix comment.
711 * include/debug/vector (_Is_contiguous_sequence): Define partial
713 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
714 -std=gnu++11 option and unused header.
715 * testsuite/23_containers/vector/debug/60587.cc: New.
716 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
718 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
720 * crossconfig.m4: Support spu-*-elf* targets.
721 * configure: Regenerate.
723 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
726 * include/std/future (__future_base::_Task_state<>): Change
727 constructors to template functions using perfect forwarding.
728 (__create_task_state): Use decayed type as stored task.
729 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
730 * testsuite/30_threads/packaged_task/60564.cc: New.
732 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
734 * scripts/create_testsuite_files: Add testsuite/experimental in
735 the list of folders to search for tests.
737 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
739 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
741 2014-03-15 Tim Shen <timshen91@gmail.com>
743 * include/bits/regex.h: Add/modify comments.
744 * include/bits/regex_compiler.h: Likewise.
745 * include/bits/regex_executor.h: Likewise.
746 * include/bits/regex_executor.tcc: Likewise.
747 * include/bits/regex_scanner.h: Likewise.
749 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
752 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
753 _ZNSt12system_errorC* symbols which are not exported on any target.
755 2014-03-12 Roland McGrath <mcgrathr@google.com>
756 Mark Seaborn <mseaborn@google.com>
759 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
760 the address of a null pointer, not with a null pointer to pointer.
761 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
762 * testsuite/18_support/bad_exception/59392.cc: New file.
764 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
767 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
769 * include/debug/map (map::operator=(map&&)): Likewise.
770 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
771 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
772 * include/debug/set (set::operator=(set&&)): Likewise.
773 * include/debug/unordered_map
774 (unordered_map::operator=(unordered_map&&)): Likewise.
775 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
776 * include/debug/unordered_set
777 (unordered_set::operator=(unordered_set&&)): Likewise.
778 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
779 * include/debug/vector (vector::operator=(vector&&)): Likewise.
780 * testsuite/23_containers/forward_list/debug/60499.cc: New
781 * testsuite/23_containers/map/debug/60499.cc: New
782 * testsuite/23_containers/multimap/debug/60499.cc: New
783 * testsuite/23_containers/multiset/debug/60499.cc: New
784 * testsuite/23_containers/set/debug/60499.cc: New
785 * testsuite/23_containers/unordered_map/debug/60499.cc: New
786 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
787 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
788 * testsuite/23_containers/unordered_set/debug/60499.cc: New
789 * testsuite/23_containers/vector/debug/60499.cc: New
791 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
793 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
794 for filesystem and fundamentals TS work items.
796 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
799 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
800 Adjust dg-error directives.
802 2014-02-26 Tim Shen <timshen91@gmail.com>
804 * include/bits/regex.tcc (match_results<>::format,
805 regex_replace<>): Update __out after calling std::copy.
806 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
808 * testsuite/28_regex/match_results/format.cc: Likewise.
810 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
813 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
814 allocator_type&)): Remove redundant call to _M_initialize_map.
815 (deque::deque(const allocator_type&)): Initialize _Base with a
816 constructor that calls _M_initialize_map.
820 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
822 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
825 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
827 Rename testsuite directory shared_mutex to shared_timed_mutex
829 * testsuite/30_threads/shared_mutex: Moved to...
830 * testsuite/30_threads/shared_timed_mutex: ...here
832 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
834 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
835 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
836 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
837 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
838 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
839 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
840 * testsuite/30_threads/shared_lock/requirements/
841 explicit_instantiation.cc: Ditto.
842 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
843 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
844 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
845 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
846 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
847 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
848 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
849 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
850 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
851 * testsuite/30_threads/shared_mutex/requirements/
852 standard_layout.cc: Ditto.
853 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
854 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
855 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
856 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
857 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
859 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
861 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
862 execution on i?86-*-solaris2.9, remove comment.
863 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
865 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
867 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
868 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
869 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
871 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
873 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
874 not use varargs when argument could be non-POD.
875 (__alloctr_rebind_helper): Eliminate static const bool member by
876 using true_type and false_type.
877 (allocator_traits::__allocate_helper): Likewise.
878 (allocator_traits::__construct_helper): Likewise.
879 (allocator_traits::__destroy_helper): Likewise.
880 (allocator_traits::__maxsize_helper): Likewise.
881 (allocator_traits::__select_helper): Likewise.
882 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
883 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
884 Remove redundant condition.
885 * include/bits/stl_vector.h (vector::operator=(const vector&)):
887 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
888 indirection through __alloc_traits.
889 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
890 Eliminate static const bool members by using true_type and false_type.
891 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
892 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
893 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
895 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
898 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
899 (vector::_M_data_ptr): New overloaded functions to ensure empty
900 vectors do not dereference the pointer.
901 * testsuite/23_containers/vector/59829.cc: New.
902 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
903 Adjust dg-error line number.
904 * testsuite/23_containers/vector/requirements/dr438/
905 constructor_1_neg.cc: Likewise.
906 * testsuite/23_containers/vector/requirements/dr438/
907 constructor_2_neg.cc: Likewise.
908 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
912 * include/ext/array_allocator.h: Add deprecated attribute.
915 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
916 installation and use of python printers.
917 * doc/xml/manual/status_cxx2011.xml: Update.
918 * doc/html/*: Regenerate.
920 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
921 Kyle Lippincott <spectral@google.com>
924 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
925 constructor and grant friendship to weak_ptr.
926 (weak_ptr::lock()): Use new constructor.
927 * include/bits/shared_ptr_base.h
928 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
929 and define specializations.
930 (__shared_count): Add new non-throwing constructor.
931 (__shared_ptr): Add new non-throwing constructor and grant friendship
933 (__weak_ptr::lock()): Use new constructor.
934 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
935 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
937 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
940 * include/bits/shared_ptr_base.h
941 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
944 2014-01-27 Jason Merrill <jason@redhat.com>
949 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
950 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
951 (__cxa_allocate_exception): Don't set it here.
953 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
955 * include/bits/stl_map.h: Remove anachronistic comment.
956 * include/bits/stl_multimap.h: Add whitespace.
957 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
958 -std=gnu++11 instead of -std=c++11.
959 * testsuite/23_containers/map/operators/2.cc: Likewise.
960 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
961 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
962 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
964 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
965 * configure: Regenerate.
967 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
970 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
971 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
973 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
974 Peter A. Bigot <pab@pabigot.com>
977 * include/experimental/string_view
978 (copy(_CharT*, size_type, size_type) const): Correct throw string.
979 Correct copy start location.
981 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
982 Peter A. Bigot <pab@pabigot.com>
985 * include/experimental/string_view (operator[](size_type) const):
986 Fix one-off index error in debug check.
987 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
988 test basic_string_view at size().
989 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
991 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
992 Peter A. Bigot <pab@pabigot.com>
995 * include/experimental/string_view
996 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
997 * testsuite/experimental/string_view/operations/substr/char/1.cc:
998 Comment out catch of out_of_range; No terminating null
999 in basic_string_view. Check begin == end.
1000 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1003 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1006 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1007 constructor to prevent it being implicitly defined as deleted, but
1008 do not copy anything.
1009 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1010 Define copy and move constructors similar to _Safe_sequence_base's.
1011 * testsuite/23_containers/unordered_map/59548.cc: New.
1013 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1014 Steve Ellcey <sellcey@mips.com>
1016 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1018 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1019 * (configure, config.h.in): Regenerate.
1020 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1022 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1024 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1025 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1028 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1029 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1031 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1033 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1034 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1035 functions to perform moving or copying of elements from rvalue tree.
1036 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1037 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1038 * testsuite/23_containers/map/59872.cc: New.
1039 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1041 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1043 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1046 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1047 Split into separate default constructor and constructor taking
1049 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1050 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1052 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1053 * include/debug/list (list::list(const _Allocator&)): Likewise.
1054 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1056 * include/debug/multimap.h
1057 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1058 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1060 * include/debug/multiset.h
1061 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1062 * include/debug/vector (vector::vector(const allocator_type&)):
1064 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1065 * include/profile/list (list::list(const _Allocator&)): Likewise.
1066 * include/profile/map.h
1067 (map::map(const _Compare&, const _Allocator&)): Likewise.
1068 * include/profile/multimap.h
1069 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1070 * include/profile/set.h
1071 (set::set(const _Compare&, const _Allocator&)): Likewise.
1072 * include/profile/multiset.h
1073 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1074 * include/profile/vector (vector::vector(const _Allocator&)):
1076 * testsuite/23_containers/deque/58764.cc: New.
1077 * testsuite/23_containers/list/58764.cc: New.
1078 * testsuite/23_containers/map/58764.cc: New.
1079 * testsuite/23_containers/multimap/58764.cc: New.
1080 * testsuite/23_containers/set/58764.cc: New.
1081 * testsuite/23_containers/multiset/58764.cc: New.
1082 * testsuite/23_containers/vector/58764.cc: New.
1083 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1084 Adjust dg-error line number.
1085 * testsuite/23_containers/deque/requirements/dr438/
1086 constructor_1_neg.cc: Likewise.
1087 * testsuite/23_containers/deque/requirements/dr438/
1088 constructor_2_neg.cc: Likewise.
1089 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1091 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1093 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1095 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1097 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1099 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1101 * testsuite/23_containers/vector/requirements/dr438/
1102 constructor_1_neg.cc: Likewise.
1103 * testsuite/23_containers/vector/requirements/dr438/
1104 constructor_2_neg.cc: Likewise.
1105 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1108 PR libstdc++/58764 (again)
1109 * include/bits/stl_list.h (list): Make default constructor's exception
1110 specification conditional.
1111 * include/bits/stl_vector.h (vector): Likewise.
1112 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1113 to default constructor.
1114 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1115 Adjust dg-error line number.
1116 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1118 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1120 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1122 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1124 * testsuite/23_containers/vector/requirements/dr438/
1125 constructor_1_neg.cc: Likewise.
1126 * testsuite/23_containers/vector/requirements/dr438/
1127 constructor_2_neg.cc: Likewise.
1128 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1131 2014-01-21 Tim Shen <timshen91@gmail.com>
1133 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1134 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1135 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1137 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1140 * include/bits/hashtable.h (__cache_default): Do not depend on
1141 whether the hash function is DefaultConstructible or CopyAssignable.
1142 (_Hashtable): Adjust static assertions.
1143 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1144 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1145 dg-error line number.
1146 * testsuite/23_containers/unordered_set/
1147 not_default_constructible_hash_neg.cc: Remove.
1149 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1151 * scripts/create_testsuite_files: Add testsuite/experimental in
1152 the list of folders to search for tests.
1153 * include/experimental/string_view
1154 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1155 incompatible with constexpr qualifier.
1156 (basic_string_view<>::front()): Likewise.
1157 (basic_string_view<>::back()): Likewise.
1158 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1159 Merge dg-options directives into one.
1160 * testsuite/experimental/string_view/element_access/char/2.cc:
1161 Likewise. Remove invalid experimental namespace scope on
1164 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1167 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1168 friendship to _Local_iterator_base<..., false>.
1169 (_Local_iterator_base): Give protected access to all existing members.
1170 (_Local_iterator_base::_M_curr()): New public accessor.
1171 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1172 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1173 the lifetime of the _Hash_code_base explicitly.
1174 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1175 (_Local_iterator_base<..., false>): Define copy constructor and copy
1176 assignment operator that use new functions to manage _Hash_code_base.
1177 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1178 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1179 Use public API for _Local_iterator_base.
1180 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1181 * include/debug/unordered_map (__debug::unordered_map::erase(),
1182 __debug::unordered_multimap::erase()): Likewise.
1183 * include/debug/unordered_set (__debug::unordered_set::erase(),
1184 __debug::unordered_multiset::erase()): Likewise.
1185 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1187 2014-01-19 Tim Shen <timshen91@gmail.com>
1189 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1190 Fix parse error of multiple consecutive quantifiers like "a**".
1191 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1193 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1195 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1197 * include/profile/set.h (set): Implement C++11 allocator-aware
1198 container requirements.
1199 * include/profile/map.h (map): Likewise.
1200 * include/profile/multiset.h (multiset): Likewise.
1201 * include/profile/multimap.h (multimap): Likewise.
1202 * include/profile/set.h
1203 (set::operator=(const set&)): Define as default in C++11 mode.
1204 (set::operator=(set&&)): Likewise.
1205 * include/profile/map.h
1206 (map::operator=(const map&)): Likewise.
1207 (map::operator=(map&&)): Likewise.
1208 * include/profile/multiset.h
1209 (multiset::operator=(const multiset&)): Likewise.
1210 (multiset::operator=(multiset&&)): Likewise.
1211 * include/profile/multimap.h
1212 (multimap::operator=(const multimap&)): Likewise.
1213 (multimap::operator=(multimap&&)): Likewise.
1214 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1215 Rely on the same operator from normal mode.
1216 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1218 * include/profile/multiset.h
1219 (multiset::operator=(std::initializer_list<>)): Likewise.
1220 * include/profile/multimap.h
1221 (multimap::operator=(std::initializer_list<>)): Likewise.
1222 * include/profile/set.h (set::swap(set&)): Add noexcept
1224 * include/profile/map.h (map::swap(map&)): Likewise.
1225 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1226 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1228 2014-01-17 Tim Shen <timshen91@gmail.com>
1230 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1232 * include/bits/regex_automaton.h: Do not use std::set.
1233 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1234 _BracketMatcher<>::_M_add_collating_element(),
1235 _BracketMatcher<>::_M_add_equivalence_class(),
1236 _BracketMatcher<>::_M_make_range()): Likewise.
1237 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1239 * include/bits/regex_executor.h: Do not use std::queue.
1240 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1241 _Executor<>::_M_dfs()): Likewise.
1242 * include/std/regex: Remove <map>, <set> and <queue>.
1244 2014-01-17 Tim Shen <timshen91@gmail.com>
1246 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1247 basic_regex<>::assign()): Change __compile_nfa to accept
1249 * include/bits/regex_compiler.h: Change _Compiler's template
1250 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1251 * include/bits/regex_compiler.tcc: Likewise.
1253 2014-01-17 Tim Shen <timshen91@gmail.com>
1255 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1257 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1258 _ScannerBase from _Scanner; Change _Scanner's template argument from
1259 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1261 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1262 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1263 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1265 * include/std/regex: Add <cstring> for using strchr.
1267 2014-01-17 Tim Shen <timshen91@gmail.com>
1269 * bits/regex_automaton.tcc: Indentation fix.
1270 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1271 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1272 _BracketMatcher<>): Add bool option template parameters and
1273 specializations to make matching more efficient and space saving.
1274 * bits/regex_compiler.tcc: Likewise.
1276 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1279 * include/bits/hashtable_policy.h: Fix some long lines.
1280 * include/bits/hashtable.h (__hash_code_base_access): Define and
1281 use it to check its _M_bucket_index noexcept qualification. Use
1283 (__access_protected_ctor): ...this.
1284 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1286 * testsuite/23_containers/unordered_set/
1287 not_default_constructible_hash_neg.cc: Likewise.
1289 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1291 * include/debug/set.h (set): Implement C++11 allocator-aware
1292 container requirements.
1293 * include/debug/map.h (map): Likewise.
1294 * include/debug/multiset.h (multiset): Likewise.
1295 * include/debug/multimap.h (multimap): Likewise.
1296 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1297 fix implementation regarding management of safe iterators.
1298 * include/debug/map.h (map::operator=(map&&)): Likewise.
1299 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1300 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1302 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1303 Rely on the same operator from normal mode.
1304 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1306 * include/debug/multiset.h
1307 (multiset::operator=(std::initializer_list<>)): Likewise.
1308 * include/debug/multimap.h
1309 (multimap::operator=(std::initializer_list<>)): Likewise.
1310 * include/debug/set.h (set::swap(set&)): Add noexcept
1311 specification, add allocator equality check.
1312 * include/debug/map.h (map::swap(map&)): Likewise.
1313 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1314 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1316 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1319 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1320 and stylistic improvements.
1321 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1322 and update for C++11.
1323 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1326 * doc/xml/manual/backwards_compatibility.xml
1327 (backwards.third.nocreate_noreplace): Correct and expand.
1330 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1332 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1335 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1336 support for non-Movable types.
1339 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1341 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1343 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1344 *this allocator instance when building temporary vector instance
1345 so that *this allocator does not get moved.
1346 * include/debug/safe_base.h
1347 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1348 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1349 move constructor from _Safe_sequence_base.
1350 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1351 safe iterators if the instance is moved.
1352 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1353 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1354 check on a vector iterator.
1355 * testsuite/23_containers/vector/allocator/move_assign.cc
1357 (test03): New, test with a non-propagating allocator.
1358 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1360 2014-01-07 Tim Shen <timshen91@gmail.com>
1362 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1363 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1364 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1365 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1366 _BracketMatcher<>::_M_add_char(),
1367 _BracketMatcher<>::_M_add_collating_element(),
1368 _BracketMatcher<>::_M_add_equivalence_class(),
1369 _BracketMatcher<>::_M_add_character_class(),
1370 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1371 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1372 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1373 to template parameter; Add cache for _BracketMatcher. Adjust
1374 declarations from here...
1375 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1376 imbuing a regex will trigger a recompilation to rebuild the cache.
1377 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1378 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1379 different template bool parameters.
1380 * include/bits/regex_executor.h: Remove unnecessary declarations.
1381 * include/std/regex: Adjust including orders.
1382 * testsuite/28_regex/traits/char/user_defined.cc: New.
1383 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1385 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1387 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1388 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1389 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1390 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1391 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1393 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1395 Update copyright years
1397 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1399 * testsuite/18_support/new_handler.cc,
1400 testsuite/18_support/terminate_handler.cc,
1401 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1402 the copyright notice.
1404 Copyright (C) 2014 Free Software Foundation, Inc.
1406 Copying and distribution of this file, with or without modification,
1407 are permitted in any medium without royalty provided the copyright
1408 notice and this notice are preserved.