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-25 Paolo Carlini <paolo.carlini@oracle.com>
10 * include/profile/map.h: Fix typo in comment; minor formatting fix.
11 * include/profile/multimap.h: Likewise.
12 * include/profile/set.h: Likewise.
13 * include/profile/multiset.h: Likewise.
15 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
17 * include/profile/array: Clean useless white chars.
18 * include/profile/base.h: Likewise.
19 * include/profile/iterator_tracker.h: Likewise.
20 * include/profile/bitset: Code cleanup and remove not instrumented code.
21 * include/profile/deque: Likewise.
22 * include/profile/forward_list: Likewise.
23 * include/profile/list (std::__profile::_List_profile<>): New.
24 (std::__profile::list<>): Inherit from latter and adapt.
25 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
26 advise to match any ordered to unordered container conversion.
27 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
29 * include/Makefile.am: Add latter.
30 * include/Makefile.in: Regenerate.
31 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
32 remove not instrumented code.
33 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
34 * include/profile/set.h (std::__profile::set<>): Likewise.
35 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
36 * include/profile/unordered_base.h: Add some line feed.
37 * include/profile/unordered_map: Clean useless white chars and replace
39 * include/profile/unordered_set: Likewise.
40 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
41 (std::__profile::_Vector_profile_post<>): New.
42 (std::__profile::vector<>): Inherit from latter and adapt.
44 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
47 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
48 dragonfly target selector to all tests that run on freebsd.
50 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
52 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
53 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
55 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
57 * testsuite/30_threads/call_once/60497.cc: Likewise.
58 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
59 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
60 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
61 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
62 * testsuite/30_threads/promise/60966.cc: Likewise.
63 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
64 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
65 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
66 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
67 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
68 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
69 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
70 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
71 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
72 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
73 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
74 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
75 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
76 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
77 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
78 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
79 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
81 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
84 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
86 * testsuite/23_containers/unordered_set/61143.cc: New.
87 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
89 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
92 * include/std/type_traits: Move include outside namespace std.
93 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
94 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
95 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
98 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
101 2014-05-21 John Marino <gnugcc@marino.st>
103 * acinclude.m4 (*-*-dragonfly*): New target.
104 * configure: Regenerate.
105 * configure.host (*-*-dragonfly*): New target.
106 * config/locale/dragonfly/c_locale.cc: New.
107 * config/locale/dragonfly/ctype_members.cc: New.
108 * config/os/bsd/dragonfly/ctype_base.h: New.
109 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
110 * config/os/bsd/dragonfly/ctype_inline.h: New.
111 * config/os/bsd/dragonfly/os_defines.h: New.
113 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
115 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
116 libstdc++.exp imports those flags via getenv.
117 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
118 CXXFLAGS contains a '-O' flag.
120 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
124 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
127 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
128 and add unwind directives.
130 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
132 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
134 2014-05-20 Tim Shen <timshen91@gmail.com>
137 * include/bits/regex_compiler.h
138 (_BracketMatcher<>::_M_add_character_class): Add negative character
140 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
142 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
145 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
147 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
149 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
151 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
152 * libsupc++/new_opnt.cc: Likewise.
154 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
157 * include/std/future (__future_base::_State_baseV2::_M_set_result):
158 Pass lock into _M_do_set and hold it until the function returns.
159 Signal condition variable after call_once completes.
160 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
162 * testsuite/30_threads/promise/60966.cc: New.
164 2014-05-16 Iain Sandoe <iain@codesourcery.com>
165 Sandra Loosemore <sandra@codesourcery.com>
167 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
168 until after checking that the test is eligible to be run.
170 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
172 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
173 test for 32-bit target.
174 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
176 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
179 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
182 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
183 and add unwind directives.
185 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
187 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
189 * include/std/chrono (chrono_literals::__select_type::_Select_type):
191 (chrono_literals::_Checked_integral_constant): Define.
192 Simplify UDL operator templates and check for overflow.
193 * testsuite/20_util/duration/literals/range.cc: New.
195 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
196 Jonathan Wakely <jwakely@redhat.com>
199 * include/bits/parse_numbers.h: Use integral_constant to remove
200 duplication and simplify.
201 * testsuite/20_util/duration/literals/61166.cc: New.
203 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
206 * include/std/type_traits (__make_unsigned, __make_signed): Define
207 specializations for wchar_t, char16_t and char32_t.
208 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
209 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
210 test for make_unsigned<volatile wchar_t>.
211 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
213 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
215 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
217 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
220 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
222 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
223 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
224 * include/std/utility (tuple_size, tuple_element): Likewise.
225 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
226 Adjust dg-error line number.
228 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
230 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
231 (__tuple_element_t): Define.
232 (tuple_element): Use __tuple_element_t.
233 (__cv_tuple_size): Define.
234 (tuple_size<cv _Tp>): Use __cv_tuple_size.
235 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
236 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
237 (__tuple_compare): Remove size check, re-order parameters.
238 (operator==, operator<): Use static_assert to check requirements.
239 * include/std/functional (__volget): use __tuple_element_t.
240 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
241 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
243 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
246 * include/std/tuple (get, __tuple_compare): Qualify more calls to
247 prevent ADL. Cast comparison results to bool.
248 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
249 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
252 * include/debug/array (get): Qualify call to other get overload.
253 * include/profile/array (get): Likewise.
254 * include/std/array (get): Likewise.
255 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
256 * include/std/mutex (unique_lock, call_once): Use __addressof.
257 (__unlock_impl): Remove unused template.
258 (__try_to_lock): Declare inline.
259 (__try_lock_impl::__do_try_lock): Qualify function calls.
260 (lock): Avoid narrowing conversion.
261 * testsuite/20_util/bind/60497.cc: New.
262 * testsuite/23_containers/array/element_access/60497.cc: New.
263 * testsuite/30_threads/call_once/60497.cc: New.
264 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
266 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
268 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
269 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
270 * acinclude.m4 (libtool_VERSION): Bump.
271 * configure: Regenerate.
272 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
273 * testsuite/28_regex/regex_error/base.cc: New.
275 2014-05-08 Joshua Gay <jgay@gnu.org>
278 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
279 source" with "free software".
280 * doc/html/faq.html: Likewise.
282 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
285 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
287 (operator=(const ios_base&)): Likewise.
288 * include/std/streambuf: Remove trailing whitespace.
289 (basic_streambuf(const basic_streambuf&)): Fix initializer for
290 _M_out_end. Define as defaulted for C++11.
291 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
292 (swap(basic_streambuf&)): Define for C++11.
293 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
296 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
298 * include/std/iostream: Fix URL in comment.
299 * src/c++98/ios_init.cc: Fix path in comment.
301 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
303 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
304 * configure: Regenerate.
306 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
309 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
311 * testsuite/23_containers/set/cons/61023.cc: New.
314 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
316 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
317 arithmetic to obtain a mutable iterator from const_iterator.
318 * include/bits/vector.tcc (vector::insert): Likewise.
319 * include/debug/vector (vector::erase): Likewise.
320 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
321 Adjust dg-error line number.
322 * testsuite/23_containers/vector/requirements/dr438/
323 constructor_1_neg.cc: Likewise.
324 * testsuite/23_containers/vector/requirements/dr438/
325 constructor_2_neg.cc: Likewise.
326 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
329 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
331 * include/Makefile.in: Regenerate.
333 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
335 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
336 parameter to pass the 2 instances to check allocator equality.
337 * include/debug/safe_container.h: New, define _Safe_container<>.
338 * include/Makefile.am: Add previous.
339 * include/debug/deque (std::__debug::deque<>): Inherit
340 _Safe_container<>. Use default implementation for all special
342 * include/debug/forward_list (std::__debug::forward_list<>):
344 * include/debug/list (std::__debug::list<>): Likewise.
345 * include/debug/map.h (std::__debug::map<>): Likewise.
346 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
347 * include/debug/set.h (std::__debug::set<>): Likewise.
348 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
349 * include/debug/string (std::__debug::basic_string<>): Likewise.
350 * include/debug/unordered_map
351 (std::__debug::unordered_map<>): Likewise.
352 (std::__debug::unordered_multimap<>): Likewise.
353 * include/debug/unordered_set
354 (std::__debug::unordered_set<>): Likewise.
355 (std::__debug::unordered_multiset<>): Likewise.
356 * include/debug/vector (std::__debug::vector<>): Likewise.
357 * include/debug/safe_base.h (_Safe_sequence_base()): Add
359 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
360 (~_Safe_sequence_base()): Add noexcept.
361 * include/debug/safe_sequence.h
362 (std::__debug::_Safe_node_sequence<>): New.
363 * include/debug/safe_unordered_base.h
364 (_Safe_unordered_container_base()): Add noexcept.
365 (~_Safe_unordered_container_base()): Likewise.
366 (_M_swap(_Safe_unordered_container_base&)): Likewise.
367 * include/debug/safe_unordered_container.h:
368 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
369 (_Safe_unordered_container<>::_M_invalidate_all()): New.
370 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
372 * testsuite/util/debug/checks.h (check_construct1): Just implement
373 an invalid constructor invocation and no other operations
374 potentially not supported by some types of container.
375 (check_construct2): Likewise.
376 (check_construct3): Likewise.
377 * testsuite/23_containers/forward_list/allocator/move.cc: Add
378 check on iterators to make sure they are correctly moved in debug
380 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
382 * testsuite/23_containers/map/allocator/move.cc: Likewise.
383 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
384 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
385 * testsuite/23_containers/multimap/allocator/move_assign.cc:
387 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
388 * testsuite/23_containers/multiset/allocator/move_assign.cc:
390 * testsuite/23_containers/set/allocator/move.cc: Likewise.
391 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
392 * testsuite/23_containers/unordered_map/allocator/move.cc:
394 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
396 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
398 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
400 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
402 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
404 * testsuite/23_containers/unordered_set/allocator/move.cc:
406 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
408 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
410 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
412 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
414 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
416 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
418 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
419 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
420 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
421 * testsuite/23_containers/map/debug/move_neg.cc: New.
422 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
423 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
424 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
425 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
426 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
427 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
428 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
429 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
430 * testsuite/23_containers/set/debug/move_neg.cc: New.
431 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
433 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
435 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
436 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
438 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
440 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
442 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
444 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
446 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
448 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
450 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
452 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
453 * testsuite/23_containers/vector/debug/move_neg.cc: New.
455 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
457 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
458 (CXXABI_1.3.9): Remove __float128 symbols.
460 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
463 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
464 function to handle both C++03 and C++11 _Rb_tree_node implementations.
465 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
466 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
468 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
471 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
472 Check the correct type in the static assertion.
473 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
475 2014-04-27 Tim Shen <timshen91@gmail.com>
477 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
478 Add _S_opcode_repeat support to distingush a loop from
479 _S_opcode_alternative.
480 * include/bits/regex_automaton.tcc (_State_base::_M_print,
481 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
482 _StateSeq<>::_M_clone): Likewise.
483 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
485 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
486 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
487 Uglify local variable __i.
488 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
489 Use size_t instead of int to compare with vector::size().
491 2014-04-27 Tim Shen <timshen91@gmail.com>
493 * include/bits/regex_executor.h: Add _M_rep_count to track how
494 many times this repeat node are visited.
495 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
496 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
499 2014-04-27 Tim Shen <timshen91@gmail.com>
501 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
502 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
503 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
504 * include/bits/regex_automaton.h: Remove quantifier counting variable.
505 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
506 Adjust debug NFA dump.
508 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
511 * include/experimental/optional (operator!=): Implement in terms of
513 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
514 * testsuite/experimental/optional/relops/2.cc: Likewise.
515 * testsuite/experimental/optional/relops/3.cc: Likewise.
516 * testsuite/experimental/optional/relops/4.cc: Likewise.
517 * testsuite/experimental/optional/relops/5.cc: Likewise.
518 * testsuite/experimental/optional/relops/6.cc: Likewise.
520 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
523 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
524 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
527 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
529 * testsuite/util/testsuite_abi.cc (check_version): Update for
532 2014-04-24 Tim Shen <timshen91@gmail.com>
534 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
535 Do _M_alt before _M_next.
536 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
538 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
541 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
542 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
543 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
545 2014-04-24 Andreas Schwab <schwab@suse.de>
547 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
548 new CXXABI_1.3.9 symbols.
550 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
552 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
553 (CXXABI_1.3.9): New version.
555 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
558 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
559 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
560 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
562 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
564 * configure.host: Remove solaris2.9 handling.
565 Change os_include_dir to os/solaris/solaris2.10.
566 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
567 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
568 * configure: Regenerate.
569 * config/abi/post/solaris2.9: Remove.
570 * config/os/solaris/solaris2.9: Rename to ...
571 * config/os/solaris/solaris2.10: ... this.
572 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
575 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
576 Remove Solaris 9 reference.
577 * doc/html/manual/configure.html: Regenerate.
579 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
580 Remove *-*-solaris2.9 xfail.
581 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
584 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
587 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
589 * include/std/functional (__is_location_invariant): Use __or_ helper.
591 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
594 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
597 * include/std/atomic (atomic<_Tp>): Add static assertion.
598 * testsuite/29_atomics/atomic/60695.cc: New.
601 * include/std/functional (function::_Callable): Exclude own type
602 from the callable checks.
603 * testsuite/20_util/function/60594.cc: New.
605 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
606 const to constexpr member functions.
608 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
609 delegating constructor.
610 * include/bits/shared_ptr_base.h
611 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
613 * include/std/atomic: Uglify parameter names.
616 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
617 1.cc: Fix invalid explicit instantiations with unqualified names.
618 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
620 * testsuite/20_util/tuple/53648.cc: Likweise.
621 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
623 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
625 * testsuite/23_containers/unordered_map/requirements/
626 debug_container.cc: Likewise.
627 * testsuite/23_containers/unordered_map/requirements/
628 explicit_instantiation/3.cc: Likewise.
629 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
631 * testsuite/23_containers/unordered_multimap/requirements/
632 explicit_instantiation/3.cc: Likewise.
633 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
635 * testsuite/23_containers/unordered_multiset/requirements/
636 explicit_instantiation/3.cc: Likewise.
637 * testsuite/23_containers/unordered_set/requirements/
638 debug_container.cc: Likewise.
639 * testsuite/23_containers/unordered_set/requirements/
640 explicit_instantiation/3.cc: Likewise.
642 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
643 not use uninitialized members in mem-initializers.
644 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
645 * testsuite/util/testsuite_common_types.h: Update comment.
647 * include/experimental/string_view: Fix inconsistent exception specs.
649 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
650 Remove name of unused parameter.
652 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
654 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
655 _Vector_base::_M_allocate): NullablePointer requirements do not
656 include initialization from literal zero, use value-initialization.
657 * include/bits/vector.tcc (vector::_M_insert_aux,
658 vector::_M_explace_back_aux): Likewise for assignment.
660 * include/bits/allocator.h (operator==, operator!=): Add exception
664 * include/std/tuple (get): Qualify calls to prevent ADL.
665 * testsuite/20_util/tuple/60497.cc: New.
667 * include/std/tuple (tuple_element_t): Define.
668 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
670 * testsuite/20_util/tuple/tuple_element_t.cc: New.
672 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
675 * include/bits/stl_iterator.h (move_iterator::reference,
676 move_iterator::operator*): Implement LWG 2106.
677 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
679 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
681 * include/std/complex (__complex_exp, pow): Specify the template
682 parameter in calls to std::polar, for expression templates.
684 2014-04-10 Andreas Schwab <schwab@suse.de>
686 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
688 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
689 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
691 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
693 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
695 * testsuite/20_util/exchange/1.cc: Add missing return statements.
696 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
697 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
700 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
701 Jack Howarth <howarth@bromo.med.uc.edu>
704 * testsuite/30_threads/condition_variable/54185.cc: Skip for
707 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
709 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
711 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
713 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
714 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
715 * doc/xml/manual/concurrency_extensions.xml
716 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
717 * doc/html/*: Regenerate.
719 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
720 Jonathan Wakely <jwakely@redhat.com>
723 * include/std/iomanip (_Quoted_string operator>>): Do not clear
724 string if input is not quoted.
725 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
727 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
729 * libsupc++/eh_ptr.cc: Improve static_assert messages.
731 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
733 * testsuite/18_support/exception_ptr/60612-terminate.cc
734 (terminate, f): Wrap in _GLIBCXX_USE_C99.
735 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
737 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
739 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
741 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
742 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
744 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
746 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
748 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
749 Fix bad s/part/chapter/ substitutions.
750 * doc/xml/manual/io.xml (std.io): Likewise.
751 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
752 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
754 * doc/html/*: Regenerate.
756 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
759 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
760 compatible with __cxa_exception.
761 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
762 Fix typos in comments.
763 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
764 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
766 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
769 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
770 Use sizeof pointer type not the element type.
771 * testsuite/29_atomics/atomic/60658.cc: New.
773 2014-03-24 Jakub Jelinek <jakub@redhat.com>
775 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
776 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
777 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
778 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
779 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
780 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
781 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
782 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
783 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
784 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
787 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
789 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
791 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
793 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
794 to delegated constructor.
795 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
796 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
799 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
801 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
804 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
806 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
809 * include/debug/functions.h (_Is_contiguous_sequence): Define.
810 (__foreign_iterator): Accept additional iterator. Do not dispatch on
812 (__foreign_iterator_aux2): Likewise. Add overload for iterators
813 from different types of debug container. Use _Is_contiguous_sequence
814 instead of is_lvalue_reference.
815 (__foreign_iterator_aux3): Accept additional iterator. Avoid
816 dereferencing past-the-end iterator.
817 (__foreign_iterator_aux4): Use const value_type* instead of
818 potentially user-defined const_pointer type.
819 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
820 and pass end iterator to __gnu_debug::__foreign_iterator.
821 (__glibcxx_check_insert_range_after): Likewise.
822 (__glibcxx_check_max_load_factor): Fix comment.
823 * include/debug/vector (_Is_contiguous_sequence): Define partial
825 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
826 -std=gnu++11 option and unused header.
827 * testsuite/23_containers/vector/debug/60587.cc: New.
828 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
830 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
832 * crossconfig.m4: Support spu-*-elf* targets.
833 * configure: Regenerate.
835 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
838 * include/std/future (__future_base::_Task_state<>): Change
839 constructors to template functions using perfect forwarding.
840 (__create_task_state): Use decayed type as stored task.
841 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
842 * testsuite/30_threads/packaged_task/60564.cc: New.
844 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
846 * scripts/create_testsuite_files: Add testsuite/experimental in
847 the list of folders to search for tests.
849 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
851 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
853 2014-03-15 Tim Shen <timshen91@gmail.com>
855 * include/bits/regex.h: Add/modify comments.
856 * include/bits/regex_compiler.h: Likewise.
857 * include/bits/regex_executor.h: Likewise.
858 * include/bits/regex_executor.tcc: Likewise.
859 * include/bits/regex_scanner.h: Likewise.
861 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
864 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
865 _ZNSt12system_errorC* symbols which are not exported on any target.
867 2014-03-12 Roland McGrath <mcgrathr@google.com>
868 Mark Seaborn <mseaborn@google.com>
871 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
872 the address of a null pointer, not with a null pointer to pointer.
873 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
874 * testsuite/18_support/bad_exception/59392.cc: New file.
876 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
879 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
881 * include/debug/map (map::operator=(map&&)): Likewise.
882 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
883 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
884 * include/debug/set (set::operator=(set&&)): Likewise.
885 * include/debug/unordered_map
886 (unordered_map::operator=(unordered_map&&)): Likewise.
887 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
888 * include/debug/unordered_set
889 (unordered_set::operator=(unordered_set&&)): Likewise.
890 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
891 * include/debug/vector (vector::operator=(vector&&)): Likewise.
892 * testsuite/23_containers/forward_list/debug/60499.cc: New
893 * testsuite/23_containers/map/debug/60499.cc: New
894 * testsuite/23_containers/multimap/debug/60499.cc: New
895 * testsuite/23_containers/multiset/debug/60499.cc: New
896 * testsuite/23_containers/set/debug/60499.cc: New
897 * testsuite/23_containers/unordered_map/debug/60499.cc: New
898 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
899 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
900 * testsuite/23_containers/unordered_set/debug/60499.cc: New
901 * testsuite/23_containers/vector/debug/60499.cc: New
903 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
905 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
906 for filesystem and fundamentals TS work items.
908 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
911 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
912 Adjust dg-error directives.
914 2014-02-26 Tim Shen <timshen91@gmail.com>
916 * include/bits/regex.tcc (match_results<>::format,
917 regex_replace<>): Update __out after calling std::copy.
918 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
920 * testsuite/28_regex/match_results/format.cc: Likewise.
922 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
925 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
926 allocator_type&)): Remove redundant call to _M_initialize_map.
927 (deque::deque(const allocator_type&)): Initialize _Base with a
928 constructor that calls _M_initialize_map.
932 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
934 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
937 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
939 Rename testsuite directory shared_mutex to shared_timed_mutex
941 * testsuite/30_threads/shared_mutex: Moved to...
942 * testsuite/30_threads/shared_timed_mutex: ...here
944 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
946 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
947 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
948 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
949 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
950 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
951 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
952 * testsuite/30_threads/shared_lock/requirements/
953 explicit_instantiation.cc: Ditto.
954 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
955 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
956 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
957 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
958 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
959 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
960 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
961 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
962 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
963 * testsuite/30_threads/shared_mutex/requirements/
964 standard_layout.cc: Ditto.
965 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
966 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
967 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
968 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
969 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
971 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
973 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
974 execution on i?86-*-solaris2.9, remove comment.
975 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
977 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
979 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
980 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
981 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
983 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
985 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
986 not use varargs when argument could be non-POD.
987 (__alloctr_rebind_helper): Eliminate static const bool member by
988 using true_type and false_type.
989 (allocator_traits::__allocate_helper): Likewise.
990 (allocator_traits::__construct_helper): Likewise.
991 (allocator_traits::__destroy_helper): Likewise.
992 (allocator_traits::__maxsize_helper): Likewise.
993 (allocator_traits::__select_helper): Likewise.
994 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
995 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
996 Remove redundant condition.
997 * include/bits/stl_vector.h (vector::operator=(const vector&)):
999 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1000 indirection through __alloc_traits.
1001 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1002 Eliminate static const bool members by using true_type and false_type.
1003 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1004 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1005 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1007 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1010 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1011 (vector::_M_data_ptr): New overloaded functions to ensure empty
1012 vectors do not dereference the pointer.
1013 * testsuite/23_containers/vector/59829.cc: New.
1014 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1015 Adjust dg-error line number.
1016 * testsuite/23_containers/vector/requirements/dr438/
1017 constructor_1_neg.cc: Likewise.
1018 * testsuite/23_containers/vector/requirements/dr438/
1019 constructor_2_neg.cc: Likewise.
1020 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1024 * include/ext/array_allocator.h: Add deprecated attribute.
1027 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1028 installation and use of python printers.
1029 * doc/xml/manual/status_cxx2011.xml: Update.
1030 * doc/html/*: Regenerate.
1032 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1033 Kyle Lippincott <spectral@google.com>
1036 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1037 constructor and grant friendship to weak_ptr.
1038 (weak_ptr::lock()): Use new constructor.
1039 * include/bits/shared_ptr_base.h
1040 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1041 and define specializations.
1042 (__shared_count): Add new non-throwing constructor.
1043 (__shared_ptr): Add new non-throwing constructor and grant friendship
1045 (__weak_ptr::lock()): Use new constructor.
1046 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1047 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1049 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1052 * include/bits/shared_ptr_base.h
1053 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1056 2014-01-27 Jason Merrill <jason@redhat.com>
1061 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1062 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1063 (__cxa_allocate_exception): Don't set it here.
1065 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1067 * include/bits/stl_map.h: Remove anachronistic comment.
1068 * include/bits/stl_multimap.h: Add whitespace.
1069 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1070 -std=gnu++11 instead of -std=c++11.
1071 * testsuite/23_containers/map/operators/2.cc: Likewise.
1072 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1073 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1074 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1076 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1077 * configure: Regenerate.
1079 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1082 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1083 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1085 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1086 Peter A. Bigot <pab@pabigot.com>
1089 * include/experimental/string_view
1090 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1091 Correct copy start location.
1093 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1094 Peter A. Bigot <pab@pabigot.com>
1097 * include/experimental/string_view (operator[](size_type) const):
1098 Fix one-off index error in debug check.
1099 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1100 test basic_string_view at size().
1101 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1103 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1104 Peter A. Bigot <pab@pabigot.com>
1107 * include/experimental/string_view
1108 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1109 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1110 Comment out catch of out_of_range; No terminating null
1111 in basic_string_view. Check begin == end.
1112 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1115 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1118 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1119 constructor to prevent it being implicitly defined as deleted, but
1120 do not copy anything.
1121 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1122 Define copy and move constructors similar to _Safe_sequence_base's.
1123 * testsuite/23_containers/unordered_map/59548.cc: New.
1125 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1126 Steve Ellcey <sellcey@mips.com>
1128 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1130 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1131 * (configure, config.h.in): Regenerate.
1132 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1134 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1136 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1137 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1140 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1141 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1143 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1145 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1146 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1147 functions to perform moving or copying of elements from rvalue tree.
1148 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1149 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1150 * testsuite/23_containers/map/59872.cc: New.
1151 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1153 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1155 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1158 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1159 Split into separate default constructor and constructor taking
1161 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1162 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1164 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1165 * include/debug/list (list::list(const _Allocator&)): Likewise.
1166 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1168 * include/debug/multimap.h
1169 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1170 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1172 * include/debug/multiset.h
1173 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1174 * include/debug/vector (vector::vector(const allocator_type&)):
1176 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1177 * include/profile/list (list::list(const _Allocator&)): Likewise.
1178 * include/profile/map.h
1179 (map::map(const _Compare&, const _Allocator&)): Likewise.
1180 * include/profile/multimap.h
1181 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1182 * include/profile/set.h
1183 (set::set(const _Compare&, const _Allocator&)): Likewise.
1184 * include/profile/multiset.h
1185 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1186 * include/profile/vector (vector::vector(const _Allocator&)):
1188 * testsuite/23_containers/deque/58764.cc: New.
1189 * testsuite/23_containers/list/58764.cc: New.
1190 * testsuite/23_containers/map/58764.cc: New.
1191 * testsuite/23_containers/multimap/58764.cc: New.
1192 * testsuite/23_containers/set/58764.cc: New.
1193 * testsuite/23_containers/multiset/58764.cc: New.
1194 * testsuite/23_containers/vector/58764.cc: New.
1195 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1196 Adjust dg-error line number.
1197 * testsuite/23_containers/deque/requirements/dr438/
1198 constructor_1_neg.cc: Likewise.
1199 * testsuite/23_containers/deque/requirements/dr438/
1200 constructor_2_neg.cc: Likewise.
1201 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1203 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1205 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1207 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1209 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1211 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1213 * testsuite/23_containers/vector/requirements/dr438/
1214 constructor_1_neg.cc: Likewise.
1215 * testsuite/23_containers/vector/requirements/dr438/
1216 constructor_2_neg.cc: Likewise.
1217 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1220 PR libstdc++/58764 (again)
1221 * include/bits/stl_list.h (list): Make default constructor's exception
1222 specification conditional.
1223 * include/bits/stl_vector.h (vector): Likewise.
1224 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1225 to default constructor.
1226 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1227 Adjust dg-error line number.
1228 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1230 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1232 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1234 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1236 * testsuite/23_containers/vector/requirements/dr438/
1237 constructor_1_neg.cc: Likewise.
1238 * testsuite/23_containers/vector/requirements/dr438/
1239 constructor_2_neg.cc: Likewise.
1240 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1243 2014-01-21 Tim Shen <timshen91@gmail.com>
1245 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1246 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1247 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1249 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1252 * include/bits/hashtable.h (__cache_default): Do not depend on
1253 whether the hash function is DefaultConstructible or CopyAssignable.
1254 (_Hashtable): Adjust static assertions.
1255 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1256 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1257 dg-error line number.
1258 * testsuite/23_containers/unordered_set/
1259 not_default_constructible_hash_neg.cc: Remove.
1261 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1263 * scripts/create_testsuite_files: Add testsuite/experimental in
1264 the list of folders to search for tests.
1265 * include/experimental/string_view
1266 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1267 incompatible with constexpr qualifier.
1268 (basic_string_view<>::front()): Likewise.
1269 (basic_string_view<>::back()): Likewise.
1270 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1271 Merge dg-options directives into one.
1272 * testsuite/experimental/string_view/element_access/char/2.cc:
1273 Likewise. Remove invalid experimental namespace scope on
1276 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1279 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1280 friendship to _Local_iterator_base<..., false>.
1281 (_Local_iterator_base): Give protected access to all existing members.
1282 (_Local_iterator_base::_M_curr()): New public accessor.
1283 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1284 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1285 the lifetime of the _Hash_code_base explicitly.
1286 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1287 (_Local_iterator_base<..., false>): Define copy constructor and copy
1288 assignment operator that use new functions to manage _Hash_code_base.
1289 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1290 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1291 Use public API for _Local_iterator_base.
1292 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1293 * include/debug/unordered_map (__debug::unordered_map::erase(),
1294 __debug::unordered_multimap::erase()): Likewise.
1295 * include/debug/unordered_set (__debug::unordered_set::erase(),
1296 __debug::unordered_multiset::erase()): Likewise.
1297 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1299 2014-01-19 Tim Shen <timshen91@gmail.com>
1301 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1302 Fix parse error of multiple consecutive quantifiers like "a**".
1303 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1305 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1307 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1309 * include/profile/set.h (set): Implement C++11 allocator-aware
1310 container requirements.
1311 * include/profile/map.h (map): Likewise.
1312 * include/profile/multiset.h (multiset): Likewise.
1313 * include/profile/multimap.h (multimap): Likewise.
1314 * include/profile/set.h
1315 (set::operator=(const set&)): Define as default in C++11 mode.
1316 (set::operator=(set&&)): Likewise.
1317 * include/profile/map.h
1318 (map::operator=(const map&)): Likewise.
1319 (map::operator=(map&&)): Likewise.
1320 * include/profile/multiset.h
1321 (multiset::operator=(const multiset&)): Likewise.
1322 (multiset::operator=(multiset&&)): Likewise.
1323 * include/profile/multimap.h
1324 (multimap::operator=(const multimap&)): Likewise.
1325 (multimap::operator=(multimap&&)): Likewise.
1326 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1327 Rely on the same operator from normal mode.
1328 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1330 * include/profile/multiset.h
1331 (multiset::operator=(std::initializer_list<>)): Likewise.
1332 * include/profile/multimap.h
1333 (multimap::operator=(std::initializer_list<>)): Likewise.
1334 * include/profile/set.h (set::swap(set&)): Add noexcept
1336 * include/profile/map.h (map::swap(map&)): Likewise.
1337 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1338 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1340 2014-01-17 Tim Shen <timshen91@gmail.com>
1342 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1344 * include/bits/regex_automaton.h: Do not use std::set.
1345 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1346 _BracketMatcher<>::_M_add_collating_element(),
1347 _BracketMatcher<>::_M_add_equivalence_class(),
1348 _BracketMatcher<>::_M_make_range()): Likewise.
1349 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1351 * include/bits/regex_executor.h: Do not use std::queue.
1352 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1353 _Executor<>::_M_dfs()): Likewise.
1354 * include/std/regex: Remove <map>, <set> and <queue>.
1356 2014-01-17 Tim Shen <timshen91@gmail.com>
1358 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1359 basic_regex<>::assign()): Change __compile_nfa to accept
1361 * include/bits/regex_compiler.h: Change _Compiler's template
1362 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1363 * include/bits/regex_compiler.tcc: Likewise.
1365 2014-01-17 Tim Shen <timshen91@gmail.com>
1367 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1369 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1370 _ScannerBase from _Scanner; Change _Scanner's template argument from
1371 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1373 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1374 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1375 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1377 * include/std/regex: Add <cstring> for using strchr.
1379 2014-01-17 Tim Shen <timshen91@gmail.com>
1381 * bits/regex_automaton.tcc: Indentation fix.
1382 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1383 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1384 _BracketMatcher<>): Add bool option template parameters and
1385 specializations to make matching more efficient and space saving.
1386 * bits/regex_compiler.tcc: Likewise.
1388 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1391 * include/bits/hashtable_policy.h: Fix some long lines.
1392 * include/bits/hashtable.h (__hash_code_base_access): Define and
1393 use it to check its _M_bucket_index noexcept qualification. Use
1395 (__access_protected_ctor): ...this.
1396 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1398 * testsuite/23_containers/unordered_set/
1399 not_default_constructible_hash_neg.cc: Likewise.
1401 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1403 * include/debug/set.h (set): Implement C++11 allocator-aware
1404 container requirements.
1405 * include/debug/map.h (map): Likewise.
1406 * include/debug/multiset.h (multiset): Likewise.
1407 * include/debug/multimap.h (multimap): Likewise.
1408 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1409 fix implementation regarding management of safe iterators.
1410 * include/debug/map.h (map::operator=(map&&)): Likewise.
1411 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1412 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1414 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1415 Rely on the same operator from normal mode.
1416 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1418 * include/debug/multiset.h
1419 (multiset::operator=(std::initializer_list<>)): Likewise.
1420 * include/debug/multimap.h
1421 (multimap::operator=(std::initializer_list<>)): Likewise.
1422 * include/debug/set.h (set::swap(set&)): Add noexcept
1423 specification, add allocator equality check.
1424 * include/debug/map.h (map::swap(map&)): Likewise.
1425 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1426 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1428 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1431 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1432 and stylistic improvements.
1433 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1434 and update for C++11.
1435 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1438 * doc/xml/manual/backwards_compatibility.xml
1439 (backwards.third.nocreate_noreplace): Correct and expand.
1442 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1444 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1447 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1448 support for non-Movable types.
1451 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1453 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1455 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1456 *this allocator instance when building temporary vector instance
1457 so that *this allocator does not get moved.
1458 * include/debug/safe_base.h
1459 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1460 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1461 move constructor from _Safe_sequence_base.
1462 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1463 safe iterators if the instance is moved.
1464 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1465 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1466 check on a vector iterator.
1467 * testsuite/23_containers/vector/allocator/move_assign.cc
1469 (test03): New, test with a non-propagating allocator.
1470 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1472 2014-01-07 Tim Shen <timshen91@gmail.com>
1474 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1475 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1476 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1477 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1478 _BracketMatcher<>::_M_add_char(),
1479 _BracketMatcher<>::_M_add_collating_element(),
1480 _BracketMatcher<>::_M_add_equivalence_class(),
1481 _BracketMatcher<>::_M_add_character_class(),
1482 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1483 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1484 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1485 to template parameter; Add cache for _BracketMatcher. Adjust
1486 declarations from here...
1487 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1488 imbuing a regex will trigger a recompilation to rebuild the cache.
1489 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1490 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1491 different template bool parameters.
1492 * include/bits/regex_executor.h: Remove unnecessary declarations.
1493 * include/std/regex: Adjust including orders.
1494 * testsuite/28_regex/traits/char/user_defined.cc: New.
1495 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1497 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1499 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1500 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1501 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1502 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1503 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1505 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1507 Update copyright years
1509 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1511 * testsuite/18_support/new_handler.cc,
1512 testsuite/18_support/terminate_handler.cc,
1513 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1514 the copyright notice.
1516 Copyright (C) 2014 Free Software Foundation, Inc.
1518 Copying and distribution of this file, with or without modification,
1519 are permitted in any medium without royalty provided the copyright
1520 notice and this notice are preserved.