1 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
3 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
4 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
5 * include/std/utility (tuple_size, tuple_element): Likewise.
6 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
7 Adjust dg-error line number.
9 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
11 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
12 (__tuple_element_t): Define.
13 (tuple_element): Use __tuple_element_t.
14 (__cv_tuple_size): Define.
15 (tuple_size<cv _Tp>): Use __cv_tuple_size.
16 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
17 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
18 (__tuple_compare): Remove size check, re-order parameters.
19 (operator==, operator<): Use static_assert to check requirements.
20 * include/std/functional (__volget): use __tuple_element_t.
21 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
22 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
24 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
27 * include/std/tuple (get, __tuple_compare): Qualify more calls to
28 prevent ADL. Cast comparison results to bool.
29 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
30 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
33 * include/debug/array (get): Qualify call to other get overload.
34 * include/profile/array (get): Likewise.
35 * include/std/array (get): Likewise.
36 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
37 * include/std/mutex (unique_lock, call_once): Use __addressof.
38 (__unlock_impl): Remove unused template.
39 (__try_to_lock): Declare inline.
40 (__try_lock_impl::__do_try_lock): Qualify function calls.
41 (lock): Avoid narrowing conversion.
42 * testsuite/20_util/bind/60497.cc: New.
43 * testsuite/23_containers/array/element_access/60497.cc: New.
44 * testsuite/30_threads/call_once/60497.cc: New.
45 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
47 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
49 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
50 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
51 * acinclude.m4 (libtool_VERSION): Bump.
52 * configure: Regenerate.
53 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
54 * testsuite/28_regex/regex_error/base.cc: New.
56 2014-05-08 Joshua Gay <jgay@gnu.org>
59 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
60 source" with "free software".
61 * doc/html/faq.html: Likewise.
63 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
66 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
68 (operator=(const ios_base&)): Likewise.
69 * include/std/streambuf: Remove trailing whitespace.
70 (basic_streambuf(const basic_streambuf&)): Fix initializer for
71 _M_out_end. Define as defaulted for C++11.
72 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
73 (swap(basic_streambuf&)): Define for C++11.
74 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
77 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
79 * include/std/iostream: Fix URL in comment.
80 * src/c++98/ios_init.cc: Fix path in comment.
82 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
84 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
85 * configure: Regenerate.
87 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
90 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
92 * testsuite/23_containers/set/cons/61023.cc: New.
95 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
97 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
98 arithmetic to obtain a mutable iterator from const_iterator.
99 * include/bits/vector.tcc (vector::insert): Likewise.
100 * include/debug/vector (vector::erase): Likewise.
101 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
102 Adjust dg-error line number.
103 * testsuite/23_containers/vector/requirements/dr438/
104 constructor_1_neg.cc: Likewise.
105 * testsuite/23_containers/vector/requirements/dr438/
106 constructor_2_neg.cc: Likewise.
107 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
110 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
112 * include/Makefile.in: Regenerate.
114 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
116 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
117 parameter to pass the 2 instances to check allocator equality.
118 * include/debug/safe_container.h: New, define _Safe_container<>.
119 * include/Makefile.am: Add previous.
120 * include/debug/deque (std::__debug::deque<>): Inherit
121 _Safe_container<>. Use default implementation for all special
123 * include/debug/forward_list (std::__debug::forward_list<>):
125 * include/debug/list (std::__debug::list<>): Likewise.
126 * include/debug/map.h (std::__debug::map<>): Likewise.
127 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
128 * include/debug/set.h (std::__debug::set<>): Likewise.
129 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
130 * include/debug/string (std::__debug::basic_string<>): Likewise.
131 * include/debug/unordered_map
132 (std::__debug::unordered_map<>): Likewise.
133 (std::__debug::unordered_multimap<>): Likewise.
134 * include/debug/unordered_set
135 (std::__debug::unordered_set<>): Likewise.
136 (std::__debug::unordered_multiset<>): Likewise.
137 * include/debug/vector (std::__debug::vector<>): Likewise.
138 * include/debug/safe_base.h (_Safe_sequence_base()): Add
140 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
141 (~_Safe_sequence_base()): Add noexcept.
142 * include/debug/safe_sequence.h
143 (std::__debug::_Safe_node_sequence<>): New.
144 * include/debug/safe_unordered_base.h
145 (_Safe_unordered_container_base()): Add noexcept.
146 (~_Safe_unordered_container_base()): Likewise.
147 (_M_swap(_Safe_unordered_container_base&)): Likewise.
148 * include/debug/safe_unordered_container.h:
149 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
150 (_Safe_unordered_container<>::_M_invalidate_all()): New.
151 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
153 * testsuite/util/debug/checks.h (check_construct1): Just implement
154 an invalid constructor invocation and no other operations
155 potentially not supported by some types of container.
156 (check_construct2): Likewise.
157 (check_construct3): Likewise.
158 * testsuite/23_containers/forward_list/allocator/move.cc: Add
159 check on iterators to make sure they are correctly moved in debug
161 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
163 * testsuite/23_containers/map/allocator/move.cc: Likewise.
164 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
165 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
166 * testsuite/23_containers/multimap/allocator/move_assign.cc:
168 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
169 * testsuite/23_containers/multiset/allocator/move_assign.cc:
171 * testsuite/23_containers/set/allocator/move.cc: Likewise.
172 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
173 * testsuite/23_containers/unordered_map/allocator/move.cc:
175 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
177 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
179 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
181 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
183 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
185 * testsuite/23_containers/unordered_set/allocator/move.cc:
187 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
189 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
191 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
193 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
195 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
197 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
199 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
200 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
201 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
202 * testsuite/23_containers/map/debug/move_neg.cc: New.
203 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
204 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
205 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
206 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
207 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
208 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
209 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
210 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
211 * testsuite/23_containers/set/debug/move_neg.cc: New.
212 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
214 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
216 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
217 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
219 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
221 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
223 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
225 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
227 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
229 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
231 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
233 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
234 * testsuite/23_containers/vector/debug/move_neg.cc: New.
236 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
238 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
239 (CXXABI_1.3.9): Remove __float128 symbols.
241 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
244 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
245 function to handle both C++03 and C++11 _Rb_tree_node implementations.
246 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
247 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
249 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
252 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
253 Check the correct type in the static assertion.
254 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
256 2014-04-27 Tim Shen <timshen91@gmail.com>
258 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
259 Add _S_opcode_repeat support to distingush a loop from
260 _S_opcode_alternative.
261 * include/bits/regex_automaton.tcc (_State_base::_M_print,
262 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
263 _StateSeq<>::_M_clone): Likewise.
264 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
266 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
267 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
268 Uglify local variable __i.
269 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
270 Use size_t instead of int to compare with vector::size().
272 2014-04-27 Tim Shen <timshen91@gmail.com>
274 * include/bits/regex_executor.h: Add _M_rep_count to track how
275 many times this repeat node are visited.
276 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
277 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
280 2014-04-27 Tim Shen <timshen91@gmail.com>
282 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
283 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
284 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
285 * include/bits/regex_automaton.h: Remove quantifier counting variable.
286 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
287 Adjust debug NFA dump.
289 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
292 * include/experimental/optional (operator!=): Implement in terms of
294 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
295 * testsuite/experimental/optional/relops/2.cc: Likewise.
296 * testsuite/experimental/optional/relops/3.cc: Likewise.
297 * testsuite/experimental/optional/relops/4.cc: Likewise.
298 * testsuite/experimental/optional/relops/5.cc: Likewise.
299 * testsuite/experimental/optional/relops/6.cc: Likewise.
301 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
304 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
305 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
308 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
310 * testsuite/util/testsuite_abi.cc (check_version): Update for
313 2014-04-24 Tim Shen <timshen91@gmail.com>
315 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
316 Do _M_alt before _M_next.
317 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
319 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
322 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
323 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
324 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
326 2014-04-24 Andreas Schwab <schwab@suse.de>
328 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
329 new CXXABI_1.3.9 symbols.
331 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
333 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
334 (CXXABI_1.3.9): New version.
336 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
339 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
340 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
341 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
343 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
345 * configure.host: Remove solaris2.9 handling.
346 Change os_include_dir to os/solaris/solaris2.10.
347 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
348 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
349 * configure: Regenerate.
350 * config/abi/post/solaris2.9: Remove.
351 * config/os/solaris/solaris2.9: Rename to ...
352 * config/os/solaris/solaris2.10: ... this.
353 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
356 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
357 Remove Solaris 9 reference.
358 * doc/html/manual/configure.html: Regenerate.
360 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
361 Remove *-*-solaris2.9 xfail.
362 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
365 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
368 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
370 * include/std/functional (__is_location_invariant): Use __or_ helper.
372 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
375 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
378 * include/std/atomic (atomic<_Tp>): Add static assertion.
379 * testsuite/29_atomics/atomic/60695.cc: New.
382 * include/std/functional (function::_Callable): Exclude own type
383 from the callable checks.
384 * testsuite/20_util/function/60594.cc: New.
386 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
387 const to constexpr member functions.
389 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
390 delegating constructor.
391 * include/bits/shared_ptr_base.h
392 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
394 * include/std/atomic: Uglify parameter names.
397 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
398 1.cc: Fix invalid explicit instantiations with unqualified names.
399 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
401 * testsuite/20_util/tuple/53648.cc: Likweise.
402 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
404 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
406 * testsuite/23_containers/unordered_map/requirements/
407 debug_container.cc: Likewise.
408 * testsuite/23_containers/unordered_map/requirements/
409 explicit_instantiation/3.cc: Likewise.
410 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
412 * testsuite/23_containers/unordered_multimap/requirements/
413 explicit_instantiation/3.cc: Likewise.
414 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
416 * testsuite/23_containers/unordered_multiset/requirements/
417 explicit_instantiation/3.cc: Likewise.
418 * testsuite/23_containers/unordered_set/requirements/
419 debug_container.cc: Likewise.
420 * testsuite/23_containers/unordered_set/requirements/
421 explicit_instantiation/3.cc: Likewise.
423 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
424 not use uninitialized members in mem-initializers.
425 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
426 * testsuite/util/testsuite_common_types.h: Update comment.
428 * include/experimental/string_view: Fix inconsistent exception specs.
430 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
431 Remove name of unused parameter.
433 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
435 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
436 _Vector_base::_M_allocate): NullablePointer requirements do not
437 include initialization from literal zero, use value-initialization.
438 * include/bits/vector.tcc (vector::_M_insert_aux,
439 vector::_M_explace_back_aux): Likewise for assignment.
441 * include/bits/allocator.h (operator==, operator!=): Add exception
445 * include/std/tuple (get): Qualify calls to prevent ADL.
446 * testsuite/20_util/tuple/60497.cc: New.
448 * include/std/tuple (tuple_element_t): Define.
449 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
451 * testsuite/20_util/tuple/tuple_element_t.cc: New.
453 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
456 * include/bits/stl_iterator.h (move_iterator::reference,
457 move_iterator::operator*): Implement LWG 2106.
458 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
460 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
462 * include/std/complex (__complex_exp, pow): Specify the template
463 parameter in calls to std::polar, for expression templates.
465 2014-04-10 Andreas Schwab <schwab@suse.de>
467 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
469 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
470 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
472 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
474 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
476 * testsuite/20_util/exchange/1.cc: Add missing return statements.
477 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
478 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
481 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
482 Jack Howarth <howarth@bromo.med.uc.edu>
485 * testsuite/30_threads/condition_variable/54185.cc: Skip for
488 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
490 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
492 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
494 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
495 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
496 * doc/xml/manual/concurrency_extensions.xml
497 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
498 * doc/html/*: Regenerate.
500 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
501 Jonathan Wakely <jwakely@redhat.com>
504 * include/std/iomanip (_Quoted_string operator>>): Do not clear
505 string if input is not quoted.
506 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
508 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
510 * libsupc++/eh_ptr.cc: Improve static_assert messages.
512 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
514 * testsuite/18_support/exception_ptr/60612-terminate.cc
515 (terminate, f): Wrap in _GLIBCXX_USE_C99.
516 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
518 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
520 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
522 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
523 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
525 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
527 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
529 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
530 Fix bad s/part/chapter/ substitutions.
531 * doc/xml/manual/io.xml (std.io): Likewise.
532 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
533 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
535 * doc/html/*: Regenerate.
537 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
540 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
541 compatible with __cxa_exception.
542 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
543 Fix typos in comments.
544 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
545 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
547 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
550 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
551 Use sizeof pointer type not the element type.
552 * testsuite/29_atomics/atomic/60658.cc: New.
554 2014-03-24 Jakub Jelinek <jakub@redhat.com>
556 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
557 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
558 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
559 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
560 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
561 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
562 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
563 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
564 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
565 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
568 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
570 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
572 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
574 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
575 to delegated constructor.
576 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
577 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
580 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
582 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
585 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
587 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
590 * include/debug/functions.h (_Is_contiguous_sequence): Define.
591 (__foreign_iterator): Accept additional iterator. Do not dispatch on
593 (__foreign_iterator_aux2): Likewise. Add overload for iterators
594 from different types of debug container. Use _Is_contiguous_sequence
595 instead of is_lvalue_reference.
596 (__foreign_iterator_aux3): Accept additional iterator. Avoid
597 dereferencing past-the-end iterator.
598 (__foreign_iterator_aux4): Use const value_type* instead of
599 potentially user-defined const_pointer type.
600 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
601 and pass end iterator to __gnu_debug::__foreign_iterator.
602 (__glibcxx_check_insert_range_after): Likewise.
603 (__glibcxx_check_max_load_factor): Fix comment.
604 * include/debug/vector (_Is_contiguous_sequence): Define partial
606 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
607 -std=gnu++11 option and unused header.
608 * testsuite/23_containers/vector/debug/60587.cc: New.
609 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
611 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
613 * crossconfig.m4: Support spu-*-elf* targets.
614 * configure: Regenerate.
616 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
619 * include/std/future (__future_base::_Task_state<>): Change
620 constructors to template functions using perfect forwarding.
621 (__create_task_state): Use decayed type as stored task.
622 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
623 * testsuite/30_threads/packaged_task/60564.cc: New.
625 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
627 * scripts/create_testsuite_files: Add testsuite/experimental in
628 the list of folders to search for tests.
630 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
632 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
634 2014-03-15 Tim Shen <timshen91@gmail.com>
636 * include/bits/regex.h: Add/modify comments.
637 * include/bits/regex_compiler.h: Likewise.
638 * include/bits/regex_executor.h: Likewise.
639 * include/bits/regex_executor.tcc: Likewise.
640 * include/bits/regex_scanner.h: Likewise.
642 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
645 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
646 _ZNSt12system_errorC* symbols which are not exported on any target.
648 2014-03-12 Roland McGrath <mcgrathr@google.com>
649 Mark Seaborn <mseaborn@google.com>
652 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
653 the address of a null pointer, not with a null pointer to pointer.
654 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
655 * testsuite/18_support/bad_exception/59392.cc: New file.
657 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
660 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
662 * include/debug/map (map::operator=(map&&)): Likewise.
663 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
664 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
665 * include/debug/set (set::operator=(set&&)): Likewise.
666 * include/debug/unordered_map
667 (unordered_map::operator=(unordered_map&&)): Likewise.
668 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
669 * include/debug/unordered_set
670 (unordered_set::operator=(unordered_set&&)): Likewise.
671 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
672 * include/debug/vector (vector::operator=(vector&&)): Likewise.
673 * testsuite/23_containers/forward_list/debug/60499.cc: New
674 * testsuite/23_containers/map/debug/60499.cc: New
675 * testsuite/23_containers/multimap/debug/60499.cc: New
676 * testsuite/23_containers/multiset/debug/60499.cc: New
677 * testsuite/23_containers/set/debug/60499.cc: New
678 * testsuite/23_containers/unordered_map/debug/60499.cc: New
679 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
680 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
681 * testsuite/23_containers/unordered_set/debug/60499.cc: New
682 * testsuite/23_containers/vector/debug/60499.cc: New
684 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
686 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
687 for filesystem and fundamentals TS work items.
689 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
692 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
693 Adjust dg-error directives.
695 2014-02-26 Tim Shen <timshen91@gmail.com>
697 * include/bits/regex.tcc (match_results<>::format,
698 regex_replace<>): Update __out after calling std::copy.
699 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
701 * testsuite/28_regex/match_results/format.cc: Likewise.
703 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
706 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
707 allocator_type&)): Remove redundant call to _M_initialize_map.
708 (deque::deque(const allocator_type&)): Initialize _Base with a
709 constructor that calls _M_initialize_map.
713 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
715 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
718 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
720 Rename testsuite directory shared_mutex to shared_timed_mutex
722 * testsuite/30_threads/shared_mutex: Moved to...
723 * testsuite/30_threads/shared_timed_mutex: ...here
725 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
727 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
728 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
729 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
730 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
731 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
732 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
733 * testsuite/30_threads/shared_lock/requirements/
734 explicit_instantiation.cc: Ditto.
735 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
736 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
737 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
738 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
739 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
740 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
741 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
742 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
743 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
744 * testsuite/30_threads/shared_mutex/requirements/
745 standard_layout.cc: Ditto.
746 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
747 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
748 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
749 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
750 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
752 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
754 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
755 execution on i?86-*-solaris2.9, remove comment.
756 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
758 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
760 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
761 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
762 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
764 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
766 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
767 not use varargs when argument could be non-POD.
768 (__alloctr_rebind_helper): Eliminate static const bool member by
769 using true_type and false_type.
770 (allocator_traits::__allocate_helper): Likewise.
771 (allocator_traits::__construct_helper): Likewise.
772 (allocator_traits::__destroy_helper): Likewise.
773 (allocator_traits::__maxsize_helper): Likewise.
774 (allocator_traits::__select_helper): Likewise.
775 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
776 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
777 Remove redundant condition.
778 * include/bits/stl_vector.h (vector::operator=(const vector&)):
780 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
781 indirection through __alloc_traits.
782 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
783 Eliminate static const bool members by using true_type and false_type.
784 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
785 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
786 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
788 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
791 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
792 (vector::_M_data_ptr): New overloaded functions to ensure empty
793 vectors do not dereference the pointer.
794 * testsuite/23_containers/vector/59829.cc: New.
795 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
796 Adjust dg-error line number.
797 * testsuite/23_containers/vector/requirements/dr438/
798 constructor_1_neg.cc: Likewise.
799 * testsuite/23_containers/vector/requirements/dr438/
800 constructor_2_neg.cc: Likewise.
801 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
805 * include/ext/array_allocator.h: Add deprecated attribute.
808 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
809 installation and use of python printers.
810 * doc/xml/manual/status_cxx2011.xml: Update.
811 * doc/html/*: Regenerate.
813 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
814 Kyle Lippincott <spectral@google.com>
817 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
818 constructor and grant friendship to weak_ptr.
819 (weak_ptr::lock()): Use new constructor.
820 * include/bits/shared_ptr_base.h
821 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
822 and define specializations.
823 (__shared_count): Add new non-throwing constructor.
824 (__shared_ptr): Add new non-throwing constructor and grant friendship
826 (__weak_ptr::lock()): Use new constructor.
827 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
828 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
830 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
833 * include/bits/shared_ptr_base.h
834 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
837 2014-01-27 Jason Merrill <jason@redhat.com>
842 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
843 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
844 (__cxa_allocate_exception): Don't set it here.
846 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
848 * include/bits/stl_map.h: Remove anachronistic comment.
849 * include/bits/stl_multimap.h: Add whitespace.
850 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
851 -std=gnu++11 instead of -std=c++11.
852 * testsuite/23_containers/map/operators/2.cc: Likewise.
853 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
854 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
855 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
857 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
858 * configure: Regenerate.
860 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
863 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
864 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
866 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
867 Peter A. Bigot <pab@pabigot.com>
870 * include/experimental/string_view
871 (copy(_CharT*, size_type, size_type) const): Correct throw string.
872 Correct copy start location.
874 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
875 Peter A. Bigot <pab@pabigot.com>
878 * include/experimental/string_view (operator[](size_type) const):
879 Fix one-off index error in debug check.
880 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
881 test basic_string_view at size().
882 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
884 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
885 Peter A. Bigot <pab@pabigot.com>
888 * include/experimental/string_view
889 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
890 * testsuite/experimental/string_view/operations/substr/char/1.cc:
891 Comment out catch of out_of_range; No terminating null
892 in basic_string_view. Check begin == end.
893 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
896 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
899 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
900 constructor to prevent it being implicitly defined as deleted, but
901 do not copy anything.
902 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
903 Define copy and move constructors similar to _Safe_sequence_base's.
904 * testsuite/23_containers/unordered_map/59548.cc: New.
906 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
907 Steve Ellcey <sellcey@mips.com>
909 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
911 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
912 * (configure, config.h.in): Regenerate.
913 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
915 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
917 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
918 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
921 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
922 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
924 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
926 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
927 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
928 functions to perform moving or copying of elements from rvalue tree.
929 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
930 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
931 * testsuite/23_containers/map/59872.cc: New.
932 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
934 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
936 * include/bits/stl_deque.h (_Deque_impl): Move comment.
939 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
940 Split into separate default constructor and constructor taking
942 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
943 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
945 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
946 * include/debug/list (list::list(const _Allocator&)): Likewise.
947 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
949 * include/debug/multimap.h
950 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
951 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
953 * include/debug/multiset.h
954 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
955 * include/debug/vector (vector::vector(const allocator_type&)):
957 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
958 * include/profile/list (list::list(const _Allocator&)): Likewise.
959 * include/profile/map.h
960 (map::map(const _Compare&, const _Allocator&)): Likewise.
961 * include/profile/multimap.h
962 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
963 * include/profile/set.h
964 (set::set(const _Compare&, const _Allocator&)): Likewise.
965 * include/profile/multiset.h
966 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
967 * include/profile/vector (vector::vector(const _Allocator&)):
969 * testsuite/23_containers/deque/58764.cc: New.
970 * testsuite/23_containers/list/58764.cc: New.
971 * testsuite/23_containers/map/58764.cc: New.
972 * testsuite/23_containers/multimap/58764.cc: New.
973 * testsuite/23_containers/set/58764.cc: New.
974 * testsuite/23_containers/multiset/58764.cc: New.
975 * testsuite/23_containers/vector/58764.cc: New.
976 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
977 Adjust dg-error line number.
978 * testsuite/23_containers/deque/requirements/dr438/
979 constructor_1_neg.cc: Likewise.
980 * testsuite/23_containers/deque/requirements/dr438/
981 constructor_2_neg.cc: Likewise.
982 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
984 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
986 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
988 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
990 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
992 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
994 * testsuite/23_containers/vector/requirements/dr438/
995 constructor_1_neg.cc: Likewise.
996 * testsuite/23_containers/vector/requirements/dr438/
997 constructor_2_neg.cc: Likewise.
998 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1001 PR libstdc++/58764 (again)
1002 * include/bits/stl_list.h (list): Make default constructor's exception
1003 specification conditional.
1004 * include/bits/stl_vector.h (vector): Likewise.
1005 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1006 to default constructor.
1007 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1008 Adjust dg-error line number.
1009 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1011 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1013 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1015 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1017 * testsuite/23_containers/vector/requirements/dr438/
1018 constructor_1_neg.cc: Likewise.
1019 * testsuite/23_containers/vector/requirements/dr438/
1020 constructor_2_neg.cc: Likewise.
1021 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1024 2014-01-21 Tim Shen <timshen91@gmail.com>
1026 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1027 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1028 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1030 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1033 * include/bits/hashtable.h (__cache_default): Do not depend on
1034 whether the hash function is DefaultConstructible or CopyAssignable.
1035 (_Hashtable): Adjust static assertions.
1036 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1037 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1038 dg-error line number.
1039 * testsuite/23_containers/unordered_set/
1040 not_default_constructible_hash_neg.cc: Remove.
1042 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1044 * scripts/create_testsuite_files: Add testsuite/experimental in
1045 the list of folders to search for tests.
1046 * include/experimental/string_view
1047 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1048 incompatible with constexpr qualifier.
1049 (basic_string_view<>::front()): Likewise.
1050 (basic_string_view<>::back()): Likewise.
1051 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1052 Merge dg-options directives into one.
1053 * testsuite/experimental/string_view/element_access/char/2.cc:
1054 Likewise. Remove invalid experimental namespace scope on
1057 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1060 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1061 friendship to _Local_iterator_base<..., false>.
1062 (_Local_iterator_base): Give protected access to all existing members.
1063 (_Local_iterator_base::_M_curr()): New public accessor.
1064 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1065 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1066 the lifetime of the _Hash_code_base explicitly.
1067 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1068 (_Local_iterator_base<..., false>): Define copy constructor and copy
1069 assignment operator that use new functions to manage _Hash_code_base.
1070 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1071 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1072 Use public API for _Local_iterator_base.
1073 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1074 * include/debug/unordered_map (__debug::unordered_map::erase(),
1075 __debug::unordered_multimap::erase()): Likewise.
1076 * include/debug/unordered_set (__debug::unordered_set::erase(),
1077 __debug::unordered_multiset::erase()): Likewise.
1078 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1080 2014-01-19 Tim Shen <timshen91@gmail.com>
1082 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1083 Fix parse error of multiple consecutive quantifiers like "a**".
1084 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1086 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1088 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1090 * include/profile/set.h (set): Implement C++11 allocator-aware
1091 container requirements.
1092 * include/profile/map.h (map): Likewise.
1093 * include/profile/multiset.h (multiset): Likewise.
1094 * include/profile/multimap.h (multimap): Likewise.
1095 * include/profile/set.h
1096 (set::operator=(const set&)): Define as default in C++11 mode.
1097 (set::operator=(set&&)): Likewise.
1098 * include/profile/map.h
1099 (map::operator=(const map&)): Likewise.
1100 (map::operator=(map&&)): Likewise.
1101 * include/profile/multiset.h
1102 (multiset::operator=(const multiset&)): Likewise.
1103 (multiset::operator=(multiset&&)): Likewise.
1104 * include/profile/multimap.h
1105 (multimap::operator=(const multimap&)): Likewise.
1106 (multimap::operator=(multimap&&)): Likewise.
1107 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1108 Rely on the same operator from normal mode.
1109 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1111 * include/profile/multiset.h
1112 (multiset::operator=(std::initializer_list<>)): Likewise.
1113 * include/profile/multimap.h
1114 (multimap::operator=(std::initializer_list<>)): Likewise.
1115 * include/profile/set.h (set::swap(set&)): Add noexcept
1117 * include/profile/map.h (map::swap(map&)): Likewise.
1118 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1119 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1121 2014-01-17 Tim Shen <timshen91@gmail.com>
1123 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1125 * include/bits/regex_automaton.h: Do not use std::set.
1126 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1127 _BracketMatcher<>::_M_add_collating_element(),
1128 _BracketMatcher<>::_M_add_equivalence_class(),
1129 _BracketMatcher<>::_M_make_range()): Likewise.
1130 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1132 * include/bits/regex_executor.h: Do not use std::queue.
1133 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1134 _Executor<>::_M_dfs()): Likewise.
1135 * include/std/regex: Remove <map>, <set> and <queue>.
1137 2014-01-17 Tim Shen <timshen91@gmail.com>
1139 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1140 basic_regex<>::assign()): Change __compile_nfa to accept
1142 * include/bits/regex_compiler.h: Change _Compiler's template
1143 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1144 * include/bits/regex_compiler.tcc: Likewise.
1146 2014-01-17 Tim Shen <timshen91@gmail.com>
1148 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1150 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1151 _ScannerBase from _Scanner; Change _Scanner's template argument from
1152 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1154 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1155 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1156 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1158 * include/std/regex: Add <cstring> for using strchr.
1160 2014-01-17 Tim Shen <timshen91@gmail.com>
1162 * bits/regex_automaton.tcc: Indentation fix.
1163 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1164 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1165 _BracketMatcher<>): Add bool option template parameters and
1166 specializations to make matching more efficient and space saving.
1167 * bits/regex_compiler.tcc: Likewise.
1169 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1172 * include/bits/hashtable_policy.h: Fix some long lines.
1173 * include/bits/hashtable.h (__hash_code_base_access): Define and
1174 use it to check its _M_bucket_index noexcept qualification. Use
1176 (__access_protected_ctor): ...this.
1177 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1179 * testsuite/23_containers/unordered_set/
1180 not_default_constructible_hash_neg.cc: Likewise.
1182 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1184 * include/debug/set.h (set): Implement C++11 allocator-aware
1185 container requirements.
1186 * include/debug/map.h (map): Likewise.
1187 * include/debug/multiset.h (multiset): Likewise.
1188 * include/debug/multimap.h (multimap): Likewise.
1189 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1190 fix implementation regarding management of safe iterators.
1191 * include/debug/map.h (map::operator=(map&&)): Likewise.
1192 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1193 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1195 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1196 Rely on the same operator from normal mode.
1197 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1199 * include/debug/multiset.h
1200 (multiset::operator=(std::initializer_list<>)): Likewise.
1201 * include/debug/multimap.h
1202 (multimap::operator=(std::initializer_list<>)): Likewise.
1203 * include/debug/set.h (set::swap(set&)): Add noexcept
1204 specification, add allocator equality check.
1205 * include/debug/map.h (map::swap(map&)): Likewise.
1206 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1207 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1209 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1212 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1213 and stylistic improvements.
1214 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1215 and update for C++11.
1216 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1219 * doc/xml/manual/backwards_compatibility.xml
1220 (backwards.third.nocreate_noreplace): Correct and expand.
1223 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1225 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1228 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1229 support for non-Movable types.
1232 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1234 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1236 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1237 *this allocator instance when building temporary vector instance
1238 so that *this allocator does not get moved.
1239 * include/debug/safe_base.h
1240 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1241 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1242 move constructor from _Safe_sequence_base.
1243 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1244 safe iterators if the instance is moved.
1245 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1246 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1247 check on a vector iterator.
1248 * testsuite/23_containers/vector/allocator/move_assign.cc
1250 (test03): New, test with a non-propagating allocator.
1251 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1253 2014-01-07 Tim Shen <timshen91@gmail.com>
1255 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1256 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1257 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1258 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1259 _BracketMatcher<>::_M_add_char(),
1260 _BracketMatcher<>::_M_add_collating_element(),
1261 _BracketMatcher<>::_M_add_equivalence_class(),
1262 _BracketMatcher<>::_M_add_character_class(),
1263 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1264 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1265 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1266 to template parameter; Add cache for _BracketMatcher. Adjust
1267 declarations from here...
1268 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1269 imbuing a regex will trigger a recompilation to rebuild the cache.
1270 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1271 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1272 different template bool parameters.
1273 * include/bits/regex_executor.h: Remove unnecessary declarations.
1274 * include/std/regex: Adjust including orders.
1275 * testsuite/28_regex/traits/char/user_defined.cc: New.
1276 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1278 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1280 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1281 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1282 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1283 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1284 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1286 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1288 Update copyright years
1290 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1292 * testsuite/18_support/new_handler.cc,
1293 testsuite/18_support/terminate_handler.cc,
1294 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1295 the copyright notice.
1297 Copyright (C) 2014 Free Software Foundation, Inc.
1299 Copying and distribution of this file, with or without modification,
1300 are permitted in any medium without royalty provided the copyright
1301 notice and this notice are preserved.