1 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
4 * include/std/type_traits (__make_unsigned, __make_signed): Define
5 specializations for wchar_t, char16_t and char32_t.
6 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
7 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
8 test for make_unsigned<volatile wchar_t>.
9 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
11 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
13 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
15 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
18 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
20 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
21 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
22 * include/std/utility (tuple_size, tuple_element): Likewise.
23 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
24 Adjust dg-error line number.
26 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
28 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
29 (__tuple_element_t): Define.
30 (tuple_element): Use __tuple_element_t.
31 (__cv_tuple_size): Define.
32 (tuple_size<cv _Tp>): Use __cv_tuple_size.
33 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
34 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
35 (__tuple_compare): Remove size check, re-order parameters.
36 (operator==, operator<): Use static_assert to check requirements.
37 * include/std/functional (__volget): use __tuple_element_t.
38 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
39 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
41 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
44 * include/std/tuple (get, __tuple_compare): Qualify more calls to
45 prevent ADL. Cast comparison results to bool.
46 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
47 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
50 * include/debug/array (get): Qualify call to other get overload.
51 * include/profile/array (get): Likewise.
52 * include/std/array (get): Likewise.
53 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
54 * include/std/mutex (unique_lock, call_once): Use __addressof.
55 (__unlock_impl): Remove unused template.
56 (__try_to_lock): Declare inline.
57 (__try_lock_impl::__do_try_lock): Qualify function calls.
58 (lock): Avoid narrowing conversion.
59 * testsuite/20_util/bind/60497.cc: New.
60 * testsuite/23_containers/array/element_access/60497.cc: New.
61 * testsuite/30_threads/call_once/60497.cc: New.
62 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
64 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
66 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
67 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
68 * acinclude.m4 (libtool_VERSION): Bump.
69 * configure: Regenerate.
70 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
71 * testsuite/28_regex/regex_error/base.cc: New.
73 2014-05-08 Joshua Gay <jgay@gnu.org>
76 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
77 source" with "free software".
78 * doc/html/faq.html: Likewise.
80 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
83 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
85 (operator=(const ios_base&)): Likewise.
86 * include/std/streambuf: Remove trailing whitespace.
87 (basic_streambuf(const basic_streambuf&)): Fix initializer for
88 _M_out_end. Define as defaulted for C++11.
89 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
90 (swap(basic_streambuf&)): Define for C++11.
91 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
94 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
96 * include/std/iostream: Fix URL in comment.
97 * src/c++98/ios_init.cc: Fix path in comment.
99 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
101 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
102 * configure: Regenerate.
104 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
107 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
109 * testsuite/23_containers/set/cons/61023.cc: New.
112 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
114 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
115 arithmetic to obtain a mutable iterator from const_iterator.
116 * include/bits/vector.tcc (vector::insert): Likewise.
117 * include/debug/vector (vector::erase): Likewise.
118 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
119 Adjust dg-error line number.
120 * testsuite/23_containers/vector/requirements/dr438/
121 constructor_1_neg.cc: Likewise.
122 * testsuite/23_containers/vector/requirements/dr438/
123 constructor_2_neg.cc: Likewise.
124 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
127 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
129 * include/Makefile.in: Regenerate.
131 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
133 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
134 parameter to pass the 2 instances to check allocator equality.
135 * include/debug/safe_container.h: New, define _Safe_container<>.
136 * include/Makefile.am: Add previous.
137 * include/debug/deque (std::__debug::deque<>): Inherit
138 _Safe_container<>. Use default implementation for all special
140 * include/debug/forward_list (std::__debug::forward_list<>):
142 * include/debug/list (std::__debug::list<>): Likewise.
143 * include/debug/map.h (std::__debug::map<>): Likewise.
144 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
145 * include/debug/set.h (std::__debug::set<>): Likewise.
146 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
147 * include/debug/string (std::__debug::basic_string<>): Likewise.
148 * include/debug/unordered_map
149 (std::__debug::unordered_map<>): Likewise.
150 (std::__debug::unordered_multimap<>): Likewise.
151 * include/debug/unordered_set
152 (std::__debug::unordered_set<>): Likewise.
153 (std::__debug::unordered_multiset<>): Likewise.
154 * include/debug/vector (std::__debug::vector<>): Likewise.
155 * include/debug/safe_base.h (_Safe_sequence_base()): Add
157 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
158 (~_Safe_sequence_base()): Add noexcept.
159 * include/debug/safe_sequence.h
160 (std::__debug::_Safe_node_sequence<>): New.
161 * include/debug/safe_unordered_base.h
162 (_Safe_unordered_container_base()): Add noexcept.
163 (~_Safe_unordered_container_base()): Likewise.
164 (_M_swap(_Safe_unordered_container_base&)): Likewise.
165 * include/debug/safe_unordered_container.h:
166 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
167 (_Safe_unordered_container<>::_M_invalidate_all()): New.
168 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
170 * testsuite/util/debug/checks.h (check_construct1): Just implement
171 an invalid constructor invocation and no other operations
172 potentially not supported by some types of container.
173 (check_construct2): Likewise.
174 (check_construct3): Likewise.
175 * testsuite/23_containers/forward_list/allocator/move.cc: Add
176 check on iterators to make sure they are correctly moved in debug
178 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
180 * testsuite/23_containers/map/allocator/move.cc: Likewise.
181 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
182 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
183 * testsuite/23_containers/multimap/allocator/move_assign.cc:
185 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
186 * testsuite/23_containers/multiset/allocator/move_assign.cc:
188 * testsuite/23_containers/set/allocator/move.cc: Likewise.
189 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
190 * testsuite/23_containers/unordered_map/allocator/move.cc:
192 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
194 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
196 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
198 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
200 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
202 * testsuite/23_containers/unordered_set/allocator/move.cc:
204 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
206 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
208 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
210 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
212 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
214 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
216 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
217 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
218 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
219 * testsuite/23_containers/map/debug/move_neg.cc: New.
220 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
221 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
222 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
223 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
224 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
225 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
226 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
227 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
228 * testsuite/23_containers/set/debug/move_neg.cc: New.
229 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
231 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
233 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
234 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
236 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
238 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
240 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
242 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
244 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
246 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
248 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
250 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
251 * testsuite/23_containers/vector/debug/move_neg.cc: New.
253 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
255 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
256 (CXXABI_1.3.9): Remove __float128 symbols.
258 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
261 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
262 function to handle both C++03 and C++11 _Rb_tree_node implementations.
263 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
264 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
266 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
269 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
270 Check the correct type in the static assertion.
271 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
273 2014-04-27 Tim Shen <timshen91@gmail.com>
275 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
276 Add _S_opcode_repeat support to distingush a loop from
277 _S_opcode_alternative.
278 * include/bits/regex_automaton.tcc (_State_base::_M_print,
279 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
280 _StateSeq<>::_M_clone): Likewise.
281 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
283 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
284 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
285 Uglify local variable __i.
286 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
287 Use size_t instead of int to compare with vector::size().
289 2014-04-27 Tim Shen <timshen91@gmail.com>
291 * include/bits/regex_executor.h: Add _M_rep_count to track how
292 many times this repeat node are visited.
293 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
294 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
297 2014-04-27 Tim Shen <timshen91@gmail.com>
299 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
300 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
301 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
302 * include/bits/regex_automaton.h: Remove quantifier counting variable.
303 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
304 Adjust debug NFA dump.
306 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
309 * include/experimental/optional (operator!=): Implement in terms of
311 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
312 * testsuite/experimental/optional/relops/2.cc: Likewise.
313 * testsuite/experimental/optional/relops/3.cc: Likewise.
314 * testsuite/experimental/optional/relops/4.cc: Likewise.
315 * testsuite/experimental/optional/relops/5.cc: Likewise.
316 * testsuite/experimental/optional/relops/6.cc: Likewise.
318 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
321 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
322 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
325 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
327 * testsuite/util/testsuite_abi.cc (check_version): Update for
330 2014-04-24 Tim Shen <timshen91@gmail.com>
332 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
333 Do _M_alt before _M_next.
334 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
336 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
339 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
340 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
341 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
343 2014-04-24 Andreas Schwab <schwab@suse.de>
345 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
346 new CXXABI_1.3.9 symbols.
348 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
350 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
351 (CXXABI_1.3.9): New version.
353 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
356 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
357 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
358 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
360 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
362 * configure.host: Remove solaris2.9 handling.
363 Change os_include_dir to os/solaris/solaris2.10.
364 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
365 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
366 * configure: Regenerate.
367 * config/abi/post/solaris2.9: Remove.
368 * config/os/solaris/solaris2.9: Rename to ...
369 * config/os/solaris/solaris2.10: ... this.
370 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
373 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
374 Remove Solaris 9 reference.
375 * doc/html/manual/configure.html: Regenerate.
377 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
378 Remove *-*-solaris2.9 xfail.
379 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
382 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
385 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
387 * include/std/functional (__is_location_invariant): Use __or_ helper.
389 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
392 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
395 * include/std/atomic (atomic<_Tp>): Add static assertion.
396 * testsuite/29_atomics/atomic/60695.cc: New.
399 * include/std/functional (function::_Callable): Exclude own type
400 from the callable checks.
401 * testsuite/20_util/function/60594.cc: New.
403 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
404 const to constexpr member functions.
406 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
407 delegating constructor.
408 * include/bits/shared_ptr_base.h
409 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
411 * include/std/atomic: Uglify parameter names.
414 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
415 1.cc: Fix invalid explicit instantiations with unqualified names.
416 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
418 * testsuite/20_util/tuple/53648.cc: Likweise.
419 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
421 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
423 * testsuite/23_containers/unordered_map/requirements/
424 debug_container.cc: Likewise.
425 * testsuite/23_containers/unordered_map/requirements/
426 explicit_instantiation/3.cc: Likewise.
427 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
429 * testsuite/23_containers/unordered_multimap/requirements/
430 explicit_instantiation/3.cc: Likewise.
431 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
433 * testsuite/23_containers/unordered_multiset/requirements/
434 explicit_instantiation/3.cc: Likewise.
435 * testsuite/23_containers/unordered_set/requirements/
436 debug_container.cc: Likewise.
437 * testsuite/23_containers/unordered_set/requirements/
438 explicit_instantiation/3.cc: Likewise.
440 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
441 not use uninitialized members in mem-initializers.
442 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
443 * testsuite/util/testsuite_common_types.h: Update comment.
445 * include/experimental/string_view: Fix inconsistent exception specs.
447 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
448 Remove name of unused parameter.
450 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
452 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
453 _Vector_base::_M_allocate): NullablePointer requirements do not
454 include initialization from literal zero, use value-initialization.
455 * include/bits/vector.tcc (vector::_M_insert_aux,
456 vector::_M_explace_back_aux): Likewise for assignment.
458 * include/bits/allocator.h (operator==, operator!=): Add exception
462 * include/std/tuple (get): Qualify calls to prevent ADL.
463 * testsuite/20_util/tuple/60497.cc: New.
465 * include/std/tuple (tuple_element_t): Define.
466 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
468 * testsuite/20_util/tuple/tuple_element_t.cc: New.
470 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
473 * include/bits/stl_iterator.h (move_iterator::reference,
474 move_iterator::operator*): Implement LWG 2106.
475 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
477 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
479 * include/std/complex (__complex_exp, pow): Specify the template
480 parameter in calls to std::polar, for expression templates.
482 2014-04-10 Andreas Schwab <schwab@suse.de>
484 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
486 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
487 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
489 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
491 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
493 * testsuite/20_util/exchange/1.cc: Add missing return statements.
494 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
495 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
498 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
499 Jack Howarth <howarth@bromo.med.uc.edu>
502 * testsuite/30_threads/condition_variable/54185.cc: Skip for
505 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
507 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
509 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
511 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
512 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
513 * doc/xml/manual/concurrency_extensions.xml
514 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
515 * doc/html/*: Regenerate.
517 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
518 Jonathan Wakely <jwakely@redhat.com>
521 * include/std/iomanip (_Quoted_string operator>>): Do not clear
522 string if input is not quoted.
523 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
525 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
527 * libsupc++/eh_ptr.cc: Improve static_assert messages.
529 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
531 * testsuite/18_support/exception_ptr/60612-terminate.cc
532 (terminate, f): Wrap in _GLIBCXX_USE_C99.
533 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
535 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
537 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
539 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
540 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
542 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
544 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
546 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
547 Fix bad s/part/chapter/ substitutions.
548 * doc/xml/manual/io.xml (std.io): Likewise.
549 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
550 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
552 * doc/html/*: Regenerate.
554 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
557 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
558 compatible with __cxa_exception.
559 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
560 Fix typos in comments.
561 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
562 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
564 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
567 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
568 Use sizeof pointer type not the element type.
569 * testsuite/29_atomics/atomic/60658.cc: New.
571 2014-03-24 Jakub Jelinek <jakub@redhat.com>
573 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
574 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
575 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
576 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
577 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
578 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
579 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
580 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
581 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
582 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
585 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
587 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
589 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
591 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
592 to delegated constructor.
593 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
594 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
597 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
599 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
602 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
604 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
607 * include/debug/functions.h (_Is_contiguous_sequence): Define.
608 (__foreign_iterator): Accept additional iterator. Do not dispatch on
610 (__foreign_iterator_aux2): Likewise. Add overload for iterators
611 from different types of debug container. Use _Is_contiguous_sequence
612 instead of is_lvalue_reference.
613 (__foreign_iterator_aux3): Accept additional iterator. Avoid
614 dereferencing past-the-end iterator.
615 (__foreign_iterator_aux4): Use const value_type* instead of
616 potentially user-defined const_pointer type.
617 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
618 and pass end iterator to __gnu_debug::__foreign_iterator.
619 (__glibcxx_check_insert_range_after): Likewise.
620 (__glibcxx_check_max_load_factor): Fix comment.
621 * include/debug/vector (_Is_contiguous_sequence): Define partial
623 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
624 -std=gnu++11 option and unused header.
625 * testsuite/23_containers/vector/debug/60587.cc: New.
626 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
628 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
630 * crossconfig.m4: Support spu-*-elf* targets.
631 * configure: Regenerate.
633 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
636 * include/std/future (__future_base::_Task_state<>): Change
637 constructors to template functions using perfect forwarding.
638 (__create_task_state): Use decayed type as stored task.
639 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
640 * testsuite/30_threads/packaged_task/60564.cc: New.
642 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
644 * scripts/create_testsuite_files: Add testsuite/experimental in
645 the list of folders to search for tests.
647 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
649 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
651 2014-03-15 Tim Shen <timshen91@gmail.com>
653 * include/bits/regex.h: Add/modify comments.
654 * include/bits/regex_compiler.h: Likewise.
655 * include/bits/regex_executor.h: Likewise.
656 * include/bits/regex_executor.tcc: Likewise.
657 * include/bits/regex_scanner.h: Likewise.
659 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
662 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
663 _ZNSt12system_errorC* symbols which are not exported on any target.
665 2014-03-12 Roland McGrath <mcgrathr@google.com>
666 Mark Seaborn <mseaborn@google.com>
669 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
670 the address of a null pointer, not with a null pointer to pointer.
671 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
672 * testsuite/18_support/bad_exception/59392.cc: New file.
674 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
677 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
679 * include/debug/map (map::operator=(map&&)): Likewise.
680 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
681 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
682 * include/debug/set (set::operator=(set&&)): Likewise.
683 * include/debug/unordered_map
684 (unordered_map::operator=(unordered_map&&)): Likewise.
685 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
686 * include/debug/unordered_set
687 (unordered_set::operator=(unordered_set&&)): Likewise.
688 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
689 * include/debug/vector (vector::operator=(vector&&)): Likewise.
690 * testsuite/23_containers/forward_list/debug/60499.cc: New
691 * testsuite/23_containers/map/debug/60499.cc: New
692 * testsuite/23_containers/multimap/debug/60499.cc: New
693 * testsuite/23_containers/multiset/debug/60499.cc: New
694 * testsuite/23_containers/set/debug/60499.cc: New
695 * testsuite/23_containers/unordered_map/debug/60499.cc: New
696 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
697 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
698 * testsuite/23_containers/unordered_set/debug/60499.cc: New
699 * testsuite/23_containers/vector/debug/60499.cc: New
701 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
703 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
704 for filesystem and fundamentals TS work items.
706 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
709 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
710 Adjust dg-error directives.
712 2014-02-26 Tim Shen <timshen91@gmail.com>
714 * include/bits/regex.tcc (match_results<>::format,
715 regex_replace<>): Update __out after calling std::copy.
716 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
718 * testsuite/28_regex/match_results/format.cc: Likewise.
720 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
723 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
724 allocator_type&)): Remove redundant call to _M_initialize_map.
725 (deque::deque(const allocator_type&)): Initialize _Base with a
726 constructor that calls _M_initialize_map.
730 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
732 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
735 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
737 Rename testsuite directory shared_mutex to shared_timed_mutex
739 * testsuite/30_threads/shared_mutex: Moved to...
740 * testsuite/30_threads/shared_timed_mutex: ...here
742 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
744 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
745 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
746 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
747 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
748 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
749 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
750 * testsuite/30_threads/shared_lock/requirements/
751 explicit_instantiation.cc: Ditto.
752 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
753 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
754 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
755 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
756 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
757 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
758 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
759 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
760 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
761 * testsuite/30_threads/shared_mutex/requirements/
762 standard_layout.cc: Ditto.
763 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
764 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
765 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
766 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
767 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
769 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
771 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
772 execution on i?86-*-solaris2.9, remove comment.
773 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
775 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
777 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
778 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
779 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
781 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
783 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
784 not use varargs when argument could be non-POD.
785 (__alloctr_rebind_helper): Eliminate static const bool member by
786 using true_type and false_type.
787 (allocator_traits::__allocate_helper): Likewise.
788 (allocator_traits::__construct_helper): Likewise.
789 (allocator_traits::__destroy_helper): Likewise.
790 (allocator_traits::__maxsize_helper): Likewise.
791 (allocator_traits::__select_helper): Likewise.
792 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
793 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
794 Remove redundant condition.
795 * include/bits/stl_vector.h (vector::operator=(const vector&)):
797 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
798 indirection through __alloc_traits.
799 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
800 Eliminate static const bool members by using true_type and false_type.
801 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
802 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
803 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
805 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
808 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
809 (vector::_M_data_ptr): New overloaded functions to ensure empty
810 vectors do not dereference the pointer.
811 * testsuite/23_containers/vector/59829.cc: New.
812 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
813 Adjust dg-error line number.
814 * testsuite/23_containers/vector/requirements/dr438/
815 constructor_1_neg.cc: Likewise.
816 * testsuite/23_containers/vector/requirements/dr438/
817 constructor_2_neg.cc: Likewise.
818 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
822 * include/ext/array_allocator.h: Add deprecated attribute.
825 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
826 installation and use of python printers.
827 * doc/xml/manual/status_cxx2011.xml: Update.
828 * doc/html/*: Regenerate.
830 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
831 Kyle Lippincott <spectral@google.com>
834 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
835 constructor and grant friendship to weak_ptr.
836 (weak_ptr::lock()): Use new constructor.
837 * include/bits/shared_ptr_base.h
838 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
839 and define specializations.
840 (__shared_count): Add new non-throwing constructor.
841 (__shared_ptr): Add new non-throwing constructor and grant friendship
843 (__weak_ptr::lock()): Use new constructor.
844 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
845 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
847 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
850 * include/bits/shared_ptr_base.h
851 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
854 2014-01-27 Jason Merrill <jason@redhat.com>
859 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
860 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
861 (__cxa_allocate_exception): Don't set it here.
863 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
865 * include/bits/stl_map.h: Remove anachronistic comment.
866 * include/bits/stl_multimap.h: Add whitespace.
867 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
868 -std=gnu++11 instead of -std=c++11.
869 * testsuite/23_containers/map/operators/2.cc: Likewise.
870 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
871 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
872 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
874 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
875 * configure: Regenerate.
877 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
880 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
881 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
883 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
884 Peter A. Bigot <pab@pabigot.com>
887 * include/experimental/string_view
888 (copy(_CharT*, size_type, size_type) const): Correct throw string.
889 Correct copy start location.
891 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
892 Peter A. Bigot <pab@pabigot.com>
895 * include/experimental/string_view (operator[](size_type) const):
896 Fix one-off index error in debug check.
897 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
898 test basic_string_view at size().
899 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
901 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
902 Peter A. Bigot <pab@pabigot.com>
905 * include/experimental/string_view
906 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
907 * testsuite/experimental/string_view/operations/substr/char/1.cc:
908 Comment out catch of out_of_range; No terminating null
909 in basic_string_view. Check begin == end.
910 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
913 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
916 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
917 constructor to prevent it being implicitly defined as deleted, but
918 do not copy anything.
919 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
920 Define copy and move constructors similar to _Safe_sequence_base's.
921 * testsuite/23_containers/unordered_map/59548.cc: New.
923 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
924 Steve Ellcey <sellcey@mips.com>
926 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
928 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
929 * (configure, config.h.in): Regenerate.
930 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
932 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
934 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
935 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
938 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
939 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
941 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
943 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
944 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
945 functions to perform moving or copying of elements from rvalue tree.
946 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
947 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
948 * testsuite/23_containers/map/59872.cc: New.
949 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
951 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
953 * include/bits/stl_deque.h (_Deque_impl): Move comment.
956 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
957 Split into separate default constructor and constructor taking
959 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
960 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
962 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
963 * include/debug/list (list::list(const _Allocator&)): Likewise.
964 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
966 * include/debug/multimap.h
967 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
968 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
970 * include/debug/multiset.h
971 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
972 * include/debug/vector (vector::vector(const allocator_type&)):
974 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
975 * include/profile/list (list::list(const _Allocator&)): Likewise.
976 * include/profile/map.h
977 (map::map(const _Compare&, const _Allocator&)): Likewise.
978 * include/profile/multimap.h
979 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
980 * include/profile/set.h
981 (set::set(const _Compare&, const _Allocator&)): Likewise.
982 * include/profile/multiset.h
983 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
984 * include/profile/vector (vector::vector(const _Allocator&)):
986 * testsuite/23_containers/deque/58764.cc: New.
987 * testsuite/23_containers/list/58764.cc: New.
988 * testsuite/23_containers/map/58764.cc: New.
989 * testsuite/23_containers/multimap/58764.cc: New.
990 * testsuite/23_containers/set/58764.cc: New.
991 * testsuite/23_containers/multiset/58764.cc: New.
992 * testsuite/23_containers/vector/58764.cc: New.
993 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
994 Adjust dg-error line number.
995 * testsuite/23_containers/deque/requirements/dr438/
996 constructor_1_neg.cc: Likewise.
997 * testsuite/23_containers/deque/requirements/dr438/
998 constructor_2_neg.cc: Likewise.
999 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1001 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1003 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1005 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1007 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1009 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1011 * testsuite/23_containers/vector/requirements/dr438/
1012 constructor_1_neg.cc: Likewise.
1013 * testsuite/23_containers/vector/requirements/dr438/
1014 constructor_2_neg.cc: Likewise.
1015 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1018 PR libstdc++/58764 (again)
1019 * include/bits/stl_list.h (list): Make default constructor's exception
1020 specification conditional.
1021 * include/bits/stl_vector.h (vector): Likewise.
1022 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1023 to default constructor.
1024 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1025 Adjust dg-error line number.
1026 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1028 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1030 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1032 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1034 * testsuite/23_containers/vector/requirements/dr438/
1035 constructor_1_neg.cc: Likewise.
1036 * testsuite/23_containers/vector/requirements/dr438/
1037 constructor_2_neg.cc: Likewise.
1038 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1041 2014-01-21 Tim Shen <timshen91@gmail.com>
1043 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1044 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1045 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1047 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1050 * include/bits/hashtable.h (__cache_default): Do not depend on
1051 whether the hash function is DefaultConstructible or CopyAssignable.
1052 (_Hashtable): Adjust static assertions.
1053 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1054 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1055 dg-error line number.
1056 * testsuite/23_containers/unordered_set/
1057 not_default_constructible_hash_neg.cc: Remove.
1059 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1061 * scripts/create_testsuite_files: Add testsuite/experimental in
1062 the list of folders to search for tests.
1063 * include/experimental/string_view
1064 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1065 incompatible with constexpr qualifier.
1066 (basic_string_view<>::front()): Likewise.
1067 (basic_string_view<>::back()): Likewise.
1068 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1069 Merge dg-options directives into one.
1070 * testsuite/experimental/string_view/element_access/char/2.cc:
1071 Likewise. Remove invalid experimental namespace scope on
1074 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1077 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1078 friendship to _Local_iterator_base<..., false>.
1079 (_Local_iterator_base): Give protected access to all existing members.
1080 (_Local_iterator_base::_M_curr()): New public accessor.
1081 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1082 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1083 the lifetime of the _Hash_code_base explicitly.
1084 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1085 (_Local_iterator_base<..., false>): Define copy constructor and copy
1086 assignment operator that use new functions to manage _Hash_code_base.
1087 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1088 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1089 Use public API for _Local_iterator_base.
1090 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1091 * include/debug/unordered_map (__debug::unordered_map::erase(),
1092 __debug::unordered_multimap::erase()): Likewise.
1093 * include/debug/unordered_set (__debug::unordered_set::erase(),
1094 __debug::unordered_multiset::erase()): Likewise.
1095 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1097 2014-01-19 Tim Shen <timshen91@gmail.com>
1099 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1100 Fix parse error of multiple consecutive quantifiers like "a**".
1101 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1103 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1105 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1107 * include/profile/set.h (set): Implement C++11 allocator-aware
1108 container requirements.
1109 * include/profile/map.h (map): Likewise.
1110 * include/profile/multiset.h (multiset): Likewise.
1111 * include/profile/multimap.h (multimap): Likewise.
1112 * include/profile/set.h
1113 (set::operator=(const set&)): Define as default in C++11 mode.
1114 (set::operator=(set&&)): Likewise.
1115 * include/profile/map.h
1116 (map::operator=(const map&)): Likewise.
1117 (map::operator=(map&&)): Likewise.
1118 * include/profile/multiset.h
1119 (multiset::operator=(const multiset&)): Likewise.
1120 (multiset::operator=(multiset&&)): Likewise.
1121 * include/profile/multimap.h
1122 (multimap::operator=(const multimap&)): Likewise.
1123 (multimap::operator=(multimap&&)): Likewise.
1124 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1125 Rely on the same operator from normal mode.
1126 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1128 * include/profile/multiset.h
1129 (multiset::operator=(std::initializer_list<>)): Likewise.
1130 * include/profile/multimap.h
1131 (multimap::operator=(std::initializer_list<>)): Likewise.
1132 * include/profile/set.h (set::swap(set&)): Add noexcept
1134 * include/profile/map.h (map::swap(map&)): Likewise.
1135 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1136 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1138 2014-01-17 Tim Shen <timshen91@gmail.com>
1140 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1142 * include/bits/regex_automaton.h: Do not use std::set.
1143 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1144 _BracketMatcher<>::_M_add_collating_element(),
1145 _BracketMatcher<>::_M_add_equivalence_class(),
1146 _BracketMatcher<>::_M_make_range()): Likewise.
1147 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1149 * include/bits/regex_executor.h: Do not use std::queue.
1150 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1151 _Executor<>::_M_dfs()): Likewise.
1152 * include/std/regex: Remove <map>, <set> and <queue>.
1154 2014-01-17 Tim Shen <timshen91@gmail.com>
1156 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1157 basic_regex<>::assign()): Change __compile_nfa to accept
1159 * include/bits/regex_compiler.h: Change _Compiler's template
1160 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1161 * include/bits/regex_compiler.tcc: Likewise.
1163 2014-01-17 Tim Shen <timshen91@gmail.com>
1165 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1167 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1168 _ScannerBase from _Scanner; Change _Scanner's template argument from
1169 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1171 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1172 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1173 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1175 * include/std/regex: Add <cstring> for using strchr.
1177 2014-01-17 Tim Shen <timshen91@gmail.com>
1179 * bits/regex_automaton.tcc: Indentation fix.
1180 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1181 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1182 _BracketMatcher<>): Add bool option template parameters and
1183 specializations to make matching more efficient and space saving.
1184 * bits/regex_compiler.tcc: Likewise.
1186 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1189 * include/bits/hashtable_policy.h: Fix some long lines.
1190 * include/bits/hashtable.h (__hash_code_base_access): Define and
1191 use it to check its _M_bucket_index noexcept qualification. Use
1193 (__access_protected_ctor): ...this.
1194 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1196 * testsuite/23_containers/unordered_set/
1197 not_default_constructible_hash_neg.cc: Likewise.
1199 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1201 * include/debug/set.h (set): Implement C++11 allocator-aware
1202 container requirements.
1203 * include/debug/map.h (map): Likewise.
1204 * include/debug/multiset.h (multiset): Likewise.
1205 * include/debug/multimap.h (multimap): Likewise.
1206 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1207 fix implementation regarding management of safe iterators.
1208 * include/debug/map.h (map::operator=(map&&)): Likewise.
1209 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1210 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1212 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1213 Rely on the same operator from normal mode.
1214 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1216 * include/debug/multiset.h
1217 (multiset::operator=(std::initializer_list<>)): Likewise.
1218 * include/debug/multimap.h
1219 (multimap::operator=(std::initializer_list<>)): Likewise.
1220 * include/debug/set.h (set::swap(set&)): Add noexcept
1221 specification, add allocator equality check.
1222 * include/debug/map.h (map::swap(map&)): Likewise.
1223 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1224 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1226 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1229 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1230 and stylistic improvements.
1231 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1232 and update for C++11.
1233 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1236 * doc/xml/manual/backwards_compatibility.xml
1237 (backwards.third.nocreate_noreplace): Correct and expand.
1240 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1242 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1245 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1246 support for non-Movable types.
1249 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1251 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1253 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1254 *this allocator instance when building temporary vector instance
1255 so that *this allocator does not get moved.
1256 * include/debug/safe_base.h
1257 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1258 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1259 move constructor from _Safe_sequence_base.
1260 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1261 safe iterators if the instance is moved.
1262 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1263 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1264 check on a vector iterator.
1265 * testsuite/23_containers/vector/allocator/move_assign.cc
1267 (test03): New, test with a non-propagating allocator.
1268 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1270 2014-01-07 Tim Shen <timshen91@gmail.com>
1272 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1273 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1274 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1275 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1276 _BracketMatcher<>::_M_add_char(),
1277 _BracketMatcher<>::_M_add_collating_element(),
1278 _BracketMatcher<>::_M_add_equivalence_class(),
1279 _BracketMatcher<>::_M_add_character_class(),
1280 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1281 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1282 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1283 to template parameter; Add cache for _BracketMatcher. Adjust
1284 declarations from here...
1285 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1286 imbuing a regex will trigger a recompilation to rebuild the cache.
1287 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1288 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1289 different template bool parameters.
1290 * include/bits/regex_executor.h: Remove unnecessary declarations.
1291 * include/std/regex: Adjust including orders.
1292 * testsuite/28_regex/traits/char/user_defined.cc: New.
1293 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1295 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1297 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1298 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1299 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1300 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1301 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1303 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1305 Update copyright years
1307 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1309 * testsuite/18_support/new_handler.cc,
1310 testsuite/18_support/terminate_handler.cc,
1311 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1312 the copyright notice.
1314 Copyright (C) 2014 Free Software Foundation, Inc.
1316 Copying and distribution of this file, with or without modification,
1317 are permitted in any medium without royalty provided the copyright
1318 notice and this notice are preserved.