1 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
3 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
4 * libsupc++/new_opnt.cc: Likewise.
6 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
9 * include/std/future (__future_base::_State_baseV2::_M_set_result):
10 Pass lock into _M_do_set and hold it until the function returns.
11 Signal condition variable after call_once completes.
12 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
14 * testsuite/30_threads/promise/60966.cc: New.
16 2014-05-16 Iain Sandoe <iain@codesourcery.com>
17 Sandra Loosemore <sandra@codesourcery.com>
19 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
20 until after checking that the test is eligible to be run.
22 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
24 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
25 test for 32-bit target.
26 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
28 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
31 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
34 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
35 and add unwind directives.
37 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
39 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
41 * include/std/chrono (chrono_literals::__select_type::_Select_type):
43 (chrono_literals::_Checked_integral_constant): Define.
44 Simplify UDL operator templates and check for overflow.
45 * testsuite/20_util/duration/literals/range.cc: New.
47 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
48 Jonathan Wakely <jwakely@redhat.com>
51 * include/bits/parse_numbers.h: Use integral_constant to remove
52 duplication and simplify.
53 * testsuite/20_util/duration/literals/61166.cc: New.
55 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
58 * include/std/type_traits (__make_unsigned, __make_signed): Define
59 specializations for wchar_t, char16_t and char32_t.
60 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
61 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
62 test for make_unsigned<volatile wchar_t>.
63 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
65 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
67 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
69 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
72 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
74 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
75 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
76 * include/std/utility (tuple_size, tuple_element): Likewise.
77 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
78 Adjust dg-error line number.
80 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
82 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
83 (__tuple_element_t): Define.
84 (tuple_element): Use __tuple_element_t.
85 (__cv_tuple_size): Define.
86 (tuple_size<cv _Tp>): Use __cv_tuple_size.
87 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
88 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
89 (__tuple_compare): Remove size check, re-order parameters.
90 (operator==, operator<): Use static_assert to check requirements.
91 * include/std/functional (__volget): use __tuple_element_t.
92 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
93 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
95 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
98 * include/std/tuple (get, __tuple_compare): Qualify more calls to
99 prevent ADL. Cast comparison results to bool.
100 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
101 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
104 * include/debug/array (get): Qualify call to other get overload.
105 * include/profile/array (get): Likewise.
106 * include/std/array (get): Likewise.
107 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
108 * include/std/mutex (unique_lock, call_once): Use __addressof.
109 (__unlock_impl): Remove unused template.
110 (__try_to_lock): Declare inline.
111 (__try_lock_impl::__do_try_lock): Qualify function calls.
112 (lock): Avoid narrowing conversion.
113 * testsuite/20_util/bind/60497.cc: New.
114 * testsuite/23_containers/array/element_access/60497.cc: New.
115 * testsuite/30_threads/call_once/60497.cc: New.
116 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
118 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
120 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
121 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
122 * acinclude.m4 (libtool_VERSION): Bump.
123 * configure: Regenerate.
124 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
125 * testsuite/28_regex/regex_error/base.cc: New.
127 2014-05-08 Joshua Gay <jgay@gnu.org>
130 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
131 source" with "free software".
132 * doc/html/faq.html: Likewise.
134 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
137 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
139 (operator=(const ios_base&)): Likewise.
140 * include/std/streambuf: Remove trailing whitespace.
141 (basic_streambuf(const basic_streambuf&)): Fix initializer for
142 _M_out_end. Define as defaulted for C++11.
143 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
144 (swap(basic_streambuf&)): Define for C++11.
145 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
148 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
150 * include/std/iostream: Fix URL in comment.
151 * src/c++98/ios_init.cc: Fix path in comment.
153 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
155 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
156 * configure: Regenerate.
158 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
161 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
163 * testsuite/23_containers/set/cons/61023.cc: New.
166 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
168 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
169 arithmetic to obtain a mutable iterator from const_iterator.
170 * include/bits/vector.tcc (vector::insert): Likewise.
171 * include/debug/vector (vector::erase): Likewise.
172 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
173 Adjust dg-error line number.
174 * testsuite/23_containers/vector/requirements/dr438/
175 constructor_1_neg.cc: Likewise.
176 * testsuite/23_containers/vector/requirements/dr438/
177 constructor_2_neg.cc: Likewise.
178 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
181 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
183 * include/Makefile.in: Regenerate.
185 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
187 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
188 parameter to pass the 2 instances to check allocator equality.
189 * include/debug/safe_container.h: New, define _Safe_container<>.
190 * include/Makefile.am: Add previous.
191 * include/debug/deque (std::__debug::deque<>): Inherit
192 _Safe_container<>. Use default implementation for all special
194 * include/debug/forward_list (std::__debug::forward_list<>):
196 * include/debug/list (std::__debug::list<>): Likewise.
197 * include/debug/map.h (std::__debug::map<>): Likewise.
198 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
199 * include/debug/set.h (std::__debug::set<>): Likewise.
200 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
201 * include/debug/string (std::__debug::basic_string<>): Likewise.
202 * include/debug/unordered_map
203 (std::__debug::unordered_map<>): Likewise.
204 (std::__debug::unordered_multimap<>): Likewise.
205 * include/debug/unordered_set
206 (std::__debug::unordered_set<>): Likewise.
207 (std::__debug::unordered_multiset<>): Likewise.
208 * include/debug/vector (std::__debug::vector<>): Likewise.
209 * include/debug/safe_base.h (_Safe_sequence_base()): Add
211 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
212 (~_Safe_sequence_base()): Add noexcept.
213 * include/debug/safe_sequence.h
214 (std::__debug::_Safe_node_sequence<>): New.
215 * include/debug/safe_unordered_base.h
216 (_Safe_unordered_container_base()): Add noexcept.
217 (~_Safe_unordered_container_base()): Likewise.
218 (_M_swap(_Safe_unordered_container_base&)): Likewise.
219 * include/debug/safe_unordered_container.h:
220 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
221 (_Safe_unordered_container<>::_M_invalidate_all()): New.
222 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
224 * testsuite/util/debug/checks.h (check_construct1): Just implement
225 an invalid constructor invocation and no other operations
226 potentially not supported by some types of container.
227 (check_construct2): Likewise.
228 (check_construct3): Likewise.
229 * testsuite/23_containers/forward_list/allocator/move.cc: Add
230 check on iterators to make sure they are correctly moved in debug
232 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
234 * testsuite/23_containers/map/allocator/move.cc: Likewise.
235 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
236 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
237 * testsuite/23_containers/multimap/allocator/move_assign.cc:
239 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
240 * testsuite/23_containers/multiset/allocator/move_assign.cc:
242 * testsuite/23_containers/set/allocator/move.cc: Likewise.
243 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
244 * testsuite/23_containers/unordered_map/allocator/move.cc:
246 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
248 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
250 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
252 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
254 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
256 * testsuite/23_containers/unordered_set/allocator/move.cc:
258 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
260 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
262 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
264 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
266 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
268 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
270 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
271 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
272 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
273 * testsuite/23_containers/map/debug/move_neg.cc: New.
274 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
275 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
276 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
277 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
278 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
279 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
280 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
281 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
282 * testsuite/23_containers/set/debug/move_neg.cc: New.
283 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
285 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
287 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
288 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
290 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
292 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
294 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
296 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
298 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
300 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
302 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
304 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
305 * testsuite/23_containers/vector/debug/move_neg.cc: New.
307 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
309 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
310 (CXXABI_1.3.9): Remove __float128 symbols.
312 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
315 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
316 function to handle both C++03 and C++11 _Rb_tree_node implementations.
317 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
318 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
320 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
323 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
324 Check the correct type in the static assertion.
325 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
327 2014-04-27 Tim Shen <timshen91@gmail.com>
329 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
330 Add _S_opcode_repeat support to distingush a loop from
331 _S_opcode_alternative.
332 * include/bits/regex_automaton.tcc (_State_base::_M_print,
333 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
334 _StateSeq<>::_M_clone): Likewise.
335 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
337 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
338 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
339 Uglify local variable __i.
340 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
341 Use size_t instead of int to compare with vector::size().
343 2014-04-27 Tim Shen <timshen91@gmail.com>
345 * include/bits/regex_executor.h: Add _M_rep_count to track how
346 many times this repeat node are visited.
347 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
348 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
351 2014-04-27 Tim Shen <timshen91@gmail.com>
353 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
354 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
355 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
356 * include/bits/regex_automaton.h: Remove quantifier counting variable.
357 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
358 Adjust debug NFA dump.
360 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
363 * include/experimental/optional (operator!=): Implement in terms of
365 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
366 * testsuite/experimental/optional/relops/2.cc: Likewise.
367 * testsuite/experimental/optional/relops/3.cc: Likewise.
368 * testsuite/experimental/optional/relops/4.cc: Likewise.
369 * testsuite/experimental/optional/relops/5.cc: Likewise.
370 * testsuite/experimental/optional/relops/6.cc: Likewise.
372 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
375 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
376 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
379 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
381 * testsuite/util/testsuite_abi.cc (check_version): Update for
384 2014-04-24 Tim Shen <timshen91@gmail.com>
386 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
387 Do _M_alt before _M_next.
388 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
390 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
393 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
394 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
395 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
397 2014-04-24 Andreas Schwab <schwab@suse.de>
399 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
400 new CXXABI_1.3.9 symbols.
402 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
404 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
405 (CXXABI_1.3.9): New version.
407 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
410 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
411 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
412 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
414 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
416 * configure.host: Remove solaris2.9 handling.
417 Change os_include_dir to os/solaris/solaris2.10.
418 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
419 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
420 * configure: Regenerate.
421 * config/abi/post/solaris2.9: Remove.
422 * config/os/solaris/solaris2.9: Rename to ...
423 * config/os/solaris/solaris2.10: ... this.
424 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
427 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
428 Remove Solaris 9 reference.
429 * doc/html/manual/configure.html: Regenerate.
431 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
432 Remove *-*-solaris2.9 xfail.
433 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
436 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
439 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
441 * include/std/functional (__is_location_invariant): Use __or_ helper.
443 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
446 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
449 * include/std/atomic (atomic<_Tp>): Add static assertion.
450 * testsuite/29_atomics/atomic/60695.cc: New.
453 * include/std/functional (function::_Callable): Exclude own type
454 from the callable checks.
455 * testsuite/20_util/function/60594.cc: New.
457 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
458 const to constexpr member functions.
460 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
461 delegating constructor.
462 * include/bits/shared_ptr_base.h
463 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
465 * include/std/atomic: Uglify parameter names.
468 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
469 1.cc: Fix invalid explicit instantiations with unqualified names.
470 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
472 * testsuite/20_util/tuple/53648.cc: Likweise.
473 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
475 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
477 * testsuite/23_containers/unordered_map/requirements/
478 debug_container.cc: Likewise.
479 * testsuite/23_containers/unordered_map/requirements/
480 explicit_instantiation/3.cc: Likewise.
481 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
483 * testsuite/23_containers/unordered_multimap/requirements/
484 explicit_instantiation/3.cc: Likewise.
485 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
487 * testsuite/23_containers/unordered_multiset/requirements/
488 explicit_instantiation/3.cc: Likewise.
489 * testsuite/23_containers/unordered_set/requirements/
490 debug_container.cc: Likewise.
491 * testsuite/23_containers/unordered_set/requirements/
492 explicit_instantiation/3.cc: Likewise.
494 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
495 not use uninitialized members in mem-initializers.
496 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
497 * testsuite/util/testsuite_common_types.h: Update comment.
499 * include/experimental/string_view: Fix inconsistent exception specs.
501 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
502 Remove name of unused parameter.
504 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
506 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
507 _Vector_base::_M_allocate): NullablePointer requirements do not
508 include initialization from literal zero, use value-initialization.
509 * include/bits/vector.tcc (vector::_M_insert_aux,
510 vector::_M_explace_back_aux): Likewise for assignment.
512 * include/bits/allocator.h (operator==, operator!=): Add exception
516 * include/std/tuple (get): Qualify calls to prevent ADL.
517 * testsuite/20_util/tuple/60497.cc: New.
519 * include/std/tuple (tuple_element_t): Define.
520 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
522 * testsuite/20_util/tuple/tuple_element_t.cc: New.
524 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
527 * include/bits/stl_iterator.h (move_iterator::reference,
528 move_iterator::operator*): Implement LWG 2106.
529 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
531 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
533 * include/std/complex (__complex_exp, pow): Specify the template
534 parameter in calls to std::polar, for expression templates.
536 2014-04-10 Andreas Schwab <schwab@suse.de>
538 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
540 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
541 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
543 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
545 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
547 * testsuite/20_util/exchange/1.cc: Add missing return statements.
548 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
549 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
552 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
553 Jack Howarth <howarth@bromo.med.uc.edu>
556 * testsuite/30_threads/condition_variable/54185.cc: Skip for
559 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
561 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
563 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
565 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
566 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
567 * doc/xml/manual/concurrency_extensions.xml
568 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
569 * doc/html/*: Regenerate.
571 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
572 Jonathan Wakely <jwakely@redhat.com>
575 * include/std/iomanip (_Quoted_string operator>>): Do not clear
576 string if input is not quoted.
577 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
579 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
581 * libsupc++/eh_ptr.cc: Improve static_assert messages.
583 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
585 * testsuite/18_support/exception_ptr/60612-terminate.cc
586 (terminate, f): Wrap in _GLIBCXX_USE_C99.
587 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
589 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
591 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
593 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
594 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
596 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
598 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
600 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
601 Fix bad s/part/chapter/ substitutions.
602 * doc/xml/manual/io.xml (std.io): Likewise.
603 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
604 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
606 * doc/html/*: Regenerate.
608 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
611 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
612 compatible with __cxa_exception.
613 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
614 Fix typos in comments.
615 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
616 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
618 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
621 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
622 Use sizeof pointer type not the element type.
623 * testsuite/29_atomics/atomic/60658.cc: New.
625 2014-03-24 Jakub Jelinek <jakub@redhat.com>
627 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
628 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
629 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
630 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
631 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
632 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
633 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
634 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
635 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
636 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
639 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
641 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
643 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
645 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
646 to delegated constructor.
647 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
648 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
651 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
653 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
656 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
658 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
661 * include/debug/functions.h (_Is_contiguous_sequence): Define.
662 (__foreign_iterator): Accept additional iterator. Do not dispatch on
664 (__foreign_iterator_aux2): Likewise. Add overload for iterators
665 from different types of debug container. Use _Is_contiguous_sequence
666 instead of is_lvalue_reference.
667 (__foreign_iterator_aux3): Accept additional iterator. Avoid
668 dereferencing past-the-end iterator.
669 (__foreign_iterator_aux4): Use const value_type* instead of
670 potentially user-defined const_pointer type.
671 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
672 and pass end iterator to __gnu_debug::__foreign_iterator.
673 (__glibcxx_check_insert_range_after): Likewise.
674 (__glibcxx_check_max_load_factor): Fix comment.
675 * include/debug/vector (_Is_contiguous_sequence): Define partial
677 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
678 -std=gnu++11 option and unused header.
679 * testsuite/23_containers/vector/debug/60587.cc: New.
680 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
682 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
684 * crossconfig.m4: Support spu-*-elf* targets.
685 * configure: Regenerate.
687 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
690 * include/std/future (__future_base::_Task_state<>): Change
691 constructors to template functions using perfect forwarding.
692 (__create_task_state): Use decayed type as stored task.
693 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
694 * testsuite/30_threads/packaged_task/60564.cc: New.
696 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
698 * scripts/create_testsuite_files: Add testsuite/experimental in
699 the list of folders to search for tests.
701 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
703 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
705 2014-03-15 Tim Shen <timshen91@gmail.com>
707 * include/bits/regex.h: Add/modify comments.
708 * include/bits/regex_compiler.h: Likewise.
709 * include/bits/regex_executor.h: Likewise.
710 * include/bits/regex_executor.tcc: Likewise.
711 * include/bits/regex_scanner.h: Likewise.
713 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
716 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
717 _ZNSt12system_errorC* symbols which are not exported on any target.
719 2014-03-12 Roland McGrath <mcgrathr@google.com>
720 Mark Seaborn <mseaborn@google.com>
723 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
724 the address of a null pointer, not with a null pointer to pointer.
725 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
726 * testsuite/18_support/bad_exception/59392.cc: New file.
728 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
731 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
733 * include/debug/map (map::operator=(map&&)): Likewise.
734 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
735 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
736 * include/debug/set (set::operator=(set&&)): Likewise.
737 * include/debug/unordered_map
738 (unordered_map::operator=(unordered_map&&)): Likewise.
739 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
740 * include/debug/unordered_set
741 (unordered_set::operator=(unordered_set&&)): Likewise.
742 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
743 * include/debug/vector (vector::operator=(vector&&)): Likewise.
744 * testsuite/23_containers/forward_list/debug/60499.cc: New
745 * testsuite/23_containers/map/debug/60499.cc: New
746 * testsuite/23_containers/multimap/debug/60499.cc: New
747 * testsuite/23_containers/multiset/debug/60499.cc: New
748 * testsuite/23_containers/set/debug/60499.cc: New
749 * testsuite/23_containers/unordered_map/debug/60499.cc: New
750 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
751 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
752 * testsuite/23_containers/unordered_set/debug/60499.cc: New
753 * testsuite/23_containers/vector/debug/60499.cc: New
755 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
757 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
758 for filesystem and fundamentals TS work items.
760 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
763 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
764 Adjust dg-error directives.
766 2014-02-26 Tim Shen <timshen91@gmail.com>
768 * include/bits/regex.tcc (match_results<>::format,
769 regex_replace<>): Update __out after calling std::copy.
770 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
772 * testsuite/28_regex/match_results/format.cc: Likewise.
774 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
777 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
778 allocator_type&)): Remove redundant call to _M_initialize_map.
779 (deque::deque(const allocator_type&)): Initialize _Base with a
780 constructor that calls _M_initialize_map.
784 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
786 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
789 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
791 Rename testsuite directory shared_mutex to shared_timed_mutex
793 * testsuite/30_threads/shared_mutex: Moved to...
794 * testsuite/30_threads/shared_timed_mutex: ...here
796 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
798 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
799 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
800 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
801 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
802 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
803 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
804 * testsuite/30_threads/shared_lock/requirements/
805 explicit_instantiation.cc: Ditto.
806 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
807 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
808 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
809 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
810 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
811 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
812 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
813 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
814 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
815 * testsuite/30_threads/shared_mutex/requirements/
816 standard_layout.cc: Ditto.
817 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
818 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
819 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
820 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
821 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
823 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
825 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
826 execution on i?86-*-solaris2.9, remove comment.
827 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
829 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
831 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
832 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
833 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
835 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
837 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
838 not use varargs when argument could be non-POD.
839 (__alloctr_rebind_helper): Eliminate static const bool member by
840 using true_type and false_type.
841 (allocator_traits::__allocate_helper): Likewise.
842 (allocator_traits::__construct_helper): Likewise.
843 (allocator_traits::__destroy_helper): Likewise.
844 (allocator_traits::__maxsize_helper): Likewise.
845 (allocator_traits::__select_helper): Likewise.
846 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
847 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
848 Remove redundant condition.
849 * include/bits/stl_vector.h (vector::operator=(const vector&)):
851 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
852 indirection through __alloc_traits.
853 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
854 Eliminate static const bool members by using true_type and false_type.
855 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
856 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
857 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
859 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
862 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
863 (vector::_M_data_ptr): New overloaded functions to ensure empty
864 vectors do not dereference the pointer.
865 * testsuite/23_containers/vector/59829.cc: New.
866 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
867 Adjust dg-error line number.
868 * testsuite/23_containers/vector/requirements/dr438/
869 constructor_1_neg.cc: Likewise.
870 * testsuite/23_containers/vector/requirements/dr438/
871 constructor_2_neg.cc: Likewise.
872 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
876 * include/ext/array_allocator.h: Add deprecated attribute.
879 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
880 installation and use of python printers.
881 * doc/xml/manual/status_cxx2011.xml: Update.
882 * doc/html/*: Regenerate.
884 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
885 Kyle Lippincott <spectral@google.com>
888 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
889 constructor and grant friendship to weak_ptr.
890 (weak_ptr::lock()): Use new constructor.
891 * include/bits/shared_ptr_base.h
892 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
893 and define specializations.
894 (__shared_count): Add new non-throwing constructor.
895 (__shared_ptr): Add new non-throwing constructor and grant friendship
897 (__weak_ptr::lock()): Use new constructor.
898 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
899 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
901 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
904 * include/bits/shared_ptr_base.h
905 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
908 2014-01-27 Jason Merrill <jason@redhat.com>
913 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
914 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
915 (__cxa_allocate_exception): Don't set it here.
917 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
919 * include/bits/stl_map.h: Remove anachronistic comment.
920 * include/bits/stl_multimap.h: Add whitespace.
921 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
922 -std=gnu++11 instead of -std=c++11.
923 * testsuite/23_containers/map/operators/2.cc: Likewise.
924 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
925 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
926 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
928 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
929 * configure: Regenerate.
931 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
934 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
935 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
937 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
938 Peter A. Bigot <pab@pabigot.com>
941 * include/experimental/string_view
942 (copy(_CharT*, size_type, size_type) const): Correct throw string.
943 Correct copy start location.
945 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
946 Peter A. Bigot <pab@pabigot.com>
949 * include/experimental/string_view (operator[](size_type) const):
950 Fix one-off index error in debug check.
951 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
952 test basic_string_view at size().
953 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
955 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
956 Peter A. Bigot <pab@pabigot.com>
959 * include/experimental/string_view
960 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
961 * testsuite/experimental/string_view/operations/substr/char/1.cc:
962 Comment out catch of out_of_range; No terminating null
963 in basic_string_view. Check begin == end.
964 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
967 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
970 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
971 constructor to prevent it being implicitly defined as deleted, but
972 do not copy anything.
973 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
974 Define copy and move constructors similar to _Safe_sequence_base's.
975 * testsuite/23_containers/unordered_map/59548.cc: New.
977 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
978 Steve Ellcey <sellcey@mips.com>
980 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
982 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
983 * (configure, config.h.in): Regenerate.
984 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
986 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
988 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
989 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
992 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
993 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
995 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
997 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
998 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
999 functions to perform moving or copying of elements from rvalue tree.
1000 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1001 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1002 * testsuite/23_containers/map/59872.cc: New.
1003 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1005 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1007 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1010 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1011 Split into separate default constructor and constructor taking
1013 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1014 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1016 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1017 * include/debug/list (list::list(const _Allocator&)): Likewise.
1018 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1020 * include/debug/multimap.h
1021 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1022 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1024 * include/debug/multiset.h
1025 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1026 * include/debug/vector (vector::vector(const allocator_type&)):
1028 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1029 * include/profile/list (list::list(const _Allocator&)): Likewise.
1030 * include/profile/map.h
1031 (map::map(const _Compare&, const _Allocator&)): Likewise.
1032 * include/profile/multimap.h
1033 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1034 * include/profile/set.h
1035 (set::set(const _Compare&, const _Allocator&)): Likewise.
1036 * include/profile/multiset.h
1037 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1038 * include/profile/vector (vector::vector(const _Allocator&)):
1040 * testsuite/23_containers/deque/58764.cc: New.
1041 * testsuite/23_containers/list/58764.cc: New.
1042 * testsuite/23_containers/map/58764.cc: New.
1043 * testsuite/23_containers/multimap/58764.cc: New.
1044 * testsuite/23_containers/set/58764.cc: New.
1045 * testsuite/23_containers/multiset/58764.cc: New.
1046 * testsuite/23_containers/vector/58764.cc: New.
1047 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1048 Adjust dg-error line number.
1049 * testsuite/23_containers/deque/requirements/dr438/
1050 constructor_1_neg.cc: Likewise.
1051 * testsuite/23_containers/deque/requirements/dr438/
1052 constructor_2_neg.cc: Likewise.
1053 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1055 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1057 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1059 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1061 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1063 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1065 * testsuite/23_containers/vector/requirements/dr438/
1066 constructor_1_neg.cc: Likewise.
1067 * testsuite/23_containers/vector/requirements/dr438/
1068 constructor_2_neg.cc: Likewise.
1069 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1072 PR libstdc++/58764 (again)
1073 * include/bits/stl_list.h (list): Make default constructor's exception
1074 specification conditional.
1075 * include/bits/stl_vector.h (vector): Likewise.
1076 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1077 to default constructor.
1078 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1079 Adjust dg-error line number.
1080 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1082 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1084 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1086 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1088 * testsuite/23_containers/vector/requirements/dr438/
1089 constructor_1_neg.cc: Likewise.
1090 * testsuite/23_containers/vector/requirements/dr438/
1091 constructor_2_neg.cc: Likewise.
1092 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1095 2014-01-21 Tim Shen <timshen91@gmail.com>
1097 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1098 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1099 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1101 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1104 * include/bits/hashtable.h (__cache_default): Do not depend on
1105 whether the hash function is DefaultConstructible or CopyAssignable.
1106 (_Hashtable): Adjust static assertions.
1107 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1108 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1109 dg-error line number.
1110 * testsuite/23_containers/unordered_set/
1111 not_default_constructible_hash_neg.cc: Remove.
1113 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1115 * scripts/create_testsuite_files: Add testsuite/experimental in
1116 the list of folders to search for tests.
1117 * include/experimental/string_view
1118 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1119 incompatible with constexpr qualifier.
1120 (basic_string_view<>::front()): Likewise.
1121 (basic_string_view<>::back()): Likewise.
1122 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1123 Merge dg-options directives into one.
1124 * testsuite/experimental/string_view/element_access/char/2.cc:
1125 Likewise. Remove invalid experimental namespace scope on
1128 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1131 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1132 friendship to _Local_iterator_base<..., false>.
1133 (_Local_iterator_base): Give protected access to all existing members.
1134 (_Local_iterator_base::_M_curr()): New public accessor.
1135 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1136 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1137 the lifetime of the _Hash_code_base explicitly.
1138 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1139 (_Local_iterator_base<..., false>): Define copy constructor and copy
1140 assignment operator that use new functions to manage _Hash_code_base.
1141 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1142 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1143 Use public API for _Local_iterator_base.
1144 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1145 * include/debug/unordered_map (__debug::unordered_map::erase(),
1146 __debug::unordered_multimap::erase()): Likewise.
1147 * include/debug/unordered_set (__debug::unordered_set::erase(),
1148 __debug::unordered_multiset::erase()): Likewise.
1149 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1151 2014-01-19 Tim Shen <timshen91@gmail.com>
1153 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1154 Fix parse error of multiple consecutive quantifiers like "a**".
1155 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1157 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1159 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1161 * include/profile/set.h (set): Implement C++11 allocator-aware
1162 container requirements.
1163 * include/profile/map.h (map): Likewise.
1164 * include/profile/multiset.h (multiset): Likewise.
1165 * include/profile/multimap.h (multimap): Likewise.
1166 * include/profile/set.h
1167 (set::operator=(const set&)): Define as default in C++11 mode.
1168 (set::operator=(set&&)): Likewise.
1169 * include/profile/map.h
1170 (map::operator=(const map&)): Likewise.
1171 (map::operator=(map&&)): Likewise.
1172 * include/profile/multiset.h
1173 (multiset::operator=(const multiset&)): Likewise.
1174 (multiset::operator=(multiset&&)): Likewise.
1175 * include/profile/multimap.h
1176 (multimap::operator=(const multimap&)): Likewise.
1177 (multimap::operator=(multimap&&)): Likewise.
1178 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1179 Rely on the same operator from normal mode.
1180 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1182 * include/profile/multiset.h
1183 (multiset::operator=(std::initializer_list<>)): Likewise.
1184 * include/profile/multimap.h
1185 (multimap::operator=(std::initializer_list<>)): Likewise.
1186 * include/profile/set.h (set::swap(set&)): Add noexcept
1188 * include/profile/map.h (map::swap(map&)): Likewise.
1189 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1190 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1192 2014-01-17 Tim Shen <timshen91@gmail.com>
1194 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1196 * include/bits/regex_automaton.h: Do not use std::set.
1197 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1198 _BracketMatcher<>::_M_add_collating_element(),
1199 _BracketMatcher<>::_M_add_equivalence_class(),
1200 _BracketMatcher<>::_M_make_range()): Likewise.
1201 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1203 * include/bits/regex_executor.h: Do not use std::queue.
1204 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1205 _Executor<>::_M_dfs()): Likewise.
1206 * include/std/regex: Remove <map>, <set> and <queue>.
1208 2014-01-17 Tim Shen <timshen91@gmail.com>
1210 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1211 basic_regex<>::assign()): Change __compile_nfa to accept
1213 * include/bits/regex_compiler.h: Change _Compiler's template
1214 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1215 * include/bits/regex_compiler.tcc: Likewise.
1217 2014-01-17 Tim Shen <timshen91@gmail.com>
1219 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1221 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1222 _ScannerBase from _Scanner; Change _Scanner's template argument from
1223 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1225 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1226 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1227 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1229 * include/std/regex: Add <cstring> for using strchr.
1231 2014-01-17 Tim Shen <timshen91@gmail.com>
1233 * bits/regex_automaton.tcc: Indentation fix.
1234 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1235 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1236 _BracketMatcher<>): Add bool option template parameters and
1237 specializations to make matching more efficient and space saving.
1238 * bits/regex_compiler.tcc: Likewise.
1240 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1243 * include/bits/hashtable_policy.h: Fix some long lines.
1244 * include/bits/hashtable.h (__hash_code_base_access): Define and
1245 use it to check its _M_bucket_index noexcept qualification. Use
1247 (__access_protected_ctor): ...this.
1248 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1250 * testsuite/23_containers/unordered_set/
1251 not_default_constructible_hash_neg.cc: Likewise.
1253 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1255 * include/debug/set.h (set): Implement C++11 allocator-aware
1256 container requirements.
1257 * include/debug/map.h (map): Likewise.
1258 * include/debug/multiset.h (multiset): Likewise.
1259 * include/debug/multimap.h (multimap): Likewise.
1260 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1261 fix implementation regarding management of safe iterators.
1262 * include/debug/map.h (map::operator=(map&&)): Likewise.
1263 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1264 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1266 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1267 Rely on the same operator from normal mode.
1268 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1270 * include/debug/multiset.h
1271 (multiset::operator=(std::initializer_list<>)): Likewise.
1272 * include/debug/multimap.h
1273 (multimap::operator=(std::initializer_list<>)): Likewise.
1274 * include/debug/set.h (set::swap(set&)): Add noexcept
1275 specification, add allocator equality check.
1276 * include/debug/map.h (map::swap(map&)): Likewise.
1277 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1278 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1280 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1283 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1284 and stylistic improvements.
1285 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1286 and update for C++11.
1287 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1290 * doc/xml/manual/backwards_compatibility.xml
1291 (backwards.third.nocreate_noreplace): Correct and expand.
1294 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1296 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1299 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1300 support for non-Movable types.
1303 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1305 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1307 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1308 *this allocator instance when building temporary vector instance
1309 so that *this allocator does not get moved.
1310 * include/debug/safe_base.h
1311 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1312 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1313 move constructor from _Safe_sequence_base.
1314 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1315 safe iterators if the instance is moved.
1316 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1317 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1318 check on a vector iterator.
1319 * testsuite/23_containers/vector/allocator/move_assign.cc
1321 (test03): New, test with a non-propagating allocator.
1322 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1324 2014-01-07 Tim Shen <timshen91@gmail.com>
1326 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1327 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1328 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1329 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1330 _BracketMatcher<>::_M_add_char(),
1331 _BracketMatcher<>::_M_add_collating_element(),
1332 _BracketMatcher<>::_M_add_equivalence_class(),
1333 _BracketMatcher<>::_M_add_character_class(),
1334 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1335 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1336 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1337 to template parameter; Add cache for _BracketMatcher. Adjust
1338 declarations from here...
1339 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1340 imbuing a regex will trigger a recompilation to rebuild the cache.
1341 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1342 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1343 different template bool parameters.
1344 * include/bits/regex_executor.h: Remove unnecessary declarations.
1345 * include/std/regex: Adjust including orders.
1346 * testsuite/28_regex/traits/char/user_defined.cc: New.
1347 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1349 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1351 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1352 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1353 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1354 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1355 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1357 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1359 Update copyright years
1361 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1363 * testsuite/18_support/new_handler.cc,
1364 testsuite/18_support/terminate_handler.cc,
1365 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1366 the copyright notice.
1368 Copyright (C) 2014 Free Software Foundation, Inc.
1370 Copying and distribution of this file, with or without modification,
1371 are permitted in any medium without royalty provided the copyright
1372 notice and this notice are preserved.