1 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
4 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
6 (_State_base::_M_dot): Likewise.
8 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
10 * include/profile/array: Clean useless white chars.
11 * include/profile/base.h: Likewise.
12 * include/profile/iterator_tracker.h: Likewise.
13 * include/profile/bitset: Code cleanup and remove not instrumented code.
14 * include/profile/deque: Likewise.
15 * include/profile/forward_list: Likewise.
16 * include/profile/list (std::__profile::_List_profile<>): New.
17 (std::__profile::list<>): Inherit from latter and adapt.
18 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
19 advise to match any ordered to unordered container conversion.
20 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
22 * include/Makefile.am: Add latter.
23 * include/Makefile.in: Regenerate.
24 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
25 remove not instrumented code.
26 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
27 * include/profile/set.h (std::__profile::set<>): Likewise.
28 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
29 * include/profile/unordered_base.h: Add some line feed.
30 * include/profile/unordered_map: Clean useless white chars and replace
32 * include/profile/unordered_set: Likewise.
33 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
34 (std::__profile::_Vector_profile_post<>): New.
35 (std::__profile::vector<>): Inherit from latter and adapt.
37 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
40 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
41 dragonfly target selector to all tests that run on freebsd.
43 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
45 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
46 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
48 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
50 * testsuite/30_threads/call_once/60497.cc: Likewise.
51 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
52 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
53 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
54 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
55 * testsuite/30_threads/promise/60966.cc: Likewise.
56 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
57 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
58 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
59 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
60 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
61 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
62 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
63 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
64 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
65 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
66 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
67 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
68 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
69 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
70 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
71 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
72 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
74 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
77 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
79 * testsuite/23_containers/unordered_set/61143.cc: New.
80 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
82 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
85 * include/std/type_traits: Move include outside namespace std.
86 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
87 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
88 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
91 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
94 2014-05-21 John Marino <gnugcc@marino.st>
96 * acinclude.m4 (*-*-dragonfly*): New target.
97 * configure: Regenerate.
98 * configure.host (*-*-dragonfly*): New target.
99 * config/locale/dragonfly/c_locale.cc: New.
100 * config/locale/dragonfly/ctype_members.cc: New.
101 * config/os/bsd/dragonfly/ctype_base.h: New.
102 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
103 * config/os/bsd/dragonfly/ctype_inline.h: New.
104 * config/os/bsd/dragonfly/os_defines.h: New.
106 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
108 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
109 libstdc++.exp imports those flags via getenv.
110 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
111 CXXFLAGS contains a '-O' flag.
113 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
117 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
120 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
121 and add unwind directives.
123 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
125 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
127 2014-05-20 Tim Shen <timshen91@gmail.com>
130 * include/bits/regex_compiler.h
131 (_BracketMatcher<>::_M_add_character_class): Add negative character
133 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
135 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
138 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
140 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
142 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
144 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
145 * libsupc++/new_opnt.cc: Likewise.
147 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
150 * include/std/future (__future_base::_State_baseV2::_M_set_result):
151 Pass lock into _M_do_set and hold it until the function returns.
152 Signal condition variable after call_once completes.
153 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
155 * testsuite/30_threads/promise/60966.cc: New.
157 2014-05-16 Iain Sandoe <iain@codesourcery.com>
158 Sandra Loosemore <sandra@codesourcery.com>
160 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
161 until after checking that the test is eligible to be run.
163 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
165 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
166 test for 32-bit target.
167 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
169 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
172 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
175 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
176 and add unwind directives.
178 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
180 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
182 * include/std/chrono (chrono_literals::__select_type::_Select_type):
184 (chrono_literals::_Checked_integral_constant): Define.
185 Simplify UDL operator templates and check for overflow.
186 * testsuite/20_util/duration/literals/range.cc: New.
188 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
189 Jonathan Wakely <jwakely@redhat.com>
192 * include/bits/parse_numbers.h: Use integral_constant to remove
193 duplication and simplify.
194 * testsuite/20_util/duration/literals/61166.cc: New.
196 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
199 * include/std/type_traits (__make_unsigned, __make_signed): Define
200 specializations for wchar_t, char16_t and char32_t.
201 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
202 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
203 test for make_unsigned<volatile wchar_t>.
204 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
206 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
208 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
210 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
213 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
215 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
216 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
217 * include/std/utility (tuple_size, tuple_element): Likewise.
218 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
219 Adjust dg-error line number.
221 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
223 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
224 (__tuple_element_t): Define.
225 (tuple_element): Use __tuple_element_t.
226 (__cv_tuple_size): Define.
227 (tuple_size<cv _Tp>): Use __cv_tuple_size.
228 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
229 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
230 (__tuple_compare): Remove size check, re-order parameters.
231 (operator==, operator<): Use static_assert to check requirements.
232 * include/std/functional (__volget): use __tuple_element_t.
233 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
234 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
236 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
239 * include/std/tuple (get, __tuple_compare): Qualify more calls to
240 prevent ADL. Cast comparison results to bool.
241 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
242 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
245 * include/debug/array (get): Qualify call to other get overload.
246 * include/profile/array (get): Likewise.
247 * include/std/array (get): Likewise.
248 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
249 * include/std/mutex (unique_lock, call_once): Use __addressof.
250 (__unlock_impl): Remove unused template.
251 (__try_to_lock): Declare inline.
252 (__try_lock_impl::__do_try_lock): Qualify function calls.
253 (lock): Avoid narrowing conversion.
254 * testsuite/20_util/bind/60497.cc: New.
255 * testsuite/23_containers/array/element_access/60497.cc: New.
256 * testsuite/30_threads/call_once/60497.cc: New.
257 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
259 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
261 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
262 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
263 * acinclude.m4 (libtool_VERSION): Bump.
264 * configure: Regenerate.
265 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
266 * testsuite/28_regex/regex_error/base.cc: New.
268 2014-05-08 Joshua Gay <jgay@gnu.org>
271 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
272 source" with "free software".
273 * doc/html/faq.html: Likewise.
275 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
278 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
280 (operator=(const ios_base&)): Likewise.
281 * include/std/streambuf: Remove trailing whitespace.
282 (basic_streambuf(const basic_streambuf&)): Fix initializer for
283 _M_out_end. Define as defaulted for C++11.
284 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
285 (swap(basic_streambuf&)): Define for C++11.
286 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
289 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
291 * include/std/iostream: Fix URL in comment.
292 * src/c++98/ios_init.cc: Fix path in comment.
294 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
296 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
297 * configure: Regenerate.
299 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
302 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
304 * testsuite/23_containers/set/cons/61023.cc: New.
307 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
309 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
310 arithmetic to obtain a mutable iterator from const_iterator.
311 * include/bits/vector.tcc (vector::insert): Likewise.
312 * include/debug/vector (vector::erase): Likewise.
313 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
314 Adjust dg-error line number.
315 * testsuite/23_containers/vector/requirements/dr438/
316 constructor_1_neg.cc: Likewise.
317 * testsuite/23_containers/vector/requirements/dr438/
318 constructor_2_neg.cc: Likewise.
319 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
322 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
324 * include/Makefile.in: Regenerate.
326 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
328 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
329 parameter to pass the 2 instances to check allocator equality.
330 * include/debug/safe_container.h: New, define _Safe_container<>.
331 * include/Makefile.am: Add previous.
332 * include/debug/deque (std::__debug::deque<>): Inherit
333 _Safe_container<>. Use default implementation for all special
335 * include/debug/forward_list (std::__debug::forward_list<>):
337 * include/debug/list (std::__debug::list<>): Likewise.
338 * include/debug/map.h (std::__debug::map<>): Likewise.
339 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
340 * include/debug/set.h (std::__debug::set<>): Likewise.
341 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
342 * include/debug/string (std::__debug::basic_string<>): Likewise.
343 * include/debug/unordered_map
344 (std::__debug::unordered_map<>): Likewise.
345 (std::__debug::unordered_multimap<>): Likewise.
346 * include/debug/unordered_set
347 (std::__debug::unordered_set<>): Likewise.
348 (std::__debug::unordered_multiset<>): Likewise.
349 * include/debug/vector (std::__debug::vector<>): Likewise.
350 * include/debug/safe_base.h (_Safe_sequence_base()): Add
352 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
353 (~_Safe_sequence_base()): Add noexcept.
354 * include/debug/safe_sequence.h
355 (std::__debug::_Safe_node_sequence<>): New.
356 * include/debug/safe_unordered_base.h
357 (_Safe_unordered_container_base()): Add noexcept.
358 (~_Safe_unordered_container_base()): Likewise.
359 (_M_swap(_Safe_unordered_container_base&)): Likewise.
360 * include/debug/safe_unordered_container.h:
361 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
362 (_Safe_unordered_container<>::_M_invalidate_all()): New.
363 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
365 * testsuite/util/debug/checks.h (check_construct1): Just implement
366 an invalid constructor invocation and no other operations
367 potentially not supported by some types of container.
368 (check_construct2): Likewise.
369 (check_construct3): Likewise.
370 * testsuite/23_containers/forward_list/allocator/move.cc: Add
371 check on iterators to make sure they are correctly moved in debug
373 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
375 * testsuite/23_containers/map/allocator/move.cc: Likewise.
376 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
377 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
378 * testsuite/23_containers/multimap/allocator/move_assign.cc:
380 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
381 * testsuite/23_containers/multiset/allocator/move_assign.cc:
383 * testsuite/23_containers/set/allocator/move.cc: Likewise.
384 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
385 * testsuite/23_containers/unordered_map/allocator/move.cc:
387 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
389 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
391 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
393 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
395 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
397 * testsuite/23_containers/unordered_set/allocator/move.cc:
399 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
401 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
403 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
405 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
407 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
409 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
411 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
412 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
413 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
414 * testsuite/23_containers/map/debug/move_neg.cc: New.
415 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
416 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
417 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
418 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
419 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
420 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
421 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
422 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
423 * testsuite/23_containers/set/debug/move_neg.cc: New.
424 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
426 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
428 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
429 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
431 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
433 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
435 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
437 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
439 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
441 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
443 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
445 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
446 * testsuite/23_containers/vector/debug/move_neg.cc: New.
448 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
450 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
451 (CXXABI_1.3.9): Remove __float128 symbols.
453 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
456 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
457 function to handle both C++03 and C++11 _Rb_tree_node implementations.
458 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
459 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
461 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
464 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
465 Check the correct type in the static assertion.
466 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
468 2014-04-27 Tim Shen <timshen91@gmail.com>
470 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
471 Add _S_opcode_repeat support to distingush a loop from
472 _S_opcode_alternative.
473 * include/bits/regex_automaton.tcc (_State_base::_M_print,
474 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
475 _StateSeq<>::_M_clone): Likewise.
476 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
478 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
479 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
480 Uglify local variable __i.
481 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
482 Use size_t instead of int to compare with vector::size().
484 2014-04-27 Tim Shen <timshen91@gmail.com>
486 * include/bits/regex_executor.h: Add _M_rep_count to track how
487 many times this repeat node are visited.
488 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
489 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
492 2014-04-27 Tim Shen <timshen91@gmail.com>
494 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
495 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
496 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
497 * include/bits/regex_automaton.h: Remove quantifier counting variable.
498 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
499 Adjust debug NFA dump.
501 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
504 * include/experimental/optional (operator!=): Implement in terms of
506 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
507 * testsuite/experimental/optional/relops/2.cc: Likewise.
508 * testsuite/experimental/optional/relops/3.cc: Likewise.
509 * testsuite/experimental/optional/relops/4.cc: Likewise.
510 * testsuite/experimental/optional/relops/5.cc: Likewise.
511 * testsuite/experimental/optional/relops/6.cc: Likewise.
513 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
516 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
517 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
520 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
522 * testsuite/util/testsuite_abi.cc (check_version): Update for
525 2014-04-24 Tim Shen <timshen91@gmail.com>
527 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
528 Do _M_alt before _M_next.
529 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
531 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
534 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
535 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
536 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
538 2014-04-24 Andreas Schwab <schwab@suse.de>
540 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
541 new CXXABI_1.3.9 symbols.
543 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
545 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
546 (CXXABI_1.3.9): New version.
548 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
551 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
552 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
553 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
555 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
557 * configure.host: Remove solaris2.9 handling.
558 Change os_include_dir to os/solaris/solaris2.10.
559 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
560 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
561 * configure: Regenerate.
562 * config/abi/post/solaris2.9: Remove.
563 * config/os/solaris/solaris2.9: Rename to ...
564 * config/os/solaris/solaris2.10: ... this.
565 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
568 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
569 Remove Solaris 9 reference.
570 * doc/html/manual/configure.html: Regenerate.
572 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
573 Remove *-*-solaris2.9 xfail.
574 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
577 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
580 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
582 * include/std/functional (__is_location_invariant): Use __or_ helper.
584 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
587 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
590 * include/std/atomic (atomic<_Tp>): Add static assertion.
591 * testsuite/29_atomics/atomic/60695.cc: New.
594 * include/std/functional (function::_Callable): Exclude own type
595 from the callable checks.
596 * testsuite/20_util/function/60594.cc: New.
598 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
599 const to constexpr member functions.
601 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
602 delegating constructor.
603 * include/bits/shared_ptr_base.h
604 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
606 * include/std/atomic: Uglify parameter names.
609 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
610 1.cc: Fix invalid explicit instantiations with unqualified names.
611 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
613 * testsuite/20_util/tuple/53648.cc: Likweise.
614 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
616 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
618 * testsuite/23_containers/unordered_map/requirements/
619 debug_container.cc: Likewise.
620 * testsuite/23_containers/unordered_map/requirements/
621 explicit_instantiation/3.cc: Likewise.
622 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
624 * testsuite/23_containers/unordered_multimap/requirements/
625 explicit_instantiation/3.cc: Likewise.
626 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
628 * testsuite/23_containers/unordered_multiset/requirements/
629 explicit_instantiation/3.cc: Likewise.
630 * testsuite/23_containers/unordered_set/requirements/
631 debug_container.cc: Likewise.
632 * testsuite/23_containers/unordered_set/requirements/
633 explicit_instantiation/3.cc: Likewise.
635 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
636 not use uninitialized members in mem-initializers.
637 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
638 * testsuite/util/testsuite_common_types.h: Update comment.
640 * include/experimental/string_view: Fix inconsistent exception specs.
642 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
643 Remove name of unused parameter.
645 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
647 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
648 _Vector_base::_M_allocate): NullablePointer requirements do not
649 include initialization from literal zero, use value-initialization.
650 * include/bits/vector.tcc (vector::_M_insert_aux,
651 vector::_M_explace_back_aux): Likewise for assignment.
653 * include/bits/allocator.h (operator==, operator!=): Add exception
657 * include/std/tuple (get): Qualify calls to prevent ADL.
658 * testsuite/20_util/tuple/60497.cc: New.
660 * include/std/tuple (tuple_element_t): Define.
661 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
663 * testsuite/20_util/tuple/tuple_element_t.cc: New.
665 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
668 * include/bits/stl_iterator.h (move_iterator::reference,
669 move_iterator::operator*): Implement LWG 2106.
670 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
672 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
674 * include/std/complex (__complex_exp, pow): Specify the template
675 parameter in calls to std::polar, for expression templates.
677 2014-04-10 Andreas Schwab <schwab@suse.de>
679 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
681 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
682 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
684 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
686 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
688 * testsuite/20_util/exchange/1.cc: Add missing return statements.
689 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
690 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
693 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
694 Jack Howarth <howarth@bromo.med.uc.edu>
697 * testsuite/30_threads/condition_variable/54185.cc: Skip for
700 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
702 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
704 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
706 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
707 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
708 * doc/xml/manual/concurrency_extensions.xml
709 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
710 * doc/html/*: Regenerate.
712 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
713 Jonathan Wakely <jwakely@redhat.com>
716 * include/std/iomanip (_Quoted_string operator>>): Do not clear
717 string if input is not quoted.
718 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
720 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
722 * libsupc++/eh_ptr.cc: Improve static_assert messages.
724 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
726 * testsuite/18_support/exception_ptr/60612-terminate.cc
727 (terminate, f): Wrap in _GLIBCXX_USE_C99.
728 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
730 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
732 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
734 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
735 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
737 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
739 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
741 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
742 Fix bad s/part/chapter/ substitutions.
743 * doc/xml/manual/io.xml (std.io): Likewise.
744 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
745 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
747 * doc/html/*: Regenerate.
749 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
752 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
753 compatible with __cxa_exception.
754 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
755 Fix typos in comments.
756 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
757 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
759 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
762 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
763 Use sizeof pointer type not the element type.
764 * testsuite/29_atomics/atomic/60658.cc: New.
766 2014-03-24 Jakub Jelinek <jakub@redhat.com>
768 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
769 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
770 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
771 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
772 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
773 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
774 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
775 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
776 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
777 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
780 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
782 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
784 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
786 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
787 to delegated constructor.
788 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
789 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
792 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
794 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
797 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
799 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
802 * include/debug/functions.h (_Is_contiguous_sequence): Define.
803 (__foreign_iterator): Accept additional iterator. Do not dispatch on
805 (__foreign_iterator_aux2): Likewise. Add overload for iterators
806 from different types of debug container. Use _Is_contiguous_sequence
807 instead of is_lvalue_reference.
808 (__foreign_iterator_aux3): Accept additional iterator. Avoid
809 dereferencing past-the-end iterator.
810 (__foreign_iterator_aux4): Use const value_type* instead of
811 potentially user-defined const_pointer type.
812 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
813 and pass end iterator to __gnu_debug::__foreign_iterator.
814 (__glibcxx_check_insert_range_after): Likewise.
815 (__glibcxx_check_max_load_factor): Fix comment.
816 * include/debug/vector (_Is_contiguous_sequence): Define partial
818 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
819 -std=gnu++11 option and unused header.
820 * testsuite/23_containers/vector/debug/60587.cc: New.
821 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
823 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
825 * crossconfig.m4: Support spu-*-elf* targets.
826 * configure: Regenerate.
828 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
831 * include/std/future (__future_base::_Task_state<>): Change
832 constructors to template functions using perfect forwarding.
833 (__create_task_state): Use decayed type as stored task.
834 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
835 * testsuite/30_threads/packaged_task/60564.cc: New.
837 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
839 * scripts/create_testsuite_files: Add testsuite/experimental in
840 the list of folders to search for tests.
842 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
844 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
846 2014-03-15 Tim Shen <timshen91@gmail.com>
848 * include/bits/regex.h: Add/modify comments.
849 * include/bits/regex_compiler.h: Likewise.
850 * include/bits/regex_executor.h: Likewise.
851 * include/bits/regex_executor.tcc: Likewise.
852 * include/bits/regex_scanner.h: Likewise.
854 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
857 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
858 _ZNSt12system_errorC* symbols which are not exported on any target.
860 2014-03-12 Roland McGrath <mcgrathr@google.com>
861 Mark Seaborn <mseaborn@google.com>
864 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
865 the address of a null pointer, not with a null pointer to pointer.
866 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
867 * testsuite/18_support/bad_exception/59392.cc: New file.
869 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
872 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
874 * include/debug/map (map::operator=(map&&)): Likewise.
875 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
876 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
877 * include/debug/set (set::operator=(set&&)): Likewise.
878 * include/debug/unordered_map
879 (unordered_map::operator=(unordered_map&&)): Likewise.
880 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
881 * include/debug/unordered_set
882 (unordered_set::operator=(unordered_set&&)): Likewise.
883 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
884 * include/debug/vector (vector::operator=(vector&&)): Likewise.
885 * testsuite/23_containers/forward_list/debug/60499.cc: New
886 * testsuite/23_containers/map/debug/60499.cc: New
887 * testsuite/23_containers/multimap/debug/60499.cc: New
888 * testsuite/23_containers/multiset/debug/60499.cc: New
889 * testsuite/23_containers/set/debug/60499.cc: New
890 * testsuite/23_containers/unordered_map/debug/60499.cc: New
891 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
892 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
893 * testsuite/23_containers/unordered_set/debug/60499.cc: New
894 * testsuite/23_containers/vector/debug/60499.cc: New
896 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
898 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
899 for filesystem and fundamentals TS work items.
901 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
904 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
905 Adjust dg-error directives.
907 2014-02-26 Tim Shen <timshen91@gmail.com>
909 * include/bits/regex.tcc (match_results<>::format,
910 regex_replace<>): Update __out after calling std::copy.
911 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
913 * testsuite/28_regex/match_results/format.cc: Likewise.
915 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
918 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
919 allocator_type&)): Remove redundant call to _M_initialize_map.
920 (deque::deque(const allocator_type&)): Initialize _Base with a
921 constructor that calls _M_initialize_map.
925 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
927 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
930 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
932 Rename testsuite directory shared_mutex to shared_timed_mutex
934 * testsuite/30_threads/shared_mutex: Moved to...
935 * testsuite/30_threads/shared_timed_mutex: ...here
937 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
939 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
940 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
941 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
942 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
943 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
944 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
945 * testsuite/30_threads/shared_lock/requirements/
946 explicit_instantiation.cc: Ditto.
947 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
948 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
949 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
950 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
951 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
952 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
953 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
954 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
955 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
956 * testsuite/30_threads/shared_mutex/requirements/
957 standard_layout.cc: Ditto.
958 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
959 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
960 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
961 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
962 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
964 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
966 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
967 execution on i?86-*-solaris2.9, remove comment.
968 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
970 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
972 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
973 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
974 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
976 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
978 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
979 not use varargs when argument could be non-POD.
980 (__alloctr_rebind_helper): Eliminate static const bool member by
981 using true_type and false_type.
982 (allocator_traits::__allocate_helper): Likewise.
983 (allocator_traits::__construct_helper): Likewise.
984 (allocator_traits::__destroy_helper): Likewise.
985 (allocator_traits::__maxsize_helper): Likewise.
986 (allocator_traits::__select_helper): Likewise.
987 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
988 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
989 Remove redundant condition.
990 * include/bits/stl_vector.h (vector::operator=(const vector&)):
992 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
993 indirection through __alloc_traits.
994 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
995 Eliminate static const bool members by using true_type and false_type.
996 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
997 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
998 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1000 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1003 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1004 (vector::_M_data_ptr): New overloaded functions to ensure empty
1005 vectors do not dereference the pointer.
1006 * testsuite/23_containers/vector/59829.cc: New.
1007 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1008 Adjust dg-error line number.
1009 * testsuite/23_containers/vector/requirements/dr438/
1010 constructor_1_neg.cc: Likewise.
1011 * testsuite/23_containers/vector/requirements/dr438/
1012 constructor_2_neg.cc: Likewise.
1013 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1017 * include/ext/array_allocator.h: Add deprecated attribute.
1020 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1021 installation and use of python printers.
1022 * doc/xml/manual/status_cxx2011.xml: Update.
1023 * doc/html/*: Regenerate.
1025 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1026 Kyle Lippincott <spectral@google.com>
1029 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1030 constructor and grant friendship to weak_ptr.
1031 (weak_ptr::lock()): Use new constructor.
1032 * include/bits/shared_ptr_base.h
1033 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1034 and define specializations.
1035 (__shared_count): Add new non-throwing constructor.
1036 (__shared_ptr): Add new non-throwing constructor and grant friendship
1038 (__weak_ptr::lock()): Use new constructor.
1039 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1040 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1042 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1045 * include/bits/shared_ptr_base.h
1046 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1049 2014-01-27 Jason Merrill <jason@redhat.com>
1054 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1055 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1056 (__cxa_allocate_exception): Don't set it here.
1058 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1060 * include/bits/stl_map.h: Remove anachronistic comment.
1061 * include/bits/stl_multimap.h: Add whitespace.
1062 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1063 -std=gnu++11 instead of -std=c++11.
1064 * testsuite/23_containers/map/operators/2.cc: Likewise.
1065 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1066 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1067 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1069 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1070 * configure: Regenerate.
1072 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1075 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1076 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1078 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1079 Peter A. Bigot <pab@pabigot.com>
1082 * include/experimental/string_view
1083 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1084 Correct copy start location.
1086 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1087 Peter A. Bigot <pab@pabigot.com>
1090 * include/experimental/string_view (operator[](size_type) const):
1091 Fix one-off index error in debug check.
1092 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1093 test basic_string_view at size().
1094 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1096 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1097 Peter A. Bigot <pab@pabigot.com>
1100 * include/experimental/string_view
1101 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1102 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1103 Comment out catch of out_of_range; No terminating null
1104 in basic_string_view. Check begin == end.
1105 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1108 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1111 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1112 constructor to prevent it being implicitly defined as deleted, but
1113 do not copy anything.
1114 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1115 Define copy and move constructors similar to _Safe_sequence_base's.
1116 * testsuite/23_containers/unordered_map/59548.cc: New.
1118 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1119 Steve Ellcey <sellcey@mips.com>
1121 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1123 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1124 * (configure, config.h.in): Regenerate.
1125 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1127 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1129 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1130 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1133 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1134 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1136 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1138 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1139 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1140 functions to perform moving or copying of elements from rvalue tree.
1141 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1142 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1143 * testsuite/23_containers/map/59872.cc: New.
1144 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1146 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1148 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1151 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1152 Split into separate default constructor and constructor taking
1154 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1155 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1157 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1158 * include/debug/list (list::list(const _Allocator&)): Likewise.
1159 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1161 * include/debug/multimap.h
1162 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1163 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1165 * include/debug/multiset.h
1166 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1167 * include/debug/vector (vector::vector(const allocator_type&)):
1169 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1170 * include/profile/list (list::list(const _Allocator&)): Likewise.
1171 * include/profile/map.h
1172 (map::map(const _Compare&, const _Allocator&)): Likewise.
1173 * include/profile/multimap.h
1174 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1175 * include/profile/set.h
1176 (set::set(const _Compare&, const _Allocator&)): Likewise.
1177 * include/profile/multiset.h
1178 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1179 * include/profile/vector (vector::vector(const _Allocator&)):
1181 * testsuite/23_containers/deque/58764.cc: New.
1182 * testsuite/23_containers/list/58764.cc: New.
1183 * testsuite/23_containers/map/58764.cc: New.
1184 * testsuite/23_containers/multimap/58764.cc: New.
1185 * testsuite/23_containers/set/58764.cc: New.
1186 * testsuite/23_containers/multiset/58764.cc: New.
1187 * testsuite/23_containers/vector/58764.cc: New.
1188 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1189 Adjust dg-error line number.
1190 * testsuite/23_containers/deque/requirements/dr438/
1191 constructor_1_neg.cc: Likewise.
1192 * testsuite/23_containers/deque/requirements/dr438/
1193 constructor_2_neg.cc: Likewise.
1194 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1196 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1198 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1200 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1202 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1204 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1206 * testsuite/23_containers/vector/requirements/dr438/
1207 constructor_1_neg.cc: Likewise.
1208 * testsuite/23_containers/vector/requirements/dr438/
1209 constructor_2_neg.cc: Likewise.
1210 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1213 PR libstdc++/58764 (again)
1214 * include/bits/stl_list.h (list): Make default constructor's exception
1215 specification conditional.
1216 * include/bits/stl_vector.h (vector): Likewise.
1217 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1218 to default constructor.
1219 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1220 Adjust dg-error line number.
1221 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1223 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1225 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1227 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1229 * testsuite/23_containers/vector/requirements/dr438/
1230 constructor_1_neg.cc: Likewise.
1231 * testsuite/23_containers/vector/requirements/dr438/
1232 constructor_2_neg.cc: Likewise.
1233 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1236 2014-01-21 Tim Shen <timshen91@gmail.com>
1238 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1239 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1240 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1242 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1245 * include/bits/hashtable.h (__cache_default): Do not depend on
1246 whether the hash function is DefaultConstructible or CopyAssignable.
1247 (_Hashtable): Adjust static assertions.
1248 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1249 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1250 dg-error line number.
1251 * testsuite/23_containers/unordered_set/
1252 not_default_constructible_hash_neg.cc: Remove.
1254 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1256 * scripts/create_testsuite_files: Add testsuite/experimental in
1257 the list of folders to search for tests.
1258 * include/experimental/string_view
1259 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1260 incompatible with constexpr qualifier.
1261 (basic_string_view<>::front()): Likewise.
1262 (basic_string_view<>::back()): Likewise.
1263 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1264 Merge dg-options directives into one.
1265 * testsuite/experimental/string_view/element_access/char/2.cc:
1266 Likewise. Remove invalid experimental namespace scope on
1269 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1272 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1273 friendship to _Local_iterator_base<..., false>.
1274 (_Local_iterator_base): Give protected access to all existing members.
1275 (_Local_iterator_base::_M_curr()): New public accessor.
1276 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1277 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1278 the lifetime of the _Hash_code_base explicitly.
1279 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1280 (_Local_iterator_base<..., false>): Define copy constructor and copy
1281 assignment operator that use new functions to manage _Hash_code_base.
1282 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1283 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1284 Use public API for _Local_iterator_base.
1285 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1286 * include/debug/unordered_map (__debug::unordered_map::erase(),
1287 __debug::unordered_multimap::erase()): Likewise.
1288 * include/debug/unordered_set (__debug::unordered_set::erase(),
1289 __debug::unordered_multiset::erase()): Likewise.
1290 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1292 2014-01-19 Tim Shen <timshen91@gmail.com>
1294 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1295 Fix parse error of multiple consecutive quantifiers like "a**".
1296 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1298 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1300 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1302 * include/profile/set.h (set): Implement C++11 allocator-aware
1303 container requirements.
1304 * include/profile/map.h (map): Likewise.
1305 * include/profile/multiset.h (multiset): Likewise.
1306 * include/profile/multimap.h (multimap): Likewise.
1307 * include/profile/set.h
1308 (set::operator=(const set&)): Define as default in C++11 mode.
1309 (set::operator=(set&&)): Likewise.
1310 * include/profile/map.h
1311 (map::operator=(const map&)): Likewise.
1312 (map::operator=(map&&)): Likewise.
1313 * include/profile/multiset.h
1314 (multiset::operator=(const multiset&)): Likewise.
1315 (multiset::operator=(multiset&&)): Likewise.
1316 * include/profile/multimap.h
1317 (multimap::operator=(const multimap&)): Likewise.
1318 (multimap::operator=(multimap&&)): Likewise.
1319 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1320 Rely on the same operator from normal mode.
1321 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1323 * include/profile/multiset.h
1324 (multiset::operator=(std::initializer_list<>)): Likewise.
1325 * include/profile/multimap.h
1326 (multimap::operator=(std::initializer_list<>)): Likewise.
1327 * include/profile/set.h (set::swap(set&)): Add noexcept
1329 * include/profile/map.h (map::swap(map&)): Likewise.
1330 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1331 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1333 2014-01-17 Tim Shen <timshen91@gmail.com>
1335 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1337 * include/bits/regex_automaton.h: Do not use std::set.
1338 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1339 _BracketMatcher<>::_M_add_collating_element(),
1340 _BracketMatcher<>::_M_add_equivalence_class(),
1341 _BracketMatcher<>::_M_make_range()): Likewise.
1342 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1344 * include/bits/regex_executor.h: Do not use std::queue.
1345 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1346 _Executor<>::_M_dfs()): Likewise.
1347 * include/std/regex: Remove <map>, <set> and <queue>.
1349 2014-01-17 Tim Shen <timshen91@gmail.com>
1351 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1352 basic_regex<>::assign()): Change __compile_nfa to accept
1354 * include/bits/regex_compiler.h: Change _Compiler's template
1355 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1356 * include/bits/regex_compiler.tcc: Likewise.
1358 2014-01-17 Tim Shen <timshen91@gmail.com>
1360 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1362 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1363 _ScannerBase from _Scanner; Change _Scanner's template argument from
1364 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1366 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1367 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1368 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1370 * include/std/regex: Add <cstring> for using strchr.
1372 2014-01-17 Tim Shen <timshen91@gmail.com>
1374 * bits/regex_automaton.tcc: Indentation fix.
1375 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1376 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1377 _BracketMatcher<>): Add bool option template parameters and
1378 specializations to make matching more efficient and space saving.
1379 * bits/regex_compiler.tcc: Likewise.
1381 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1384 * include/bits/hashtable_policy.h: Fix some long lines.
1385 * include/bits/hashtable.h (__hash_code_base_access): Define and
1386 use it to check its _M_bucket_index noexcept qualification. Use
1388 (__access_protected_ctor): ...this.
1389 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1391 * testsuite/23_containers/unordered_set/
1392 not_default_constructible_hash_neg.cc: Likewise.
1394 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1396 * include/debug/set.h (set): Implement C++11 allocator-aware
1397 container requirements.
1398 * include/debug/map.h (map): Likewise.
1399 * include/debug/multiset.h (multiset): Likewise.
1400 * include/debug/multimap.h (multimap): Likewise.
1401 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1402 fix implementation regarding management of safe iterators.
1403 * include/debug/map.h (map::operator=(map&&)): Likewise.
1404 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1405 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1407 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1408 Rely on the same operator from normal mode.
1409 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1411 * include/debug/multiset.h
1412 (multiset::operator=(std::initializer_list<>)): Likewise.
1413 * include/debug/multimap.h
1414 (multimap::operator=(std::initializer_list<>)): Likewise.
1415 * include/debug/set.h (set::swap(set&)): Add noexcept
1416 specification, add allocator equality check.
1417 * include/debug/map.h (map::swap(map&)): Likewise.
1418 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1419 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1421 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1424 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1425 and stylistic improvements.
1426 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1427 and update for C++11.
1428 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1431 * doc/xml/manual/backwards_compatibility.xml
1432 (backwards.third.nocreate_noreplace): Correct and expand.
1435 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1437 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1440 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1441 support for non-Movable types.
1444 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1446 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1448 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1449 *this allocator instance when building temporary vector instance
1450 so that *this allocator does not get moved.
1451 * include/debug/safe_base.h
1452 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1453 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1454 move constructor from _Safe_sequence_base.
1455 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1456 safe iterators if the instance is moved.
1457 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1458 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1459 check on a vector iterator.
1460 * testsuite/23_containers/vector/allocator/move_assign.cc
1462 (test03): New, test with a non-propagating allocator.
1463 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1465 2014-01-07 Tim Shen <timshen91@gmail.com>
1467 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1468 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1469 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1470 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1471 _BracketMatcher<>::_M_add_char(),
1472 _BracketMatcher<>::_M_add_collating_element(),
1473 _BracketMatcher<>::_M_add_equivalence_class(),
1474 _BracketMatcher<>::_M_add_character_class(),
1475 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1476 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1477 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1478 to template parameter; Add cache for _BracketMatcher. Adjust
1479 declarations from here...
1480 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1481 imbuing a regex will trigger a recompilation to rebuild the cache.
1482 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1483 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1484 different template bool parameters.
1485 * include/bits/regex_executor.h: Remove unnecessary declarations.
1486 * include/std/regex: Adjust including orders.
1487 * testsuite/28_regex/traits/char/user_defined.cc: New.
1488 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1490 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1492 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1493 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1494 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1495 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1496 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1498 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1500 Update copyright years
1502 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1504 * testsuite/18_support/new_handler.cc,
1505 testsuite/18_support/terminate_handler.cc,
1506 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1507 the copyright notice.
1509 Copyright (C) 2014 Free Software Foundation, Inc.
1511 Copying and distribution of this file, with or without modification,
1512 are permitted in any medium without royalty provided the copyright
1513 notice and this notice are preserved.