1 2014-05-08 Joshua Gay <jgay@gnu.org>
4 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
5 source" with "free software".
6 * doc/html/faq.html: Likewise.
8 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
11 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
13 (operator=(const ios_base&)): Likewise.
14 * include/std/streambuf: Remove trailing whitespace.
15 (basic_streambuf(const basic_streambuf&)): Fix initializer for
16 _M_out_end. Define as defaulted for C++11.
17 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
18 (swap(basic_streambuf&)): Define for C++11.
19 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
22 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
24 * include/std/iostream: Fix URL in comment.
25 * src/c++98/ios_init.cc: Fix path in comment.
27 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
29 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
30 * configure: Regenerate.
32 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
35 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
37 * testsuite/23_containers/set/cons/61023.cc: New.
40 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
42 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
43 arithmetic to obtain a mutable iterator from const_iterator.
44 * include/bits/vector.tcc (vector::insert): Likewise.
45 * include/debug/vector (vector::erase): Likewise.
46 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
47 Adjust dg-error line number.
48 * testsuite/23_containers/vector/requirements/dr438/
49 constructor_1_neg.cc: Likewise.
50 * testsuite/23_containers/vector/requirements/dr438/
51 constructor_2_neg.cc: Likewise.
52 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
55 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
57 * include/Makefile.in: Regenerate.
59 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
61 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
62 parameter to pass the 2 instances to check allocator equality.
63 * include/debug/safe_container.h: New, define _Safe_container<>.
64 * include/Makefile.am: Add previous.
65 * include/debug/deque (std::__debug::deque<>): Inherit
66 _Safe_container<>. Use default implementation for all special
68 * include/debug/forward_list (std::__debug::forward_list<>):
70 * include/debug/list (std::__debug::list<>): Likewise.
71 * include/debug/map.h (std::__debug::map<>): Likewise.
72 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
73 * include/debug/set.h (std::__debug::set<>): Likewise.
74 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
75 * include/debug/string (std::__debug::basic_string<>): Likewise.
76 * include/debug/unordered_map
77 (std::__debug::unordered_map<>): Likewise.
78 (std::__debug::unordered_multimap<>): Likewise.
79 * include/debug/unordered_set
80 (std::__debug::unordered_set<>): Likewise.
81 (std::__debug::unordered_multiset<>): Likewise.
82 * include/debug/vector (std::__debug::vector<>): Likewise.
83 * include/debug/safe_base.h (_Safe_sequence_base()): Add
85 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
86 (~_Safe_sequence_base()): Add noexcept.
87 * include/debug/safe_sequence.h
88 (std::__debug::_Safe_node_sequence<>): New.
89 * include/debug/safe_unordered_base.h
90 (_Safe_unordered_container_base()): Add noexcept.
91 (~_Safe_unordered_container_base()): Likewise.
92 (_M_swap(_Safe_unordered_container_base&)): Likewise.
93 * include/debug/safe_unordered_container.h:
94 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
95 (_Safe_unordered_container<>::_M_invalidate_all()): New.
96 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
98 * testsuite/util/debug/checks.h (check_construct1): Just implement
99 an invalid constructor invocation and no other operations
100 potentially not supported by some types of container.
101 (check_construct2): Likewise.
102 (check_construct3): Likewise.
103 * testsuite/23_containers/forward_list/allocator/move.cc: Add
104 check on iterators to make sure they are correctly moved in debug
106 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
108 * testsuite/23_containers/map/allocator/move.cc: Likewise.
109 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
110 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
111 * testsuite/23_containers/multimap/allocator/move_assign.cc:
113 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
114 * testsuite/23_containers/multiset/allocator/move_assign.cc:
116 * testsuite/23_containers/set/allocator/move.cc: Likewise.
117 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
118 * testsuite/23_containers/unordered_map/allocator/move.cc:
120 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
122 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
124 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
126 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
128 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
130 * testsuite/23_containers/unordered_set/allocator/move.cc:
132 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
134 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
136 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
138 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
140 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
142 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
144 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
145 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
146 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
147 * testsuite/23_containers/map/debug/move_neg.cc: New.
148 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
149 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
150 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
151 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
152 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
153 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
154 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
155 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
156 * testsuite/23_containers/set/debug/move_neg.cc: New.
157 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
159 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
161 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
162 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
164 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
166 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
168 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
170 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
172 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
174 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
176 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
178 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
179 * testsuite/23_containers/vector/debug/move_neg.cc: New.
181 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
183 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
184 (CXXABI_1.3.9): Remove __float128 symbols.
186 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
189 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
190 function to handle both C++03 and C++11 _Rb_tree_node implementations.
191 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
192 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
194 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
197 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
198 Check the correct type in the static assertion.
199 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
201 2014-04-27 Tim Shen <timshen91@gmail.com>
203 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
204 Add _S_opcode_repeat support to distingush a loop from
205 _S_opcode_alternative.
206 * include/bits/regex_automaton.tcc (_State_base::_M_print,
207 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
208 _StateSeq<>::_M_clone): Likewise.
209 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
211 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
212 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
213 Uglify local variable __i.
214 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
215 Use size_t instead of int to compare with vector::size().
217 2014-04-27 Tim Shen <timshen91@gmail.com>
219 * include/bits/regex_executor.h: Add _M_rep_count to track how
220 many times this repeat node are visited.
221 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
222 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
225 2014-04-27 Tim Shen <timshen91@gmail.com>
227 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
228 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
229 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
230 * include/bits/regex_automaton.h: Remove quantifier counting variable.
231 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
232 Adjust debug NFA dump.
234 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
237 * include/experimental/optional (operator!=): Implement in terms of
239 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
240 * testsuite/experimental/optional/relops/2.cc: Likewise.
241 * testsuite/experimental/optional/relops/3.cc: Likewise.
242 * testsuite/experimental/optional/relops/4.cc: Likewise.
243 * testsuite/experimental/optional/relops/5.cc: Likewise.
244 * testsuite/experimental/optional/relops/6.cc: Likewise.
246 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
249 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
250 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
253 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
255 * testsuite/util/testsuite_abi.cc (check_version): Update for
258 2014-04-24 Tim Shen <timshen91@gmail.com>
260 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
261 Do _M_alt before _M_next.
262 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
264 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
267 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
268 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
269 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
271 2014-04-24 Andreas Schwab <schwab@suse.de>
273 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
274 new CXXABI_1.3.9 symbols.
276 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
278 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
279 (CXXABI_1.3.9): New version.
281 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
284 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
285 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
286 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
288 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
290 * configure.host: Remove solaris2.9 handling.
291 Change os_include_dir to os/solaris/solaris2.10.
292 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
293 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
294 * configure: Regenerate.
295 * config/abi/post/solaris2.9: Remove.
296 * config/os/solaris/solaris2.9: Rename to ...
297 * config/os/solaris/solaris2.10: ... this.
298 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
301 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
302 Remove Solaris 9 reference.
303 * doc/html/manual/configure.html: Regenerate.
305 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
306 Remove *-*-solaris2.9 xfail.
307 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
310 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
313 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
315 * include/std/functional (__is_location_invariant): Use __or_ helper.
317 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
320 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
323 * include/std/atomic (atomic<_Tp>): Add static assertion.
324 * testsuite/29_atomics/atomic/60695.cc: New.
327 * include/std/functional (function::_Callable): Exclude own type
328 from the callable checks.
329 * testsuite/20_util/function/60594.cc: New.
331 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
332 const to constexpr member functions.
334 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
335 delegating constructor.
336 * include/bits/shared_ptr_base.h
337 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
339 * include/std/atomic: Uglify parameter names.
342 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
343 1.cc: Fix invalid explicit instantiations with unqualified names.
344 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
346 * testsuite/20_util/tuple/53648.cc: Likweise.
347 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
349 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
351 * testsuite/23_containers/unordered_map/requirements/
352 debug_container.cc: Likewise.
353 * testsuite/23_containers/unordered_map/requirements/
354 explicit_instantiation/3.cc: Likewise.
355 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
357 * testsuite/23_containers/unordered_multimap/requirements/
358 explicit_instantiation/3.cc: Likewise.
359 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
361 * testsuite/23_containers/unordered_multiset/requirements/
362 explicit_instantiation/3.cc: Likewise.
363 * testsuite/23_containers/unordered_set/requirements/
364 debug_container.cc: Likewise.
365 * testsuite/23_containers/unordered_set/requirements/
366 explicit_instantiation/3.cc: Likewise.
368 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
369 not use uninitialized members in mem-initializers.
370 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
371 * testsuite/util/testsuite_common_types.h: Update comment.
373 * include/experimental/string_view: Fix inconsistent exception specs.
375 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
376 Remove name of unused parameter.
378 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
380 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
381 _Vector_base::_M_allocate): NullablePointer requirements do not
382 include initialization from literal zero, use value-initialization.
383 * include/bits/vector.tcc (vector::_M_insert_aux,
384 vector::_M_explace_back_aux): Likewise for assignment.
386 * include/bits/allocator.h (operator==, operator!=): Add exception
390 * include/std/tuple (get): Qualify calls to prevent ADL.
391 * testsuite/20_util/tuple/60497.cc: New.
393 * include/std/tuple (tuple_element_t): Define.
394 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
396 * testsuite/20_util/tuple/tuple_element_t.cc: New.
398 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
401 * include/bits/stl_iterator.h (move_iterator::reference,
402 move_iterator::operator*): Implement LWG 2106.
403 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
405 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
407 * include/std/complex (__complex_exp, pow): Specify the template
408 parameter in calls to std::polar, for expression templates.
410 2014-04-10 Andreas Schwab <schwab@suse.de>
412 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
414 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
415 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
417 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
419 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
421 * testsuite/20_util/exchange/1.cc: Add missing return statements.
422 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
423 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
426 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
427 Jack Howarth <howarth@bromo.med.uc.edu>
430 * testsuite/30_threads/condition_variable/54185.cc: Skip for
433 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
435 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
437 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
439 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
440 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
441 * doc/xml/manual/concurrency_extensions.xml
442 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
443 * doc/html/*: Regenerate.
445 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
446 Jonathan Wakely <jwakely@redhat.com>
449 * include/std/iomanip (_Quoted_string operator>>): Do not clear
450 string if input is not quoted.
451 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
453 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
455 * libsupc++/eh_ptr.cc: Improve static_assert messages.
457 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
459 * testsuite/18_support/exception_ptr/60612-terminate.cc
460 (terminate, f): Wrap in _GLIBCXX_USE_C99.
461 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
463 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
465 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
467 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
468 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
470 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
472 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
474 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
475 Fix bad s/part/chapter/ substitutions.
476 * doc/xml/manual/io.xml (std.io): Likewise.
477 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
478 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
480 * doc/html/*: Regenerate.
482 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
485 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
486 compatible with __cxa_exception.
487 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
488 Fix typos in comments.
489 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
490 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
492 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
495 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
496 Use sizeof pointer type not the element type.
497 * testsuite/29_atomics/atomic/60658.cc: New.
499 2014-03-24 Jakub Jelinek <jakub@redhat.com>
501 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
502 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
503 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
504 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
505 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
506 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
507 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
508 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
509 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
510 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
513 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
515 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
517 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
519 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
520 to delegated constructor.
521 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
522 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
525 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
527 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
530 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
532 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
535 * include/debug/functions.h (_Is_contiguous_sequence): Define.
536 (__foreign_iterator): Accept additional iterator. Do not dispatch on
538 (__foreign_iterator_aux2): Likewise. Add overload for iterators
539 from different types of debug container. Use _Is_contiguous_sequence
540 instead of is_lvalue_reference.
541 (__foreign_iterator_aux3): Accept additional iterator. Avoid
542 dereferencing past-the-end iterator.
543 (__foreign_iterator_aux4): Use const value_type* instead of
544 potentially user-defined const_pointer type.
545 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
546 and pass end iterator to __gnu_debug::__foreign_iterator.
547 (__glibcxx_check_insert_range_after): Likewise.
548 (__glibcxx_check_max_load_factor): Fix comment.
549 * include/debug/vector (_Is_contiguous_sequence): Define partial
551 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
552 -std=gnu++11 option and unused header.
553 * testsuite/23_containers/vector/debug/60587.cc: New.
554 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
556 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
558 * crossconfig.m4: Support spu-*-elf* targets.
559 * configure: Regenerate.
561 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
564 * include/std/future (__future_base::_Task_state<>): Change
565 constructors to template functions using perfect forwarding.
566 (__create_task_state): Use decayed type as stored task.
567 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
568 * testsuite/30_threads/packaged_task/60564.cc: New.
570 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
572 * scripts/create_testsuite_files: Add testsuite/experimental in
573 the list of folders to search for tests.
575 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
577 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
579 2014-03-15 Tim Shen <timshen91@gmail.com>
581 * include/bits/regex.h: Add/modify comments.
582 * include/bits/regex_compiler.h: Likewise.
583 * include/bits/regex_executor.h: Likewise.
584 * include/bits/regex_executor.tcc: Likewise.
585 * include/bits/regex_scanner.h: Likewise.
587 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
590 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
591 _ZNSt12system_errorC* symbols which are not exported on any target.
593 2014-03-12 Roland McGrath <mcgrathr@google.com>
594 Mark Seaborn <mseaborn@google.com>
597 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
598 the address of a null pointer, not with a null pointer to pointer.
599 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
600 * testsuite/18_support/bad_exception/59392.cc: New file.
602 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
605 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
607 * include/debug/map (map::operator=(map&&)): Likewise.
608 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
609 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
610 * include/debug/set (set::operator=(set&&)): Likewise.
611 * include/debug/unordered_map
612 (unordered_map::operator=(unordered_map&&)): Likewise.
613 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
614 * include/debug/unordered_set
615 (unordered_set::operator=(unordered_set&&)): Likewise.
616 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
617 * include/debug/vector (vector::operator=(vector&&)): Likewise.
618 * testsuite/23_containers/forward_list/debug/60499.cc: New
619 * testsuite/23_containers/map/debug/60499.cc: New
620 * testsuite/23_containers/multimap/debug/60499.cc: New
621 * testsuite/23_containers/multiset/debug/60499.cc: New
622 * testsuite/23_containers/set/debug/60499.cc: New
623 * testsuite/23_containers/unordered_map/debug/60499.cc: New
624 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
625 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
626 * testsuite/23_containers/unordered_set/debug/60499.cc: New
627 * testsuite/23_containers/vector/debug/60499.cc: New
629 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
631 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
632 for filesystem and fundamentals TS work items.
634 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
637 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
638 Adjust dg-error directives.
640 2014-02-26 Tim Shen <timshen91@gmail.com>
642 * include/bits/regex.tcc (match_results<>::format,
643 regex_replace<>): Update __out after calling std::copy.
644 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
646 * testsuite/28_regex/match_results/format.cc: Likewise.
648 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
651 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
652 allocator_type&)): Remove redundant call to _M_initialize_map.
653 (deque::deque(const allocator_type&)): Initialize _Base with a
654 constructor that calls _M_initialize_map.
658 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
660 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
663 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
665 Rename testsuite directory shared_mutex to shared_timed_mutex
667 * testsuite/30_threads/shared_mutex: Moved to...
668 * testsuite/30_threads/shared_timed_mutex: ...here
670 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
672 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
673 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
674 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
675 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
676 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
677 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
678 * testsuite/30_threads/shared_lock/requirements/
679 explicit_instantiation.cc: Ditto.
680 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
681 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
682 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
683 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
684 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
685 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
686 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
687 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
688 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
689 * testsuite/30_threads/shared_mutex/requirements/
690 standard_layout.cc: Ditto.
691 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
692 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
693 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
694 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
695 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
697 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
699 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
700 execution on i?86-*-solaris2.9, remove comment.
701 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
703 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
705 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
706 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
707 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
709 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
711 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
712 not use varargs when argument could be non-POD.
713 (__alloctr_rebind_helper): Eliminate static const bool member by
714 using true_type and false_type.
715 (allocator_traits::__allocate_helper): Likewise.
716 (allocator_traits::__construct_helper): Likewise.
717 (allocator_traits::__destroy_helper): Likewise.
718 (allocator_traits::__maxsize_helper): Likewise.
719 (allocator_traits::__select_helper): Likewise.
720 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
721 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
722 Remove redundant condition.
723 * include/bits/stl_vector.h (vector::operator=(const vector&)):
725 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
726 indirection through __alloc_traits.
727 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
728 Eliminate static const bool members by using true_type and false_type.
729 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
730 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
731 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
733 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
736 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
737 (vector::_M_data_ptr): New overloaded functions to ensure empty
738 vectors do not dereference the pointer.
739 * testsuite/23_containers/vector/59829.cc: New.
740 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
741 Adjust dg-error line number.
742 * testsuite/23_containers/vector/requirements/dr438/
743 constructor_1_neg.cc: Likewise.
744 * testsuite/23_containers/vector/requirements/dr438/
745 constructor_2_neg.cc: Likewise.
746 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
750 * include/ext/array_allocator.h: Add deprecated attribute.
753 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
754 installation and use of python printers.
755 * doc/xml/manual/status_cxx2011.xml: Update.
756 * doc/html/*: Regenerate.
758 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
759 Kyle Lippincott <spectral@google.com>
762 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
763 constructor and grant friendship to weak_ptr.
764 (weak_ptr::lock()): Use new constructor.
765 * include/bits/shared_ptr_base.h
766 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
767 and define specializations.
768 (__shared_count): Add new non-throwing constructor.
769 (__shared_ptr): Add new non-throwing constructor and grant friendship
771 (__weak_ptr::lock()): Use new constructor.
772 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
773 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
775 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
778 * include/bits/shared_ptr_base.h
779 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
782 2014-01-27 Jason Merrill <jason@redhat.com>
787 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
788 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
789 (__cxa_allocate_exception): Don't set it here.
791 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
793 * include/bits/stl_map.h: Remove anachronistic comment.
794 * include/bits/stl_multimap.h: Add whitespace.
795 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
796 -std=gnu++11 instead of -std=c++11.
797 * testsuite/23_containers/map/operators/2.cc: Likewise.
798 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
799 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
800 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
802 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
803 * configure: Regenerate.
805 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
808 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
809 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
811 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
812 Peter A. Bigot <pab@pabigot.com>
815 * include/experimental/string_view
816 (copy(_CharT*, size_type, size_type) const): Correct throw string.
817 Correct copy start location.
819 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
820 Peter A. Bigot <pab@pabigot.com>
823 * include/experimental/string_view (operator[](size_type) const):
824 Fix one-off index error in debug check.
825 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
826 test basic_string_view at size().
827 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
829 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
830 Peter A. Bigot <pab@pabigot.com>
833 * include/experimental/string_view
834 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
835 * testsuite/experimental/string_view/operations/substr/char/1.cc:
836 Comment out catch of out_of_range; No terminating null
837 in basic_string_view. Check begin == end.
838 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
841 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
844 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
845 constructor to prevent it being implicitly defined as deleted, but
846 do not copy anything.
847 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
848 Define copy and move constructors similar to _Safe_sequence_base's.
849 * testsuite/23_containers/unordered_map/59548.cc: New.
851 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
852 Steve Ellcey <sellcey@mips.com>
854 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
856 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
857 * (configure, config.h.in): Regenerate.
858 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
860 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
862 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
863 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
866 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
867 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
869 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
871 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
872 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
873 functions to perform moving or copying of elements from rvalue tree.
874 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
875 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
876 * testsuite/23_containers/map/59872.cc: New.
877 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
879 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
881 * include/bits/stl_deque.h (_Deque_impl): Move comment.
884 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
885 Split into separate default constructor and constructor taking
887 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
888 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
890 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
891 * include/debug/list (list::list(const _Allocator&)): Likewise.
892 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
894 * include/debug/multimap.h
895 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
896 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
898 * include/debug/multiset.h
899 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
900 * include/debug/vector (vector::vector(const allocator_type&)):
902 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
903 * include/profile/list (list::list(const _Allocator&)): Likewise.
904 * include/profile/map.h
905 (map::map(const _Compare&, const _Allocator&)): Likewise.
906 * include/profile/multimap.h
907 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
908 * include/profile/set.h
909 (set::set(const _Compare&, const _Allocator&)): Likewise.
910 * include/profile/multiset.h
911 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
912 * include/profile/vector (vector::vector(const _Allocator&)):
914 * testsuite/23_containers/deque/58764.cc: New.
915 * testsuite/23_containers/list/58764.cc: New.
916 * testsuite/23_containers/map/58764.cc: New.
917 * testsuite/23_containers/multimap/58764.cc: New.
918 * testsuite/23_containers/set/58764.cc: New.
919 * testsuite/23_containers/multiset/58764.cc: New.
920 * testsuite/23_containers/vector/58764.cc: New.
921 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
922 Adjust dg-error line number.
923 * testsuite/23_containers/deque/requirements/dr438/
924 constructor_1_neg.cc: Likewise.
925 * testsuite/23_containers/deque/requirements/dr438/
926 constructor_2_neg.cc: Likewise.
927 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
929 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
931 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
933 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
935 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
937 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
939 * testsuite/23_containers/vector/requirements/dr438/
940 constructor_1_neg.cc: Likewise.
941 * testsuite/23_containers/vector/requirements/dr438/
942 constructor_2_neg.cc: Likewise.
943 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
946 PR libstdc++/58764 (again)
947 * include/bits/stl_list.h (list): Make default constructor's exception
948 specification conditional.
949 * include/bits/stl_vector.h (vector): Likewise.
950 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
951 to default constructor.
952 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
953 Adjust dg-error line number.
954 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
956 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
958 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
960 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
962 * testsuite/23_containers/vector/requirements/dr438/
963 constructor_1_neg.cc: Likewise.
964 * testsuite/23_containers/vector/requirements/dr438/
965 constructor_2_neg.cc: Likewise.
966 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
969 2014-01-21 Tim Shen <timshen91@gmail.com>
971 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
972 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
973 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
975 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
978 * include/bits/hashtable.h (__cache_default): Do not depend on
979 whether the hash function is DefaultConstructible or CopyAssignable.
980 (_Hashtable): Adjust static assertions.
981 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
982 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
983 dg-error line number.
984 * testsuite/23_containers/unordered_set/
985 not_default_constructible_hash_neg.cc: Remove.
987 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
989 * scripts/create_testsuite_files: Add testsuite/experimental in
990 the list of folders to search for tests.
991 * include/experimental/string_view
992 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
993 incompatible with constexpr qualifier.
994 (basic_string_view<>::front()): Likewise.
995 (basic_string_view<>::back()): Likewise.
996 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
997 Merge dg-options directives into one.
998 * testsuite/experimental/string_view/element_access/char/2.cc:
999 Likewise. Remove invalid experimental namespace scope on
1002 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1005 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1006 friendship to _Local_iterator_base<..., false>.
1007 (_Local_iterator_base): Give protected access to all existing members.
1008 (_Local_iterator_base::_M_curr()): New public accessor.
1009 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1010 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1011 the lifetime of the _Hash_code_base explicitly.
1012 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1013 (_Local_iterator_base<..., false>): Define copy constructor and copy
1014 assignment operator that use new functions to manage _Hash_code_base.
1015 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1016 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1017 Use public API for _Local_iterator_base.
1018 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1019 * include/debug/unordered_map (__debug::unordered_map::erase(),
1020 __debug::unordered_multimap::erase()): Likewise.
1021 * include/debug/unordered_set (__debug::unordered_set::erase(),
1022 __debug::unordered_multiset::erase()): Likewise.
1023 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1025 2014-01-19 Tim Shen <timshen91@gmail.com>
1027 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1028 Fix parse error of multiple consecutive quantifiers like "a**".
1029 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1031 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1033 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1035 * include/profile/set.h (set): Implement C++11 allocator-aware
1036 container requirements.
1037 * include/profile/map.h (map): Likewise.
1038 * include/profile/multiset.h (multiset): Likewise.
1039 * include/profile/multimap.h (multimap): Likewise.
1040 * include/profile/set.h
1041 (set::operator=(const set&)): Define as default in C++11 mode.
1042 (set::operator=(set&&)): Likewise.
1043 * include/profile/map.h
1044 (map::operator=(const map&)): Likewise.
1045 (map::operator=(map&&)): Likewise.
1046 * include/profile/multiset.h
1047 (multiset::operator=(const multiset&)): Likewise.
1048 (multiset::operator=(multiset&&)): Likewise.
1049 * include/profile/multimap.h
1050 (multimap::operator=(const multimap&)): Likewise.
1051 (multimap::operator=(multimap&&)): Likewise.
1052 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1053 Rely on the same operator from normal mode.
1054 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1056 * include/profile/multiset.h
1057 (multiset::operator=(std::initializer_list<>)): Likewise.
1058 * include/profile/multimap.h
1059 (multimap::operator=(std::initializer_list<>)): Likewise.
1060 * include/profile/set.h (set::swap(set&)): Add noexcept
1062 * include/profile/map.h (map::swap(map&)): Likewise.
1063 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1064 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1066 2014-01-17 Tim Shen <timshen91@gmail.com>
1068 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1070 * include/bits/regex_automaton.h: Do not use std::set.
1071 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1072 _BracketMatcher<>::_M_add_collating_element(),
1073 _BracketMatcher<>::_M_add_equivalence_class(),
1074 _BracketMatcher<>::_M_make_range()): Likewise.
1075 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1077 * include/bits/regex_executor.h: Do not use std::queue.
1078 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1079 _Executor<>::_M_dfs()): Likewise.
1080 * include/std/regex: Remove <map>, <set> and <queue>.
1082 2014-01-17 Tim Shen <timshen91@gmail.com>
1084 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1085 basic_regex<>::assign()): Change __compile_nfa to accept
1087 * include/bits/regex_compiler.h: Change _Compiler's template
1088 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1089 * include/bits/regex_compiler.tcc: Likewise.
1091 2014-01-17 Tim Shen <timshen91@gmail.com>
1093 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1095 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1096 _ScannerBase from _Scanner; Change _Scanner's template argument from
1097 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1099 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1100 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1101 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1103 * include/std/regex: Add <cstring> for using strchr.
1105 2014-01-17 Tim Shen <timshen91@gmail.com>
1107 * bits/regex_automaton.tcc: Indentation fix.
1108 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1109 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1110 _BracketMatcher<>): Add bool option template parameters and
1111 specializations to make matching more efficient and space saving.
1112 * bits/regex_compiler.tcc: Likewise.
1114 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1117 * include/bits/hashtable_policy.h: Fix some long lines.
1118 * include/bits/hashtable.h (__hash_code_base_access): Define and
1119 use it to check its _M_bucket_index noexcept qualification. Use
1121 (__access_protected_ctor): ...this.
1122 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1124 * testsuite/23_containers/unordered_set/
1125 not_default_constructible_hash_neg.cc: Likewise.
1127 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1129 * include/debug/set.h (set): Implement C++11 allocator-aware
1130 container requirements.
1131 * include/debug/map.h (map): Likewise.
1132 * include/debug/multiset.h (multiset): Likewise.
1133 * include/debug/multimap.h (multimap): Likewise.
1134 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1135 fix implementation regarding management of safe iterators.
1136 * include/debug/map.h (map::operator=(map&&)): Likewise.
1137 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1138 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1140 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1141 Rely on the same operator from normal mode.
1142 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1144 * include/debug/multiset.h
1145 (multiset::operator=(std::initializer_list<>)): Likewise.
1146 * include/debug/multimap.h
1147 (multimap::operator=(std::initializer_list<>)): Likewise.
1148 * include/debug/set.h (set::swap(set&)): Add noexcept
1149 specification, add allocator equality check.
1150 * include/debug/map.h (map::swap(map&)): Likewise.
1151 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1152 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1154 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1157 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1158 and stylistic improvements.
1159 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1160 and update for C++11.
1161 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1164 * doc/xml/manual/backwards_compatibility.xml
1165 (backwards.third.nocreate_noreplace): Correct and expand.
1168 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1170 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1173 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1174 support for non-Movable types.
1177 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1179 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1181 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1182 *this allocator instance when building temporary vector instance
1183 so that *this allocator does not get moved.
1184 * include/debug/safe_base.h
1185 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1186 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1187 move constructor from _Safe_sequence_base.
1188 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1189 safe iterators if the instance is moved.
1190 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1191 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1192 check on a vector iterator.
1193 * testsuite/23_containers/vector/allocator/move_assign.cc
1195 (test03): New, test with a non-propagating allocator.
1196 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1198 2014-01-07 Tim Shen <timshen91@gmail.com>
1200 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1201 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1202 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1203 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1204 _BracketMatcher<>::_M_add_char(),
1205 _BracketMatcher<>::_M_add_collating_element(),
1206 _BracketMatcher<>::_M_add_equivalence_class(),
1207 _BracketMatcher<>::_M_add_character_class(),
1208 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1209 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1210 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1211 to template parameter; Add cache for _BracketMatcher. Adjust
1212 declarations from here...
1213 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1214 imbuing a regex will trigger a recompilation to rebuild the cache.
1215 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1216 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1217 different template bool parameters.
1218 * include/bits/regex_executor.h: Remove unnecessary declarations.
1219 * include/std/regex: Adjust including orders.
1220 * testsuite/28_regex/traits/char/user_defined.cc: New.
1221 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1223 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1225 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1226 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1227 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1228 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1229 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1231 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1233 Update copyright years
1235 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1237 * testsuite/18_support/new_handler.cc,
1238 testsuite/18_support/terminate_handler.cc,
1239 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1240 the copyright notice.
1242 Copyright (C) 2014 Free Software Foundation, Inc.
1244 Copying and distribution of this file, with or without modification,
1245 are permitted in any medium without royalty provided the copyright
1246 notice and this notice are preserved.