1 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
4 * include/std/chrono (_Checked_integral_constant): Allow zero.
5 * testsuite/20_util/duration/literals/values.cc: Test non-positive
6 values and digit separators.
8 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
9 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
14 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
16 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
17 * include/Makefile.am: Add new header.
18 * include/Makefile.in: Regenerate.
19 * include/experimental/any: New.
20 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
22 * testsuite/experimental/any/assign/1.cc: New.
23 * testsuite/experimental/any/assign/2.cc: New.
24 * testsuite/experimental/any/cons/1.cc: New.
25 * testsuite/experimental/any/cons/2.cc: New.
26 * testsuite/experimental/any/cons/3.cc: New.
27 * testsuite/experimental/any/misc/any_cast.cc: New.
28 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
29 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
30 * testsuite/experimental/any/misc/swap.cc: New.
31 * testsuite/experimental/any/modifiers/1.cc: New.
32 * testsuite/experimental/any/observers/type.cc: New.
34 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
35 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
37 * include/bits/shared_ptr.h (shared_ptr): Likewise.
38 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
40 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
42 * include/parallel/list_partition.h (__parallel::list_partition):
44 * include/std/iomanip (quoted): Likewise.
45 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
47 * doc/xml/api.xml: Link to more recent API docs.
48 * include/bits/allocator.h: Fix link in doxygen comment.
49 * include/bits/char_traits.h: Likewise.
50 * include/bits/ios_base.h: Likewise.
51 * include/bits/stl_map.h: Likewise.
52 * include/bits/stl_multimap.h: Likewise.
53 * include/bits/stl_multiset.h: Likewise.
54 * include/bits/stl_set.h: Likewise.
55 * include/bits/unordered_map.h: Likewise.
56 * include/bits/unordered_set.h: Likewise.
57 * include/ext/mt_allocator.h: Likewise.
58 * include/std/fstream: Likewise.
59 * include/std/iosfwd: Likewise.
60 * include/std/ostream: Likewise.
61 * include/std/sstream: Likewise.
62 * include/std/streambuf: Likewise.
63 * doc/html/*: Regenerate.
65 * include/experimental/any (any_cast): Combine duplicate doxygen
67 * include/experimental/string_view (basic_string_view): Update
69 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
70 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
71 (dynamic_bitset): Improve Doxygen comments.
72 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
75 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
77 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
78 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
80 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
83 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
84 (bin_search_tree_traits): Do not redeclare template-parameters.
85 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
87 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
89 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
90 parameter for DocBook HTML generation.
91 * doc/Makefile.in: Regenerate.
92 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
93 * doc/xml/faq.xml: Update content and improve formatting.
94 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
95 * doc/xml/manual/allocator.xml: Add stable ID attribute.
96 * doc/xml/manual/bitmap_allocator.xml: Likewise.
97 * doc/xml/manual/build_hacking.xml: Likewise.
98 * doc/xml/manual/codecvt.xml: Change URL.
99 * doc/xml/manual/ctype.xml: Add stable ID attribute.
100 * doc/xml/manual/debug_mode.xml: Likewise.
101 * doc/xml/manual/documentation_hacking.xml: Likewise.
102 * doc/xml/manual/evolution.xml: Likewise.
103 * doc/xml/manual/extensions.xml: Likewise.
104 * doc/xml/manual/locale.xml: Likewise.
105 * doc/xml/manual/messages.xml: Make section id consistent, improve
107 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
108 * doc/xml/manual/profile_mode.xml: Likewise.
109 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
110 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
111 * doc/xml/manual/status_cxx2011.xml: Likewise.
112 * doc/xml/manual/status_cxx2014.xml: Likewise.
113 * doc/xml/manual/status_cxxtr1.xml: Likewise.
114 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
115 * doc/xml/manual/using.xml: Likewise.
116 * doc/html/*: Regenerate.
118 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
120 * include/tr1/beta_function.tcc: Fix spelling of include guard in
123 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
125 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
127 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
129 DR 2344 - std::quoted doesn't respect padding
130 * include/std/iomanip: Allow for padding in quoted inserters.
131 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
132 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
134 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
136 * testsuite/23_containers/map/operators/1.cc: Simplify test.
138 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
140 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
142 * doc/xml/manual/backwards_compatibility.xml
143 (backwards.second.stringstreams): Likewise.
144 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
146 * doc/xml/manual/containers.xml (associative.bitset.type_string):
147 Replace <quote> in code example.
148 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
149 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
150 fix typos, improve markup.
151 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
152 <emphasis> with <replaceable>.
153 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
154 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
155 and remove newlines in string literal.
157 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
161 * testsuite/20_util/is_assignable/value.cc: Update.
163 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
165 * include/std/condition_variable (condition_variable_any::_Unlock): Do
166 not swallow __forced_unwind.
167 * include/std/future (__future_base::_Task_setter): Likewise.
168 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
170 * include/std/mutex (try_lock): Likewise.
171 * testsuite/30_threads/async/forced_unwind.cc: New.
172 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
174 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
175 members to avoid wasted space when not using a cache.
176 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
177 * include/bits/regex_compiler.tcc
178 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
180 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
181 New enumeration type to indicate match mode.
182 (__detail::_Executor::_State_info): New type holding members only
183 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
185 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
186 Replace template parameter with run-time function parameter.
187 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
188 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
189 implement DFS and BFS mode.
190 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
191 Split implementation into ...
192 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
193 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
194 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
195 argument instead of template argument.
196 (__detail::_Executor::_M_dfs): Likewise.
197 * include/bits/regex_scanner.tcc: Fix typos in comments.
198 * testsuite/performance/28_regex/range.cc: New.
200 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
201 Jonathan Wakely <jwakely@redhat.com>
203 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
205 (aligned_union): New struct (C++11).
206 (aligned_union_t): New type alias (C++14).
207 * doc/xml/manual/status_cxx2011.xml: Update.
208 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
209 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
212 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
215 * include/experimental/string_view (operator basic_string): Correct
217 (to_string): Replace with member function.
218 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
219 allow _M_str to be null.
220 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
221 default constructor semantics.
222 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
223 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
224 copyright dates. Remove unused header.
225 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
227 * testsuite/experimental/string_view/operations/data/char/1.cc:
228 Fix copyright dates. Adjust to new default constructor semantics.
229 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
231 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
233 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
234 (__uses_allocator_arg): Remove unused type.
235 (__uses_alloc0): Turn into a trivial type.
236 (__uses_alloc): Add missing template parameter in primary template.
237 (__uses_alloc_impl): Rename to __uses_alloc_t.
239 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
241 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
242 work with previous versions of Tcl.
244 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
245 Benjamin's old email address.
247 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
250 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
252 * include/tr2/bool_set: Use UTF-8 for accented characters.
253 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
254 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
255 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
257 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
260 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
262 (_State_base::_M_dot): Likewise.
264 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
266 * include/profile/map.h: Fix typo in comment; minor formatting fix.
267 * include/profile/multimap.h: Likewise.
268 * include/profile/set.h: Likewise.
269 * include/profile/multiset.h: Likewise.
271 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
273 * include/profile/array: Clean useless white chars.
274 * include/profile/base.h: Likewise.
275 * include/profile/iterator_tracker.h: Likewise.
276 * include/profile/bitset: Code cleanup and remove not instrumented code.
277 * include/profile/deque: Likewise.
278 * include/profile/forward_list: Likewise.
279 * include/profile/list (std::__profile::_List_profile<>): New.
280 (std::__profile::list<>): Inherit from latter and adapt.
281 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
282 advise to match any ordered to unordered container conversion.
283 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
285 * include/Makefile.am: Add latter.
286 * include/Makefile.in: Regenerate.
287 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
288 remove not instrumented code.
289 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
290 * include/profile/set.h (std::__profile::set<>): Likewise.
291 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
292 * include/profile/unordered_base.h: Add some line feed.
293 * include/profile/unordered_map: Clean useless white chars and replace
295 * include/profile/unordered_set: Likewise.
296 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
297 (std::__profile::_Vector_profile_post<>): New.
298 (std::__profile::vector<>): Inherit from latter and adapt.
300 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
303 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
304 dragonfly target selector to all tests that run on freebsd.
306 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
308 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
309 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
311 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
313 * testsuite/30_threads/call_once/60497.cc: Likewise.
314 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
315 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
316 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
317 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
318 * testsuite/30_threads/promise/60966.cc: Likewise.
319 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
320 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
321 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
322 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
323 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
324 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
325 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
326 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
327 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
328 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
329 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
330 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
331 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
332 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
333 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
334 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
335 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
337 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
340 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
342 * testsuite/23_containers/unordered_set/61143.cc: New.
343 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
345 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
348 * include/std/type_traits: Move include outside namespace std.
349 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
350 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
351 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
354 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
357 2014-05-21 John Marino <gnugcc@marino.st>
359 * acinclude.m4 (*-*-dragonfly*): New target.
360 * configure: Regenerate.
361 * configure.host (*-*-dragonfly*): New target.
362 * config/locale/dragonfly/c_locale.cc: New.
363 * config/locale/dragonfly/ctype_members.cc: New.
364 * config/os/bsd/dragonfly/ctype_base.h: New.
365 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
366 * config/os/bsd/dragonfly/ctype_inline.h: New.
367 * config/os/bsd/dragonfly/os_defines.h: New.
369 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
371 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
372 libstdc++.exp imports those flags via getenv.
373 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
374 CXXFLAGS contains a '-O' flag.
376 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
380 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
383 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
384 and add unwind directives.
386 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
388 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
390 2014-05-20 Tim Shen <timshen91@gmail.com>
393 * include/bits/regex_compiler.h
394 (_BracketMatcher<>::_M_add_character_class): Add negative character
396 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
398 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
401 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
403 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
405 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
407 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
408 * libsupc++/new_opnt.cc: Likewise.
410 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
413 * include/std/future (__future_base::_State_baseV2::_M_set_result):
414 Pass lock into _M_do_set and hold it until the function returns.
415 Signal condition variable after call_once completes.
416 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
418 * testsuite/30_threads/promise/60966.cc: New.
420 2014-05-16 Iain Sandoe <iain@codesourcery.com>
421 Sandra Loosemore <sandra@codesourcery.com>
423 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
424 until after checking that the test is eligible to be run.
426 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
428 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
429 test for 32-bit target.
430 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
432 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
435 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
438 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
439 and add unwind directives.
441 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
443 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
445 * include/std/chrono (chrono_literals::__select_type::_Select_type):
447 (chrono_literals::_Checked_integral_constant): Define.
448 Simplify UDL operator templates and check for overflow.
449 * testsuite/20_util/duration/literals/range.cc: New.
451 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
452 Jonathan Wakely <jwakely@redhat.com>
455 * include/bits/parse_numbers.h: Use integral_constant to remove
456 duplication and simplify.
457 * testsuite/20_util/duration/literals/61166.cc: New.
459 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
462 * include/std/type_traits (__make_unsigned, __make_signed): Define
463 specializations for wchar_t, char16_t and char32_t.
464 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
465 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
466 test for make_unsigned<volatile wchar_t>.
467 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
469 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
471 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
473 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
476 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
478 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
479 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
480 * include/std/utility (tuple_size, tuple_element): Likewise.
481 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
482 Adjust dg-error line number.
484 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
486 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
487 (__tuple_element_t): Define.
488 (tuple_element): Use __tuple_element_t.
489 (__cv_tuple_size): Define.
490 (tuple_size<cv _Tp>): Use __cv_tuple_size.
491 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
492 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
493 (__tuple_compare): Remove size check, re-order parameters.
494 (operator==, operator<): Use static_assert to check requirements.
495 * include/std/functional (__volget): use __tuple_element_t.
496 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
497 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
499 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
502 * include/std/tuple (get, __tuple_compare): Qualify more calls to
503 prevent ADL. Cast comparison results to bool.
504 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
505 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
508 * include/debug/array (get): Qualify call to other get overload.
509 * include/profile/array (get): Likewise.
510 * include/std/array (get): Likewise.
511 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
512 * include/std/mutex (unique_lock, call_once): Use __addressof.
513 (__unlock_impl): Remove unused template.
514 (__try_to_lock): Declare inline.
515 (__try_lock_impl::__do_try_lock): Qualify function calls.
516 (lock): Avoid narrowing conversion.
517 * testsuite/20_util/bind/60497.cc: New.
518 * testsuite/23_containers/array/element_access/60497.cc: New.
519 * testsuite/30_threads/call_once/60497.cc: New.
520 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
522 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
524 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
525 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
526 * acinclude.m4 (libtool_VERSION): Bump.
527 * configure: Regenerate.
528 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
529 * testsuite/28_regex/regex_error/base.cc: New.
531 2014-05-08 Joshua Gay <jgay@gnu.org>
534 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
535 source" with "free software".
536 * doc/html/faq.html: Likewise.
538 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
541 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
543 (operator=(const ios_base&)): Likewise.
544 * include/std/streambuf: Remove trailing whitespace.
545 (basic_streambuf(const basic_streambuf&)): Fix initializer for
546 _M_out_end. Define as defaulted for C++11.
547 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
548 (swap(basic_streambuf&)): Define for C++11.
549 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
552 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
554 * include/std/iostream: Fix URL in comment.
555 * src/c++98/ios_init.cc: Fix path in comment.
557 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
559 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
560 * configure: Regenerate.
562 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
565 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
567 * testsuite/23_containers/set/cons/61023.cc: New.
570 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
572 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
573 arithmetic to obtain a mutable iterator from const_iterator.
574 * include/bits/vector.tcc (vector::insert): Likewise.
575 * include/debug/vector (vector::erase): Likewise.
576 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
577 Adjust dg-error line number.
578 * testsuite/23_containers/vector/requirements/dr438/
579 constructor_1_neg.cc: Likewise.
580 * testsuite/23_containers/vector/requirements/dr438/
581 constructor_2_neg.cc: Likewise.
582 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
585 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
587 * include/Makefile.in: Regenerate.
589 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
591 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
592 parameter to pass the 2 instances to check allocator equality.
593 * include/debug/safe_container.h: New, define _Safe_container<>.
594 * include/Makefile.am: Add previous.
595 * include/debug/deque (std::__debug::deque<>): Inherit
596 _Safe_container<>. Use default implementation for all special
598 * include/debug/forward_list (std::__debug::forward_list<>):
600 * include/debug/list (std::__debug::list<>): Likewise.
601 * include/debug/map.h (std::__debug::map<>): Likewise.
602 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
603 * include/debug/set.h (std::__debug::set<>): Likewise.
604 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
605 * include/debug/string (std::__debug::basic_string<>): Likewise.
606 * include/debug/unordered_map
607 (std::__debug::unordered_map<>): Likewise.
608 (std::__debug::unordered_multimap<>): Likewise.
609 * include/debug/unordered_set
610 (std::__debug::unordered_set<>): Likewise.
611 (std::__debug::unordered_multiset<>): Likewise.
612 * include/debug/vector (std::__debug::vector<>): Likewise.
613 * include/debug/safe_base.h (_Safe_sequence_base()): Add
615 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
616 (~_Safe_sequence_base()): Add noexcept.
617 * include/debug/safe_sequence.h
618 (std::__debug::_Safe_node_sequence<>): New.
619 * include/debug/safe_unordered_base.h
620 (_Safe_unordered_container_base()): Add noexcept.
621 (~_Safe_unordered_container_base()): Likewise.
622 (_M_swap(_Safe_unordered_container_base&)): Likewise.
623 * include/debug/safe_unordered_container.h:
624 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
625 (_Safe_unordered_container<>::_M_invalidate_all()): New.
626 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
628 * testsuite/util/debug/checks.h (check_construct1): Just implement
629 an invalid constructor invocation and no other operations
630 potentially not supported by some types of container.
631 (check_construct2): Likewise.
632 (check_construct3): Likewise.
633 * testsuite/23_containers/forward_list/allocator/move.cc: Add
634 check on iterators to make sure they are correctly moved in debug
636 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
638 * testsuite/23_containers/map/allocator/move.cc: Likewise.
639 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
640 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
641 * testsuite/23_containers/multimap/allocator/move_assign.cc:
643 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
644 * testsuite/23_containers/multiset/allocator/move_assign.cc:
646 * testsuite/23_containers/set/allocator/move.cc: Likewise.
647 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
648 * testsuite/23_containers/unordered_map/allocator/move.cc:
650 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
652 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
654 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
656 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
658 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
660 * testsuite/23_containers/unordered_set/allocator/move.cc:
662 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
664 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
666 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
668 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
670 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
672 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
674 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
675 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
676 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
677 * testsuite/23_containers/map/debug/move_neg.cc: New.
678 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
679 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
680 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
681 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
682 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
683 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
684 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
685 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
686 * testsuite/23_containers/set/debug/move_neg.cc: New.
687 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
689 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
691 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
692 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
694 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
696 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
698 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
700 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
702 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
704 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
706 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
708 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
709 * testsuite/23_containers/vector/debug/move_neg.cc: New.
711 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
713 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
714 (CXXABI_1.3.9): Remove __float128 symbols.
716 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
719 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
720 function to handle both C++03 and C++11 _Rb_tree_node implementations.
721 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
722 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
724 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
727 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
728 Check the correct type in the static assertion.
729 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
731 2014-04-27 Tim Shen <timshen91@gmail.com>
733 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
734 Add _S_opcode_repeat support to distingush a loop from
735 _S_opcode_alternative.
736 * include/bits/regex_automaton.tcc (_State_base::_M_print,
737 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
738 _StateSeq<>::_M_clone): Likewise.
739 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
741 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
742 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
743 Uglify local variable __i.
744 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
745 Use size_t instead of int to compare with vector::size().
747 2014-04-27 Tim Shen <timshen91@gmail.com>
749 * include/bits/regex_executor.h: Add _M_rep_count to track how
750 many times this repeat node are visited.
751 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
752 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
755 2014-04-27 Tim Shen <timshen91@gmail.com>
757 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
758 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
759 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
760 * include/bits/regex_automaton.h: Remove quantifier counting variable.
761 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
762 Adjust debug NFA dump.
764 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
767 * include/experimental/optional (operator!=): Implement in terms of
769 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
770 * testsuite/experimental/optional/relops/2.cc: Likewise.
771 * testsuite/experimental/optional/relops/3.cc: Likewise.
772 * testsuite/experimental/optional/relops/4.cc: Likewise.
773 * testsuite/experimental/optional/relops/5.cc: Likewise.
774 * testsuite/experimental/optional/relops/6.cc: Likewise.
776 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
779 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
780 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
783 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
785 * testsuite/util/testsuite_abi.cc (check_version): Update for
788 2014-04-24 Tim Shen <timshen91@gmail.com>
790 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
791 Do _M_alt before _M_next.
792 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
794 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
797 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
798 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
799 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
801 2014-04-24 Andreas Schwab <schwab@suse.de>
803 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
804 new CXXABI_1.3.9 symbols.
806 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
808 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
809 (CXXABI_1.3.9): New version.
811 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
814 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
815 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
816 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
818 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
820 * configure.host: Remove solaris2.9 handling.
821 Change os_include_dir to os/solaris/solaris2.10.
822 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
823 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
824 * configure: Regenerate.
825 * config/abi/post/solaris2.9: Remove.
826 * config/os/solaris/solaris2.9: Rename to ...
827 * config/os/solaris/solaris2.10: ... this.
828 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
831 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
832 Remove Solaris 9 reference.
833 * doc/html/manual/configure.html: Regenerate.
835 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
836 Remove *-*-solaris2.9 xfail.
837 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
840 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
843 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
845 * include/std/functional (__is_location_invariant): Use __or_ helper.
847 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
850 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
853 * include/std/atomic (atomic<_Tp>): Add static assertion.
854 * testsuite/29_atomics/atomic/60695.cc: New.
857 * include/std/functional (function::_Callable): Exclude own type
858 from the callable checks.
859 * testsuite/20_util/function/60594.cc: New.
861 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
862 const to constexpr member functions.
864 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
865 delegating constructor.
866 * include/bits/shared_ptr_base.h
867 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
869 * include/std/atomic: Uglify parameter names.
872 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
873 1.cc: Fix invalid explicit instantiations with unqualified names.
874 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
876 * testsuite/20_util/tuple/53648.cc: Likweise.
877 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
879 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
881 * testsuite/23_containers/unordered_map/requirements/
882 debug_container.cc: Likewise.
883 * testsuite/23_containers/unordered_map/requirements/
884 explicit_instantiation/3.cc: Likewise.
885 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
887 * testsuite/23_containers/unordered_multimap/requirements/
888 explicit_instantiation/3.cc: Likewise.
889 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
891 * testsuite/23_containers/unordered_multiset/requirements/
892 explicit_instantiation/3.cc: Likewise.
893 * testsuite/23_containers/unordered_set/requirements/
894 debug_container.cc: Likewise.
895 * testsuite/23_containers/unordered_set/requirements/
896 explicit_instantiation/3.cc: Likewise.
898 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
899 not use uninitialized members in mem-initializers.
900 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
901 * testsuite/util/testsuite_common_types.h: Update comment.
903 * include/experimental/string_view: Fix inconsistent exception specs.
905 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
906 Remove name of unused parameter.
908 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
910 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
911 _Vector_base::_M_allocate): NullablePointer requirements do not
912 include initialization from literal zero, use value-initialization.
913 * include/bits/vector.tcc (vector::_M_insert_aux,
914 vector::_M_explace_back_aux): Likewise for assignment.
916 * include/bits/allocator.h (operator==, operator!=): Add exception
920 * include/std/tuple (get): Qualify calls to prevent ADL.
921 * testsuite/20_util/tuple/60497.cc: New.
923 * include/std/tuple (tuple_element_t): Define.
924 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
926 * testsuite/20_util/tuple/tuple_element_t.cc: New.
928 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
931 * include/bits/stl_iterator.h (move_iterator::reference,
932 move_iterator::operator*): Implement LWG 2106.
933 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
935 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
937 * include/std/complex (__complex_exp, pow): Specify the template
938 parameter in calls to std::polar, for expression templates.
940 2014-04-10 Andreas Schwab <schwab@suse.de>
942 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
944 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
945 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
947 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
949 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
951 * testsuite/20_util/exchange/1.cc: Add missing return statements.
952 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
953 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
956 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
957 Jack Howarth <howarth@bromo.med.uc.edu>
960 * testsuite/30_threads/condition_variable/54185.cc: Skip for
963 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
965 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
967 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
969 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
970 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
971 * doc/xml/manual/concurrency_extensions.xml
972 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
973 * doc/html/*: Regenerate.
975 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
976 Jonathan Wakely <jwakely@redhat.com>
979 * include/std/iomanip (_Quoted_string operator>>): Do not clear
980 string if input is not quoted.
981 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
983 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
985 * libsupc++/eh_ptr.cc: Improve static_assert messages.
987 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
989 * testsuite/18_support/exception_ptr/60612-terminate.cc
990 (terminate, f): Wrap in _GLIBCXX_USE_C99.
991 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
993 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
995 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
997 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
998 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1000 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1002 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1004 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1005 Fix bad s/part/chapter/ substitutions.
1006 * doc/xml/manual/io.xml (std.io): Likewise.
1007 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1008 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1010 * doc/html/*: Regenerate.
1012 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1015 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1016 compatible with __cxa_exception.
1017 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1018 Fix typos in comments.
1019 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1020 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1022 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1025 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1026 Use sizeof pointer type not the element type.
1027 * testsuite/29_atomics/atomic/60658.cc: New.
1029 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1031 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1032 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1033 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1034 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1035 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1036 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1037 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1038 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1039 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1040 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1043 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1045 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1047 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1049 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1050 to delegated constructor.
1051 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1052 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1055 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1057 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1060 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1062 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1065 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1066 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1068 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1069 from different types of debug container. Use _Is_contiguous_sequence
1070 instead of is_lvalue_reference.
1071 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1072 dereferencing past-the-end iterator.
1073 (__foreign_iterator_aux4): Use const value_type* instead of
1074 potentially user-defined const_pointer type.
1075 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1076 and pass end iterator to __gnu_debug::__foreign_iterator.
1077 (__glibcxx_check_insert_range_after): Likewise.
1078 (__glibcxx_check_max_load_factor): Fix comment.
1079 * include/debug/vector (_Is_contiguous_sequence): Define partial
1081 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1082 -std=gnu++11 option and unused header.
1083 * testsuite/23_containers/vector/debug/60587.cc: New.
1084 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1086 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1088 * crossconfig.m4: Support spu-*-elf* targets.
1089 * configure: Regenerate.
1091 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1094 * include/std/future (__future_base::_Task_state<>): Change
1095 constructors to template functions using perfect forwarding.
1096 (__create_task_state): Use decayed type as stored task.
1097 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1098 * testsuite/30_threads/packaged_task/60564.cc: New.
1100 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1102 * scripts/create_testsuite_files: Add testsuite/experimental in
1103 the list of folders to search for tests.
1105 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1107 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1109 2014-03-15 Tim Shen <timshen91@gmail.com>
1111 * include/bits/regex.h: Add/modify comments.
1112 * include/bits/regex_compiler.h: Likewise.
1113 * include/bits/regex_executor.h: Likewise.
1114 * include/bits/regex_executor.tcc: Likewise.
1115 * include/bits/regex_scanner.h: Likewise.
1117 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1120 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1121 _ZNSt12system_errorC* symbols which are not exported on any target.
1123 2014-03-12 Roland McGrath <mcgrathr@google.com>
1124 Mark Seaborn <mseaborn@google.com>
1127 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1128 the address of a null pointer, not with a null pointer to pointer.
1129 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1130 * testsuite/18_support/bad_exception/59392.cc: New file.
1132 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1135 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1137 * include/debug/map (map::operator=(map&&)): Likewise.
1138 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1139 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1140 * include/debug/set (set::operator=(set&&)): Likewise.
1141 * include/debug/unordered_map
1142 (unordered_map::operator=(unordered_map&&)): Likewise.
1143 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1144 * include/debug/unordered_set
1145 (unordered_set::operator=(unordered_set&&)): Likewise.
1146 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1147 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1148 * testsuite/23_containers/forward_list/debug/60499.cc: New
1149 * testsuite/23_containers/map/debug/60499.cc: New
1150 * testsuite/23_containers/multimap/debug/60499.cc: New
1151 * testsuite/23_containers/multiset/debug/60499.cc: New
1152 * testsuite/23_containers/set/debug/60499.cc: New
1153 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1154 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1155 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1156 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1157 * testsuite/23_containers/vector/debug/60499.cc: New
1159 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1161 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1162 for filesystem and fundamentals TS work items.
1164 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1167 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1168 Adjust dg-error directives.
1170 2014-02-26 Tim Shen <timshen91@gmail.com>
1172 * include/bits/regex.tcc (match_results<>::format,
1173 regex_replace<>): Update __out after calling std::copy.
1174 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1176 * testsuite/28_regex/match_results/format.cc: Likewise.
1178 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1181 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1182 allocator_type&)): Remove redundant call to _M_initialize_map.
1183 (deque::deque(const allocator_type&)): Initialize _Base with a
1184 constructor that calls _M_initialize_map.
1188 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1190 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1193 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1195 Rename testsuite directory shared_mutex to shared_timed_mutex
1197 * testsuite/30_threads/shared_mutex: Moved to...
1198 * testsuite/30_threads/shared_timed_mutex: ...here
1200 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1202 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1203 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1204 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1205 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1206 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1207 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1208 * testsuite/30_threads/shared_lock/requirements/
1209 explicit_instantiation.cc: Ditto.
1210 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1211 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1212 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1213 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1214 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1215 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1216 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1217 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1218 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1219 * testsuite/30_threads/shared_mutex/requirements/
1220 standard_layout.cc: Ditto.
1221 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1222 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1223 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1224 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1225 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1227 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1229 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1230 execution on i?86-*-solaris2.9, remove comment.
1231 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1233 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1235 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1236 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1237 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1239 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1241 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1242 not use varargs when argument could be non-POD.
1243 (__alloctr_rebind_helper): Eliminate static const bool member by
1244 using true_type and false_type.
1245 (allocator_traits::__allocate_helper): Likewise.
1246 (allocator_traits::__construct_helper): Likewise.
1247 (allocator_traits::__destroy_helper): Likewise.
1248 (allocator_traits::__maxsize_helper): Likewise.
1249 (allocator_traits::__select_helper): Likewise.
1250 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1251 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1252 Remove redundant condition.
1253 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1255 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1256 indirection through __alloc_traits.
1257 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1258 Eliminate static const bool members by using true_type and false_type.
1259 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1260 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1261 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1263 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1266 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1267 (vector::_M_data_ptr): New overloaded functions to ensure empty
1268 vectors do not dereference the pointer.
1269 * testsuite/23_containers/vector/59829.cc: New.
1270 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1271 Adjust dg-error line number.
1272 * testsuite/23_containers/vector/requirements/dr438/
1273 constructor_1_neg.cc: Likewise.
1274 * testsuite/23_containers/vector/requirements/dr438/
1275 constructor_2_neg.cc: Likewise.
1276 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1280 * include/ext/array_allocator.h: Add deprecated attribute.
1283 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1284 installation and use of python printers.
1285 * doc/xml/manual/status_cxx2011.xml: Update.
1286 * doc/html/*: Regenerate.
1288 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1289 Kyle Lippincott <spectral@google.com>
1292 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1293 constructor and grant friendship to weak_ptr.
1294 (weak_ptr::lock()): Use new constructor.
1295 * include/bits/shared_ptr_base.h
1296 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1297 and define specializations.
1298 (__shared_count): Add new non-throwing constructor.
1299 (__shared_ptr): Add new non-throwing constructor and grant friendship
1301 (__weak_ptr::lock()): Use new constructor.
1302 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1303 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1305 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1308 * include/bits/shared_ptr_base.h
1309 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1312 2014-01-27 Jason Merrill <jason@redhat.com>
1317 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1318 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1319 (__cxa_allocate_exception): Don't set it here.
1321 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1323 * include/bits/stl_map.h: Remove anachronistic comment.
1324 * include/bits/stl_multimap.h: Add whitespace.
1325 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1326 -std=gnu++11 instead of -std=c++11.
1327 * testsuite/23_containers/map/operators/2.cc: Likewise.
1328 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1329 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1330 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1332 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1333 * configure: Regenerate.
1335 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1338 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1339 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1341 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1342 Peter A. Bigot <pab@pabigot.com>
1345 * include/experimental/string_view
1346 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1347 Correct copy start location.
1349 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1350 Peter A. Bigot <pab@pabigot.com>
1353 * include/experimental/string_view (operator[](size_type) const):
1354 Fix one-off index error in debug check.
1355 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1356 test basic_string_view at size().
1357 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1359 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1360 Peter A. Bigot <pab@pabigot.com>
1363 * include/experimental/string_view
1364 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1365 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1366 Comment out catch of out_of_range; No terminating null
1367 in basic_string_view. Check begin == end.
1368 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1371 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1374 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1375 constructor to prevent it being implicitly defined as deleted, but
1376 do not copy anything.
1377 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1378 Define copy and move constructors similar to _Safe_sequence_base's.
1379 * testsuite/23_containers/unordered_map/59548.cc: New.
1381 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1382 Steve Ellcey <sellcey@mips.com>
1384 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1386 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1387 * (configure, config.h.in): Regenerate.
1388 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1390 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1392 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1393 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1396 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1397 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1399 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1401 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1402 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1403 functions to perform moving or copying of elements from rvalue tree.
1404 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1405 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1406 * testsuite/23_containers/map/59872.cc: New.
1407 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1409 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1411 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1414 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1415 Split into separate default constructor and constructor taking
1417 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1418 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1420 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1421 * include/debug/list (list::list(const _Allocator&)): Likewise.
1422 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1424 * include/debug/multimap.h
1425 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1426 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1428 * include/debug/multiset.h
1429 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1430 * include/debug/vector (vector::vector(const allocator_type&)):
1432 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1433 * include/profile/list (list::list(const _Allocator&)): Likewise.
1434 * include/profile/map.h
1435 (map::map(const _Compare&, const _Allocator&)): Likewise.
1436 * include/profile/multimap.h
1437 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1438 * include/profile/set.h
1439 (set::set(const _Compare&, const _Allocator&)): Likewise.
1440 * include/profile/multiset.h
1441 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1442 * include/profile/vector (vector::vector(const _Allocator&)):
1444 * testsuite/23_containers/deque/58764.cc: New.
1445 * testsuite/23_containers/list/58764.cc: New.
1446 * testsuite/23_containers/map/58764.cc: New.
1447 * testsuite/23_containers/multimap/58764.cc: New.
1448 * testsuite/23_containers/set/58764.cc: New.
1449 * testsuite/23_containers/multiset/58764.cc: New.
1450 * testsuite/23_containers/vector/58764.cc: New.
1451 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1452 Adjust dg-error line number.
1453 * testsuite/23_containers/deque/requirements/dr438/
1454 constructor_1_neg.cc: Likewise.
1455 * testsuite/23_containers/deque/requirements/dr438/
1456 constructor_2_neg.cc: Likewise.
1457 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1459 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1461 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1463 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1465 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1467 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1469 * testsuite/23_containers/vector/requirements/dr438/
1470 constructor_1_neg.cc: Likewise.
1471 * testsuite/23_containers/vector/requirements/dr438/
1472 constructor_2_neg.cc: Likewise.
1473 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1476 PR libstdc++/58764 (again)
1477 * include/bits/stl_list.h (list): Make default constructor's exception
1478 specification conditional.
1479 * include/bits/stl_vector.h (vector): Likewise.
1480 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1481 to default constructor.
1482 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1483 Adjust dg-error line number.
1484 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1486 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1488 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1490 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1492 * testsuite/23_containers/vector/requirements/dr438/
1493 constructor_1_neg.cc: Likewise.
1494 * testsuite/23_containers/vector/requirements/dr438/
1495 constructor_2_neg.cc: Likewise.
1496 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1499 2014-01-21 Tim Shen <timshen91@gmail.com>
1501 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1502 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1503 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1505 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1508 * include/bits/hashtable.h (__cache_default): Do not depend on
1509 whether the hash function is DefaultConstructible or CopyAssignable.
1510 (_Hashtable): Adjust static assertions.
1511 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1512 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1513 dg-error line number.
1514 * testsuite/23_containers/unordered_set/
1515 not_default_constructible_hash_neg.cc: Remove.
1517 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1519 * scripts/create_testsuite_files: Add testsuite/experimental in
1520 the list of folders to search for tests.
1521 * include/experimental/string_view
1522 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1523 incompatible with constexpr qualifier.
1524 (basic_string_view<>::front()): Likewise.
1525 (basic_string_view<>::back()): Likewise.
1526 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1527 Merge dg-options directives into one.
1528 * testsuite/experimental/string_view/element_access/char/2.cc:
1529 Likewise. Remove invalid experimental namespace scope on
1532 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1535 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1536 friendship to _Local_iterator_base<..., false>.
1537 (_Local_iterator_base): Give protected access to all existing members.
1538 (_Local_iterator_base::_M_curr()): New public accessor.
1539 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1540 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1541 the lifetime of the _Hash_code_base explicitly.
1542 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1543 (_Local_iterator_base<..., false>): Define copy constructor and copy
1544 assignment operator that use new functions to manage _Hash_code_base.
1545 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1546 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1547 Use public API for _Local_iterator_base.
1548 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1549 * include/debug/unordered_map (__debug::unordered_map::erase(),
1550 __debug::unordered_multimap::erase()): Likewise.
1551 * include/debug/unordered_set (__debug::unordered_set::erase(),
1552 __debug::unordered_multiset::erase()): Likewise.
1553 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1555 2014-01-19 Tim Shen <timshen91@gmail.com>
1557 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1558 Fix parse error of multiple consecutive quantifiers like "a**".
1559 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1561 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1563 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1565 * include/profile/set.h (set): Implement C++11 allocator-aware
1566 container requirements.
1567 * include/profile/map.h (map): Likewise.
1568 * include/profile/multiset.h (multiset): Likewise.
1569 * include/profile/multimap.h (multimap): Likewise.
1570 * include/profile/set.h
1571 (set::operator=(const set&)): Define as default in C++11 mode.
1572 (set::operator=(set&&)): Likewise.
1573 * include/profile/map.h
1574 (map::operator=(const map&)): Likewise.
1575 (map::operator=(map&&)): Likewise.
1576 * include/profile/multiset.h
1577 (multiset::operator=(const multiset&)): Likewise.
1578 (multiset::operator=(multiset&&)): Likewise.
1579 * include/profile/multimap.h
1580 (multimap::operator=(const multimap&)): Likewise.
1581 (multimap::operator=(multimap&&)): Likewise.
1582 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1583 Rely on the same operator from normal mode.
1584 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1586 * include/profile/multiset.h
1587 (multiset::operator=(std::initializer_list<>)): Likewise.
1588 * include/profile/multimap.h
1589 (multimap::operator=(std::initializer_list<>)): Likewise.
1590 * include/profile/set.h (set::swap(set&)): Add noexcept
1592 * include/profile/map.h (map::swap(map&)): Likewise.
1593 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1594 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1596 2014-01-17 Tim Shen <timshen91@gmail.com>
1598 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1600 * include/bits/regex_automaton.h: Do not use std::set.
1601 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1602 _BracketMatcher<>::_M_add_collating_element(),
1603 _BracketMatcher<>::_M_add_equivalence_class(),
1604 _BracketMatcher<>::_M_make_range()): Likewise.
1605 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1607 * include/bits/regex_executor.h: Do not use std::queue.
1608 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1609 _Executor<>::_M_dfs()): Likewise.
1610 * include/std/regex: Remove <map>, <set> and <queue>.
1612 2014-01-17 Tim Shen <timshen91@gmail.com>
1614 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1615 basic_regex<>::assign()): Change __compile_nfa to accept
1617 * include/bits/regex_compiler.h: Change _Compiler's template
1618 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1619 * include/bits/regex_compiler.tcc: Likewise.
1621 2014-01-17 Tim Shen <timshen91@gmail.com>
1623 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1625 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1626 _ScannerBase from _Scanner; Change _Scanner's template argument from
1627 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1629 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1630 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1631 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1633 * include/std/regex: Add <cstring> for using strchr.
1635 2014-01-17 Tim Shen <timshen91@gmail.com>
1637 * bits/regex_automaton.tcc: Indentation fix.
1638 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1639 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1640 _BracketMatcher<>): Add bool option template parameters and
1641 specializations to make matching more efficient and space saving.
1642 * bits/regex_compiler.tcc: Likewise.
1644 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1647 * include/bits/hashtable_policy.h: Fix some long lines.
1648 * include/bits/hashtable.h (__hash_code_base_access): Define and
1649 use it to check its _M_bucket_index noexcept qualification. Use
1651 (__access_protected_ctor): ...this.
1652 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1654 * testsuite/23_containers/unordered_set/
1655 not_default_constructible_hash_neg.cc: Likewise.
1657 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1659 * include/debug/set.h (set): Implement C++11 allocator-aware
1660 container requirements.
1661 * include/debug/map.h (map): Likewise.
1662 * include/debug/multiset.h (multiset): Likewise.
1663 * include/debug/multimap.h (multimap): Likewise.
1664 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1665 fix implementation regarding management of safe iterators.
1666 * include/debug/map.h (map::operator=(map&&)): Likewise.
1667 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1668 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1670 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1671 Rely on the same operator from normal mode.
1672 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1674 * include/debug/multiset.h
1675 (multiset::operator=(std::initializer_list<>)): Likewise.
1676 * include/debug/multimap.h
1677 (multimap::operator=(std::initializer_list<>)): Likewise.
1678 * include/debug/set.h (set::swap(set&)): Add noexcept
1679 specification, add allocator equality check.
1680 * include/debug/map.h (map::swap(map&)): Likewise.
1681 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1682 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1684 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1687 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1688 and stylistic improvements.
1689 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1690 and update for C++11.
1691 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1694 * doc/xml/manual/backwards_compatibility.xml
1695 (backwards.third.nocreate_noreplace): Correct and expand.
1698 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1700 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1703 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1704 support for non-Movable types.
1707 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1709 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1711 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1712 *this allocator instance when building temporary vector instance
1713 so that *this allocator does not get moved.
1714 * include/debug/safe_base.h
1715 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1716 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1717 move constructor from _Safe_sequence_base.
1718 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1719 safe iterators if the instance is moved.
1720 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1721 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1722 check on a vector iterator.
1723 * testsuite/23_containers/vector/allocator/move_assign.cc
1725 (test03): New, test with a non-propagating allocator.
1726 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1728 2014-01-07 Tim Shen <timshen91@gmail.com>
1730 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1731 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1732 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1733 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1734 _BracketMatcher<>::_M_add_char(),
1735 _BracketMatcher<>::_M_add_collating_element(),
1736 _BracketMatcher<>::_M_add_equivalence_class(),
1737 _BracketMatcher<>::_M_add_character_class(),
1738 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1739 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1740 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1741 to template parameter; Add cache for _BracketMatcher. Adjust
1742 declarations from here...
1743 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1744 imbuing a regex will trigger a recompilation to rebuild the cache.
1745 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1746 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1747 different template bool parameters.
1748 * include/bits/regex_executor.h: Remove unnecessary declarations.
1749 * include/std/regex: Adjust including orders.
1750 * testsuite/28_regex/traits/char/user_defined.cc: New.
1751 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1753 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1755 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1756 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1757 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1758 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1759 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1761 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1763 Update copyright years
1765 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1767 * testsuite/18_support/new_handler.cc,
1768 testsuite/18_support/terminate_handler.cc,
1769 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1770 the copyright notice.
1772 Copyright (C) 2014 Free Software Foundation, Inc.
1774 Copying and distribution of this file, with or without modification,
1775 are permitted in any medium without royalty provided the copyright
1776 notice and this notice are preserved.