1 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
3 * include/profile/array: Clean useless white chars.
4 * include/profile/base.h: Likewise.
5 * include/profile/iterator_tracker.h: Likewise.
6 * include/profile/bitset: Code cleanup and remove not instrumented code.
7 * include/profile/deque: Likewise.
8 * include/profile/forward_list: Likewise.
9 * include/profile/list (std::__profile::_List_profile<>): New.
10 (std::__profile::list<>): Inherit from latter and adapt.
11 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
12 advise to match any ordered to unordered container conversion.
13 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
15 * include/Makefile.am: Add latter.
16 * include/Makefile.in: Regenerate.
17 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
18 remove not instrumented code.
19 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
20 * include/profile/set.h (std::__profile::set<>): Likewise.
21 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
22 * include/profile/unordered_base.h: Add some line feed.
23 * include/profile/unordered_map: Clean useless white chars and replace
25 * include/profile/unordered_set: Likewise.
26 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
27 (std::__profile::_Vector_profile_post<>): New.
28 (std::__profile::vector<>): Inherit from latter and adapt.
30 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
33 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
34 dragonfly target selector to all tests that run on freebsd.
36 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
38 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
39 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
41 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
43 * testsuite/30_threads/call_once/60497.cc: Likewise.
44 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
45 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
46 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
47 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
48 * testsuite/30_threads/promise/60966.cc: Likewise.
49 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
50 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
51 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
52 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
53 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
54 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
55 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
56 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
57 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
58 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
59 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
60 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
61 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
62 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
63 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
64 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
65 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
67 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
70 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
72 * testsuite/23_containers/unordered_set/61143.cc: New.
73 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
75 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
78 * include/std/type_traits: Move include outside namespace std.
79 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
80 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
81 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
84 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
87 2014-05-21 John Marino <gnugcc@marino.st>
89 * acinclude.m4 (*-*-dragonfly*): New target.
90 * configure: Regenerate.
91 * configure.host (*-*-dragonfly*): New target.
92 * config/locale/dragonfly/c_locale.cc: New.
93 * config/locale/dragonfly/ctype_members.cc: New.
94 * config/os/bsd/dragonfly/ctype_base.h: New.
95 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
96 * config/os/bsd/dragonfly/ctype_inline.h: New.
97 * config/os/bsd/dragonfly/os_defines.h: New.
99 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
101 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
102 libstdc++.exp imports those flags via getenv.
103 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
104 CXXFLAGS contains a '-O' flag.
106 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
110 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
113 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
114 and add unwind directives.
116 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
118 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
120 2014-05-20 Tim Shen <timshen91@gmail.com>
123 * include/bits/regex_compiler.h
124 (_BracketMatcher<>::_M_add_character_class): Add negative character
126 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
128 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
131 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
133 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
135 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
137 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
138 * libsupc++/new_opnt.cc: Likewise.
140 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
143 * include/std/future (__future_base::_State_baseV2::_M_set_result):
144 Pass lock into _M_do_set and hold it until the function returns.
145 Signal condition variable after call_once completes.
146 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
148 * testsuite/30_threads/promise/60966.cc: New.
150 2014-05-16 Iain Sandoe <iain@codesourcery.com>
151 Sandra Loosemore <sandra@codesourcery.com>
153 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
154 until after checking that the test is eligible to be run.
156 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
158 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
159 test for 32-bit target.
160 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
162 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
165 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
168 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
169 and add unwind directives.
171 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
173 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
175 * include/std/chrono (chrono_literals::__select_type::_Select_type):
177 (chrono_literals::_Checked_integral_constant): Define.
178 Simplify UDL operator templates and check for overflow.
179 * testsuite/20_util/duration/literals/range.cc: New.
181 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
182 Jonathan Wakely <jwakely@redhat.com>
185 * include/bits/parse_numbers.h: Use integral_constant to remove
186 duplication and simplify.
187 * testsuite/20_util/duration/literals/61166.cc: New.
189 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
192 * include/std/type_traits (__make_unsigned, __make_signed): Define
193 specializations for wchar_t, char16_t and char32_t.
194 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
195 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
196 test for make_unsigned<volatile wchar_t>.
197 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
199 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
201 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
203 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
206 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
208 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
209 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
210 * include/std/utility (tuple_size, tuple_element): Likewise.
211 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
212 Adjust dg-error line number.
214 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
216 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
217 (__tuple_element_t): Define.
218 (tuple_element): Use __tuple_element_t.
219 (__cv_tuple_size): Define.
220 (tuple_size<cv _Tp>): Use __cv_tuple_size.
221 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
222 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
223 (__tuple_compare): Remove size check, re-order parameters.
224 (operator==, operator<): Use static_assert to check requirements.
225 * include/std/functional (__volget): use __tuple_element_t.
226 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
227 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
229 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
232 * include/std/tuple (get, __tuple_compare): Qualify more calls to
233 prevent ADL. Cast comparison results to bool.
234 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
235 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
238 * include/debug/array (get): Qualify call to other get overload.
239 * include/profile/array (get): Likewise.
240 * include/std/array (get): Likewise.
241 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
242 * include/std/mutex (unique_lock, call_once): Use __addressof.
243 (__unlock_impl): Remove unused template.
244 (__try_to_lock): Declare inline.
245 (__try_lock_impl::__do_try_lock): Qualify function calls.
246 (lock): Avoid narrowing conversion.
247 * testsuite/20_util/bind/60497.cc: New.
248 * testsuite/23_containers/array/element_access/60497.cc: New.
249 * testsuite/30_threads/call_once/60497.cc: New.
250 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
252 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
254 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
255 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
256 * acinclude.m4 (libtool_VERSION): Bump.
257 * configure: Regenerate.
258 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
259 * testsuite/28_regex/regex_error/base.cc: New.
261 2014-05-08 Joshua Gay <jgay@gnu.org>
264 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
265 source" with "free software".
266 * doc/html/faq.html: Likewise.
268 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
271 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
273 (operator=(const ios_base&)): Likewise.
274 * include/std/streambuf: Remove trailing whitespace.
275 (basic_streambuf(const basic_streambuf&)): Fix initializer for
276 _M_out_end. Define as defaulted for C++11.
277 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
278 (swap(basic_streambuf&)): Define for C++11.
279 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
282 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
284 * include/std/iostream: Fix URL in comment.
285 * src/c++98/ios_init.cc: Fix path in comment.
287 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
289 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
290 * configure: Regenerate.
292 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
295 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
297 * testsuite/23_containers/set/cons/61023.cc: New.
300 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
302 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
303 arithmetic to obtain a mutable iterator from const_iterator.
304 * include/bits/vector.tcc (vector::insert): Likewise.
305 * include/debug/vector (vector::erase): Likewise.
306 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
307 Adjust dg-error line number.
308 * testsuite/23_containers/vector/requirements/dr438/
309 constructor_1_neg.cc: Likewise.
310 * testsuite/23_containers/vector/requirements/dr438/
311 constructor_2_neg.cc: Likewise.
312 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
315 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
317 * include/Makefile.in: Regenerate.
319 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
321 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
322 parameter to pass the 2 instances to check allocator equality.
323 * include/debug/safe_container.h: New, define _Safe_container<>.
324 * include/Makefile.am: Add previous.
325 * include/debug/deque (std::__debug::deque<>): Inherit
326 _Safe_container<>. Use default implementation for all special
328 * include/debug/forward_list (std::__debug::forward_list<>):
330 * include/debug/list (std::__debug::list<>): Likewise.
331 * include/debug/map.h (std::__debug::map<>): Likewise.
332 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
333 * include/debug/set.h (std::__debug::set<>): Likewise.
334 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
335 * include/debug/string (std::__debug::basic_string<>): Likewise.
336 * include/debug/unordered_map
337 (std::__debug::unordered_map<>): Likewise.
338 (std::__debug::unordered_multimap<>): Likewise.
339 * include/debug/unordered_set
340 (std::__debug::unordered_set<>): Likewise.
341 (std::__debug::unordered_multiset<>): Likewise.
342 * include/debug/vector (std::__debug::vector<>): Likewise.
343 * include/debug/safe_base.h (_Safe_sequence_base()): Add
345 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
346 (~_Safe_sequence_base()): Add noexcept.
347 * include/debug/safe_sequence.h
348 (std::__debug::_Safe_node_sequence<>): New.
349 * include/debug/safe_unordered_base.h
350 (_Safe_unordered_container_base()): Add noexcept.
351 (~_Safe_unordered_container_base()): Likewise.
352 (_M_swap(_Safe_unordered_container_base&)): Likewise.
353 * include/debug/safe_unordered_container.h:
354 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
355 (_Safe_unordered_container<>::_M_invalidate_all()): New.
356 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
358 * testsuite/util/debug/checks.h (check_construct1): Just implement
359 an invalid constructor invocation and no other operations
360 potentially not supported by some types of container.
361 (check_construct2): Likewise.
362 (check_construct3): Likewise.
363 * testsuite/23_containers/forward_list/allocator/move.cc: Add
364 check on iterators to make sure they are correctly moved in debug
366 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
368 * testsuite/23_containers/map/allocator/move.cc: Likewise.
369 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
370 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
371 * testsuite/23_containers/multimap/allocator/move_assign.cc:
373 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
374 * testsuite/23_containers/multiset/allocator/move_assign.cc:
376 * testsuite/23_containers/set/allocator/move.cc: Likewise.
377 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
378 * testsuite/23_containers/unordered_map/allocator/move.cc:
380 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
382 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
384 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
386 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
388 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
390 * testsuite/23_containers/unordered_set/allocator/move.cc:
392 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
394 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
396 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
398 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
400 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
402 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
404 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
405 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
406 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
407 * testsuite/23_containers/map/debug/move_neg.cc: New.
408 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
409 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
410 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
411 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
412 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
413 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
414 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
415 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
416 * testsuite/23_containers/set/debug/move_neg.cc: New.
417 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
419 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
421 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
422 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
424 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
426 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
428 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
430 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
432 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
434 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
436 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
438 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
439 * testsuite/23_containers/vector/debug/move_neg.cc: New.
441 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
443 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
444 (CXXABI_1.3.9): Remove __float128 symbols.
446 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
449 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
450 function to handle both C++03 and C++11 _Rb_tree_node implementations.
451 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
452 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
454 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
457 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
458 Check the correct type in the static assertion.
459 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
461 2014-04-27 Tim Shen <timshen91@gmail.com>
463 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
464 Add _S_opcode_repeat support to distingush a loop from
465 _S_opcode_alternative.
466 * include/bits/regex_automaton.tcc (_State_base::_M_print,
467 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
468 _StateSeq<>::_M_clone): Likewise.
469 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
471 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
472 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
473 Uglify local variable __i.
474 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
475 Use size_t instead of int to compare with vector::size().
477 2014-04-27 Tim Shen <timshen91@gmail.com>
479 * include/bits/regex_executor.h: Add _M_rep_count to track how
480 many times this repeat node are visited.
481 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
482 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
485 2014-04-27 Tim Shen <timshen91@gmail.com>
487 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
488 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
489 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
490 * include/bits/regex_automaton.h: Remove quantifier counting variable.
491 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
492 Adjust debug NFA dump.
494 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
497 * include/experimental/optional (operator!=): Implement in terms of
499 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
500 * testsuite/experimental/optional/relops/2.cc: Likewise.
501 * testsuite/experimental/optional/relops/3.cc: Likewise.
502 * testsuite/experimental/optional/relops/4.cc: Likewise.
503 * testsuite/experimental/optional/relops/5.cc: Likewise.
504 * testsuite/experimental/optional/relops/6.cc: Likewise.
506 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
509 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
510 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
513 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
515 * testsuite/util/testsuite_abi.cc (check_version): Update for
518 2014-04-24 Tim Shen <timshen91@gmail.com>
520 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
521 Do _M_alt before _M_next.
522 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
524 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
527 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
528 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
529 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
531 2014-04-24 Andreas Schwab <schwab@suse.de>
533 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
534 new CXXABI_1.3.9 symbols.
536 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
538 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
539 (CXXABI_1.3.9): New version.
541 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
544 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
545 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
546 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
548 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
550 * configure.host: Remove solaris2.9 handling.
551 Change os_include_dir to os/solaris/solaris2.10.
552 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
553 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
554 * configure: Regenerate.
555 * config/abi/post/solaris2.9: Remove.
556 * config/os/solaris/solaris2.9: Rename to ...
557 * config/os/solaris/solaris2.10: ... this.
558 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
561 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
562 Remove Solaris 9 reference.
563 * doc/html/manual/configure.html: Regenerate.
565 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
566 Remove *-*-solaris2.9 xfail.
567 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
570 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
573 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
575 * include/std/functional (__is_location_invariant): Use __or_ helper.
577 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
580 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
583 * include/std/atomic (atomic<_Tp>): Add static assertion.
584 * testsuite/29_atomics/atomic/60695.cc: New.
587 * include/std/functional (function::_Callable): Exclude own type
588 from the callable checks.
589 * testsuite/20_util/function/60594.cc: New.
591 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
592 const to constexpr member functions.
594 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
595 delegating constructor.
596 * include/bits/shared_ptr_base.h
597 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
599 * include/std/atomic: Uglify parameter names.
602 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
603 1.cc: Fix invalid explicit instantiations with unqualified names.
604 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
606 * testsuite/20_util/tuple/53648.cc: Likweise.
607 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
609 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
611 * testsuite/23_containers/unordered_map/requirements/
612 debug_container.cc: Likewise.
613 * testsuite/23_containers/unordered_map/requirements/
614 explicit_instantiation/3.cc: Likewise.
615 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
617 * testsuite/23_containers/unordered_multimap/requirements/
618 explicit_instantiation/3.cc: Likewise.
619 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
621 * testsuite/23_containers/unordered_multiset/requirements/
622 explicit_instantiation/3.cc: Likewise.
623 * testsuite/23_containers/unordered_set/requirements/
624 debug_container.cc: Likewise.
625 * testsuite/23_containers/unordered_set/requirements/
626 explicit_instantiation/3.cc: Likewise.
628 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
629 not use uninitialized members in mem-initializers.
630 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
631 * testsuite/util/testsuite_common_types.h: Update comment.
633 * include/experimental/string_view: Fix inconsistent exception specs.
635 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
636 Remove name of unused parameter.
638 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
640 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
641 _Vector_base::_M_allocate): NullablePointer requirements do not
642 include initialization from literal zero, use value-initialization.
643 * include/bits/vector.tcc (vector::_M_insert_aux,
644 vector::_M_explace_back_aux): Likewise for assignment.
646 * include/bits/allocator.h (operator==, operator!=): Add exception
650 * include/std/tuple (get): Qualify calls to prevent ADL.
651 * testsuite/20_util/tuple/60497.cc: New.
653 * include/std/tuple (tuple_element_t): Define.
654 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
656 * testsuite/20_util/tuple/tuple_element_t.cc: New.
658 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
661 * include/bits/stl_iterator.h (move_iterator::reference,
662 move_iterator::operator*): Implement LWG 2106.
663 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
665 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
667 * include/std/complex (__complex_exp, pow): Specify the template
668 parameter in calls to std::polar, for expression templates.
670 2014-04-10 Andreas Schwab <schwab@suse.de>
672 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
674 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
675 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
677 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
679 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
681 * testsuite/20_util/exchange/1.cc: Add missing return statements.
682 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
683 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
686 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
687 Jack Howarth <howarth@bromo.med.uc.edu>
690 * testsuite/30_threads/condition_variable/54185.cc: Skip for
693 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
695 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
697 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
699 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
700 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
701 * doc/xml/manual/concurrency_extensions.xml
702 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
703 * doc/html/*: Regenerate.
705 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
706 Jonathan Wakely <jwakely@redhat.com>
709 * include/std/iomanip (_Quoted_string operator>>): Do not clear
710 string if input is not quoted.
711 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
713 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
715 * libsupc++/eh_ptr.cc: Improve static_assert messages.
717 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
719 * testsuite/18_support/exception_ptr/60612-terminate.cc
720 (terminate, f): Wrap in _GLIBCXX_USE_C99.
721 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
723 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
725 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
727 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
728 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
730 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
732 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
734 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
735 Fix bad s/part/chapter/ substitutions.
736 * doc/xml/manual/io.xml (std.io): Likewise.
737 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
738 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
740 * doc/html/*: Regenerate.
742 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
745 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
746 compatible with __cxa_exception.
747 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
748 Fix typos in comments.
749 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
750 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
752 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
755 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
756 Use sizeof pointer type not the element type.
757 * testsuite/29_atomics/atomic/60658.cc: New.
759 2014-03-24 Jakub Jelinek <jakub@redhat.com>
761 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
762 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
763 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
764 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
765 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
766 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
767 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
768 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
769 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
770 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
773 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
775 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
777 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
779 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
780 to delegated constructor.
781 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
782 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
785 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
787 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
790 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
792 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
795 * include/debug/functions.h (_Is_contiguous_sequence): Define.
796 (__foreign_iterator): Accept additional iterator. Do not dispatch on
798 (__foreign_iterator_aux2): Likewise. Add overload for iterators
799 from different types of debug container. Use _Is_contiguous_sequence
800 instead of is_lvalue_reference.
801 (__foreign_iterator_aux3): Accept additional iterator. Avoid
802 dereferencing past-the-end iterator.
803 (__foreign_iterator_aux4): Use const value_type* instead of
804 potentially user-defined const_pointer type.
805 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
806 and pass end iterator to __gnu_debug::__foreign_iterator.
807 (__glibcxx_check_insert_range_after): Likewise.
808 (__glibcxx_check_max_load_factor): Fix comment.
809 * include/debug/vector (_Is_contiguous_sequence): Define partial
811 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
812 -std=gnu++11 option and unused header.
813 * testsuite/23_containers/vector/debug/60587.cc: New.
814 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
816 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
818 * crossconfig.m4: Support spu-*-elf* targets.
819 * configure: Regenerate.
821 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
824 * include/std/future (__future_base::_Task_state<>): Change
825 constructors to template functions using perfect forwarding.
826 (__create_task_state): Use decayed type as stored task.
827 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
828 * testsuite/30_threads/packaged_task/60564.cc: New.
830 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
832 * scripts/create_testsuite_files: Add testsuite/experimental in
833 the list of folders to search for tests.
835 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
837 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
839 2014-03-15 Tim Shen <timshen91@gmail.com>
841 * include/bits/regex.h: Add/modify comments.
842 * include/bits/regex_compiler.h: Likewise.
843 * include/bits/regex_executor.h: Likewise.
844 * include/bits/regex_executor.tcc: Likewise.
845 * include/bits/regex_scanner.h: Likewise.
847 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
850 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
851 _ZNSt12system_errorC* symbols which are not exported on any target.
853 2014-03-12 Roland McGrath <mcgrathr@google.com>
854 Mark Seaborn <mseaborn@google.com>
857 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
858 the address of a null pointer, not with a null pointer to pointer.
859 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
860 * testsuite/18_support/bad_exception/59392.cc: New file.
862 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
865 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
867 * include/debug/map (map::operator=(map&&)): Likewise.
868 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
869 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
870 * include/debug/set (set::operator=(set&&)): Likewise.
871 * include/debug/unordered_map
872 (unordered_map::operator=(unordered_map&&)): Likewise.
873 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
874 * include/debug/unordered_set
875 (unordered_set::operator=(unordered_set&&)): Likewise.
876 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
877 * include/debug/vector (vector::operator=(vector&&)): Likewise.
878 * testsuite/23_containers/forward_list/debug/60499.cc: New
879 * testsuite/23_containers/map/debug/60499.cc: New
880 * testsuite/23_containers/multimap/debug/60499.cc: New
881 * testsuite/23_containers/multiset/debug/60499.cc: New
882 * testsuite/23_containers/set/debug/60499.cc: New
883 * testsuite/23_containers/unordered_map/debug/60499.cc: New
884 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
885 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
886 * testsuite/23_containers/unordered_set/debug/60499.cc: New
887 * testsuite/23_containers/vector/debug/60499.cc: New
889 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
891 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
892 for filesystem and fundamentals TS work items.
894 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
897 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
898 Adjust dg-error directives.
900 2014-02-26 Tim Shen <timshen91@gmail.com>
902 * include/bits/regex.tcc (match_results<>::format,
903 regex_replace<>): Update __out after calling std::copy.
904 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
906 * testsuite/28_regex/match_results/format.cc: Likewise.
908 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
911 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
912 allocator_type&)): Remove redundant call to _M_initialize_map.
913 (deque::deque(const allocator_type&)): Initialize _Base with a
914 constructor that calls _M_initialize_map.
918 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
920 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
923 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
925 Rename testsuite directory shared_mutex to shared_timed_mutex
927 * testsuite/30_threads/shared_mutex: Moved to...
928 * testsuite/30_threads/shared_timed_mutex: ...here
930 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
932 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
933 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
934 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
935 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
936 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
937 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
938 * testsuite/30_threads/shared_lock/requirements/
939 explicit_instantiation.cc: Ditto.
940 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
941 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
942 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
943 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
944 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
945 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
946 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
947 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
948 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
949 * testsuite/30_threads/shared_mutex/requirements/
950 standard_layout.cc: Ditto.
951 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
952 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
953 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
954 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
955 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
957 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
959 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
960 execution on i?86-*-solaris2.9, remove comment.
961 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
963 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
965 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
966 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
967 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
969 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
971 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
972 not use varargs when argument could be non-POD.
973 (__alloctr_rebind_helper): Eliminate static const bool member by
974 using true_type and false_type.
975 (allocator_traits::__allocate_helper): Likewise.
976 (allocator_traits::__construct_helper): Likewise.
977 (allocator_traits::__destroy_helper): Likewise.
978 (allocator_traits::__maxsize_helper): Likewise.
979 (allocator_traits::__select_helper): Likewise.
980 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
981 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
982 Remove redundant condition.
983 * include/bits/stl_vector.h (vector::operator=(const vector&)):
985 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
986 indirection through __alloc_traits.
987 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
988 Eliminate static const bool members by using true_type and false_type.
989 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
990 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
991 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
993 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
996 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
997 (vector::_M_data_ptr): New overloaded functions to ensure empty
998 vectors do not dereference the pointer.
999 * testsuite/23_containers/vector/59829.cc: New.
1000 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1001 Adjust dg-error line number.
1002 * testsuite/23_containers/vector/requirements/dr438/
1003 constructor_1_neg.cc: Likewise.
1004 * testsuite/23_containers/vector/requirements/dr438/
1005 constructor_2_neg.cc: Likewise.
1006 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1010 * include/ext/array_allocator.h: Add deprecated attribute.
1013 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1014 installation and use of python printers.
1015 * doc/xml/manual/status_cxx2011.xml: Update.
1016 * doc/html/*: Regenerate.
1018 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1019 Kyle Lippincott <spectral@google.com>
1022 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1023 constructor and grant friendship to weak_ptr.
1024 (weak_ptr::lock()): Use new constructor.
1025 * include/bits/shared_ptr_base.h
1026 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1027 and define specializations.
1028 (__shared_count): Add new non-throwing constructor.
1029 (__shared_ptr): Add new non-throwing constructor and grant friendship
1031 (__weak_ptr::lock()): Use new constructor.
1032 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1033 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1035 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1038 * include/bits/shared_ptr_base.h
1039 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1042 2014-01-27 Jason Merrill <jason@redhat.com>
1047 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1048 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1049 (__cxa_allocate_exception): Don't set it here.
1051 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1053 * include/bits/stl_map.h: Remove anachronistic comment.
1054 * include/bits/stl_multimap.h: Add whitespace.
1055 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1056 -std=gnu++11 instead of -std=c++11.
1057 * testsuite/23_containers/map/operators/2.cc: Likewise.
1058 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1059 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1060 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1062 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1063 * configure: Regenerate.
1065 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1068 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1069 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1071 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1072 Peter A. Bigot <pab@pabigot.com>
1075 * include/experimental/string_view
1076 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1077 Correct copy start location.
1079 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1080 Peter A. Bigot <pab@pabigot.com>
1083 * include/experimental/string_view (operator[](size_type) const):
1084 Fix one-off index error in debug check.
1085 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1086 test basic_string_view at size().
1087 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1089 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1090 Peter A. Bigot <pab@pabigot.com>
1093 * include/experimental/string_view
1094 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1095 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1096 Comment out catch of out_of_range; No terminating null
1097 in basic_string_view. Check begin == end.
1098 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1101 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1104 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1105 constructor to prevent it being implicitly defined as deleted, but
1106 do not copy anything.
1107 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1108 Define copy and move constructors similar to _Safe_sequence_base's.
1109 * testsuite/23_containers/unordered_map/59548.cc: New.
1111 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1112 Steve Ellcey <sellcey@mips.com>
1114 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1116 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1117 * (configure, config.h.in): Regenerate.
1118 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1120 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1122 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1123 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1126 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1127 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1129 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1131 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1132 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1133 functions to perform moving or copying of elements from rvalue tree.
1134 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1135 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1136 * testsuite/23_containers/map/59872.cc: New.
1137 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1139 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1141 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1144 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1145 Split into separate default constructor and constructor taking
1147 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1148 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1150 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1151 * include/debug/list (list::list(const _Allocator&)): Likewise.
1152 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1154 * include/debug/multimap.h
1155 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1156 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1158 * include/debug/multiset.h
1159 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1160 * include/debug/vector (vector::vector(const allocator_type&)):
1162 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1163 * include/profile/list (list::list(const _Allocator&)): Likewise.
1164 * include/profile/map.h
1165 (map::map(const _Compare&, const _Allocator&)): Likewise.
1166 * include/profile/multimap.h
1167 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1168 * include/profile/set.h
1169 (set::set(const _Compare&, const _Allocator&)): Likewise.
1170 * include/profile/multiset.h
1171 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1172 * include/profile/vector (vector::vector(const _Allocator&)):
1174 * testsuite/23_containers/deque/58764.cc: New.
1175 * testsuite/23_containers/list/58764.cc: New.
1176 * testsuite/23_containers/map/58764.cc: New.
1177 * testsuite/23_containers/multimap/58764.cc: New.
1178 * testsuite/23_containers/set/58764.cc: New.
1179 * testsuite/23_containers/multiset/58764.cc: New.
1180 * testsuite/23_containers/vector/58764.cc: New.
1181 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1182 Adjust dg-error line number.
1183 * testsuite/23_containers/deque/requirements/dr438/
1184 constructor_1_neg.cc: Likewise.
1185 * testsuite/23_containers/deque/requirements/dr438/
1186 constructor_2_neg.cc: Likewise.
1187 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1189 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1191 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1193 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1195 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1197 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1199 * testsuite/23_containers/vector/requirements/dr438/
1200 constructor_1_neg.cc: Likewise.
1201 * testsuite/23_containers/vector/requirements/dr438/
1202 constructor_2_neg.cc: Likewise.
1203 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1206 PR libstdc++/58764 (again)
1207 * include/bits/stl_list.h (list): Make default constructor's exception
1208 specification conditional.
1209 * include/bits/stl_vector.h (vector): Likewise.
1210 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1211 to default constructor.
1212 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1213 Adjust dg-error line number.
1214 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1216 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1218 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1220 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1222 * testsuite/23_containers/vector/requirements/dr438/
1223 constructor_1_neg.cc: Likewise.
1224 * testsuite/23_containers/vector/requirements/dr438/
1225 constructor_2_neg.cc: Likewise.
1226 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1229 2014-01-21 Tim Shen <timshen91@gmail.com>
1231 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1232 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1233 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1235 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1238 * include/bits/hashtable.h (__cache_default): Do not depend on
1239 whether the hash function is DefaultConstructible or CopyAssignable.
1240 (_Hashtable): Adjust static assertions.
1241 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1242 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1243 dg-error line number.
1244 * testsuite/23_containers/unordered_set/
1245 not_default_constructible_hash_neg.cc: Remove.
1247 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1249 * scripts/create_testsuite_files: Add testsuite/experimental in
1250 the list of folders to search for tests.
1251 * include/experimental/string_view
1252 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1253 incompatible with constexpr qualifier.
1254 (basic_string_view<>::front()): Likewise.
1255 (basic_string_view<>::back()): Likewise.
1256 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1257 Merge dg-options directives into one.
1258 * testsuite/experimental/string_view/element_access/char/2.cc:
1259 Likewise. Remove invalid experimental namespace scope on
1262 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1265 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1266 friendship to _Local_iterator_base<..., false>.
1267 (_Local_iterator_base): Give protected access to all existing members.
1268 (_Local_iterator_base::_M_curr()): New public accessor.
1269 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1270 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1271 the lifetime of the _Hash_code_base explicitly.
1272 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1273 (_Local_iterator_base<..., false>): Define copy constructor and copy
1274 assignment operator that use new functions to manage _Hash_code_base.
1275 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1276 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1277 Use public API for _Local_iterator_base.
1278 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1279 * include/debug/unordered_map (__debug::unordered_map::erase(),
1280 __debug::unordered_multimap::erase()): Likewise.
1281 * include/debug/unordered_set (__debug::unordered_set::erase(),
1282 __debug::unordered_multiset::erase()): Likewise.
1283 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1285 2014-01-19 Tim Shen <timshen91@gmail.com>
1287 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1288 Fix parse error of multiple consecutive quantifiers like "a**".
1289 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1291 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1293 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1295 * include/profile/set.h (set): Implement C++11 allocator-aware
1296 container requirements.
1297 * include/profile/map.h (map): Likewise.
1298 * include/profile/multiset.h (multiset): Likewise.
1299 * include/profile/multimap.h (multimap): Likewise.
1300 * include/profile/set.h
1301 (set::operator=(const set&)): Define as default in C++11 mode.
1302 (set::operator=(set&&)): Likewise.
1303 * include/profile/map.h
1304 (map::operator=(const map&)): Likewise.
1305 (map::operator=(map&&)): Likewise.
1306 * include/profile/multiset.h
1307 (multiset::operator=(const multiset&)): Likewise.
1308 (multiset::operator=(multiset&&)): Likewise.
1309 * include/profile/multimap.h
1310 (multimap::operator=(const multimap&)): Likewise.
1311 (multimap::operator=(multimap&&)): Likewise.
1312 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1313 Rely on the same operator from normal mode.
1314 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1316 * include/profile/multiset.h
1317 (multiset::operator=(std::initializer_list<>)): Likewise.
1318 * include/profile/multimap.h
1319 (multimap::operator=(std::initializer_list<>)): Likewise.
1320 * include/profile/set.h (set::swap(set&)): Add noexcept
1322 * include/profile/map.h (map::swap(map&)): Likewise.
1323 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1324 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1326 2014-01-17 Tim Shen <timshen91@gmail.com>
1328 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1330 * include/bits/regex_automaton.h: Do not use std::set.
1331 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1332 _BracketMatcher<>::_M_add_collating_element(),
1333 _BracketMatcher<>::_M_add_equivalence_class(),
1334 _BracketMatcher<>::_M_make_range()): Likewise.
1335 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1337 * include/bits/regex_executor.h: Do not use std::queue.
1338 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1339 _Executor<>::_M_dfs()): Likewise.
1340 * include/std/regex: Remove <map>, <set> and <queue>.
1342 2014-01-17 Tim Shen <timshen91@gmail.com>
1344 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1345 basic_regex<>::assign()): Change __compile_nfa to accept
1347 * include/bits/regex_compiler.h: Change _Compiler's template
1348 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1349 * include/bits/regex_compiler.tcc: Likewise.
1351 2014-01-17 Tim Shen <timshen91@gmail.com>
1353 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1355 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1356 _ScannerBase from _Scanner; Change _Scanner's template argument from
1357 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1359 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1360 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1361 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1363 * include/std/regex: Add <cstring> for using strchr.
1365 2014-01-17 Tim Shen <timshen91@gmail.com>
1367 * bits/regex_automaton.tcc: Indentation fix.
1368 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1369 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1370 _BracketMatcher<>): Add bool option template parameters and
1371 specializations to make matching more efficient and space saving.
1372 * bits/regex_compiler.tcc: Likewise.
1374 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1377 * include/bits/hashtable_policy.h: Fix some long lines.
1378 * include/bits/hashtable.h (__hash_code_base_access): Define and
1379 use it to check its _M_bucket_index noexcept qualification. Use
1381 (__access_protected_ctor): ...this.
1382 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1384 * testsuite/23_containers/unordered_set/
1385 not_default_constructible_hash_neg.cc: Likewise.
1387 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1389 * include/debug/set.h (set): Implement C++11 allocator-aware
1390 container requirements.
1391 * include/debug/map.h (map): Likewise.
1392 * include/debug/multiset.h (multiset): Likewise.
1393 * include/debug/multimap.h (multimap): Likewise.
1394 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1395 fix implementation regarding management of safe iterators.
1396 * include/debug/map.h (map::operator=(map&&)): Likewise.
1397 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1398 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1400 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1401 Rely on the same operator from normal mode.
1402 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1404 * include/debug/multiset.h
1405 (multiset::operator=(std::initializer_list<>)): Likewise.
1406 * include/debug/multimap.h
1407 (multimap::operator=(std::initializer_list<>)): Likewise.
1408 * include/debug/set.h (set::swap(set&)): Add noexcept
1409 specification, add allocator equality check.
1410 * include/debug/map.h (map::swap(map&)): Likewise.
1411 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1412 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1414 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1417 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1418 and stylistic improvements.
1419 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1420 and update for C++11.
1421 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1424 * doc/xml/manual/backwards_compatibility.xml
1425 (backwards.third.nocreate_noreplace): Correct and expand.
1428 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1430 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1433 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1434 support for non-Movable types.
1437 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1439 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1441 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1442 *this allocator instance when building temporary vector instance
1443 so that *this allocator does not get moved.
1444 * include/debug/safe_base.h
1445 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1446 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1447 move constructor from _Safe_sequence_base.
1448 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1449 safe iterators if the instance is moved.
1450 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1451 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1452 check on a vector iterator.
1453 * testsuite/23_containers/vector/allocator/move_assign.cc
1455 (test03): New, test with a non-propagating allocator.
1456 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1458 2014-01-07 Tim Shen <timshen91@gmail.com>
1460 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1461 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1462 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1463 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1464 _BracketMatcher<>::_M_add_char(),
1465 _BracketMatcher<>::_M_add_collating_element(),
1466 _BracketMatcher<>::_M_add_equivalence_class(),
1467 _BracketMatcher<>::_M_add_character_class(),
1468 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1469 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1470 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1471 to template parameter; Add cache for _BracketMatcher. Adjust
1472 declarations from here...
1473 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1474 imbuing a regex will trigger a recompilation to rebuild the cache.
1475 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1476 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1477 different template bool parameters.
1478 * include/bits/regex_executor.h: Remove unnecessary declarations.
1479 * include/std/regex: Adjust including orders.
1480 * testsuite/28_regex/traits/char/user_defined.cc: New.
1481 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1483 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1485 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1486 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1487 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1488 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1489 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1491 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1493 Update copyright years
1495 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1497 * testsuite/18_support/new_handler.cc,
1498 testsuite/18_support/terminate_handler.cc,
1499 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1500 the copyright notice.
1502 Copyright (C) 2014 Free Software Foundation, Inc.
1504 Copying and distribution of this file, with or without modification,
1505 are permitted in any medium without royalty provided the copyright
1506 notice and this notice are preserved.