1 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
4 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
5 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
7 (time_get::do_get_monthname): Likewise.
8 * include/bits/stl_tree.h: Add system_header pragma.
9 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
10 redundant const-qualifier.
11 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
12 instead of _GLIBCXX_USE_CONSTEXPR.
14 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
16 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
17 * include/std/chrono (_Checked_integral_constant): Allow zero.
18 * testsuite/20_util/duration/literals/values.cc: Test non-positive
19 values and digit separators.
20 * include/experimental/any
23 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
24 apply the signed specifier to wchar_t.
25 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
26 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
27 cv-qualifier and size.
28 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
31 * include/experimental/any (any_v1): Rename namespace to
32 fundamentals_v1. Change string returned by bad_any_cast::what().
33 * include/experimental/optional (fundamentals_v1): Add namespace.
34 * include/experimental/string_view (fundamentals_v1): Likewise.
35 * testsuite/experimental/any/typedefs.cc: New.
36 * testsuite/experimental/optional/typedefs.cc: New.
37 * testsuite/experimental/string_view/typedefs.cc: New.
39 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
40 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
43 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
45 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
47 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
48 * include/Makefile.am: Add new header.
49 * include/Makefile.in: Regenerate.
50 * include/experimental/any: New.
51 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
53 * testsuite/experimental/any/assign/1.cc: New.
54 * testsuite/experimental/any/assign/2.cc: New.
55 * testsuite/experimental/any/cons/1.cc: New.
56 * testsuite/experimental/any/cons/2.cc: New.
57 * testsuite/experimental/any/cons/3.cc: New.
58 * testsuite/experimental/any/misc/any_cast.cc: New.
59 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
60 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
61 * testsuite/experimental/any/misc/swap.cc: New.
62 * testsuite/experimental/any/modifiers/1.cc: New.
63 * testsuite/experimental/any/observers/type.cc: New.
65 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
66 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
68 * include/bits/shared_ptr.h (shared_ptr): Likewise.
69 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
71 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
73 * include/parallel/list_partition.h (__parallel::list_partition):
75 * include/std/iomanip (quoted): Likewise.
76 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
78 * doc/xml/api.xml: Link to more recent API docs.
79 * include/bits/allocator.h: Fix link in doxygen comment.
80 * include/bits/char_traits.h: Likewise.
81 * include/bits/ios_base.h: Likewise.
82 * include/bits/stl_map.h: Likewise.
83 * include/bits/stl_multimap.h: Likewise.
84 * include/bits/stl_multiset.h: Likewise.
85 * include/bits/stl_set.h: Likewise.
86 * include/bits/unordered_map.h: Likewise.
87 * include/bits/unordered_set.h: Likewise.
88 * include/ext/mt_allocator.h: Likewise.
89 * include/std/fstream: Likewise.
90 * include/std/iosfwd: Likewise.
91 * include/std/ostream: Likewise.
92 * include/std/sstream: Likewise.
93 * include/std/streambuf: Likewise.
94 * doc/html/*: Regenerate.
96 * include/experimental/any (any_cast): Combine duplicate doxygen
98 * include/experimental/string_view (basic_string_view): Update
100 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
101 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
102 (dynamic_bitset): Improve Doxygen comments.
103 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
106 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
108 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
109 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
111 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
114 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
115 (bin_search_tree_traits): Do not redeclare template-parameters.
116 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
118 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
120 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
121 parameter for DocBook HTML generation.
122 * doc/Makefile.in: Regenerate.
123 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
124 * doc/xml/faq.xml: Update content and improve formatting.
125 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
126 * doc/xml/manual/allocator.xml: Add stable ID attribute.
127 * doc/xml/manual/bitmap_allocator.xml: Likewise.
128 * doc/xml/manual/build_hacking.xml: Likewise.
129 * doc/xml/manual/codecvt.xml: Change URL.
130 * doc/xml/manual/ctype.xml: Add stable ID attribute.
131 * doc/xml/manual/debug_mode.xml: Likewise.
132 * doc/xml/manual/documentation_hacking.xml: Likewise.
133 * doc/xml/manual/evolution.xml: Likewise.
134 * doc/xml/manual/extensions.xml: Likewise.
135 * doc/xml/manual/locale.xml: Likewise.
136 * doc/xml/manual/messages.xml: Make section id consistent, improve
138 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
139 * doc/xml/manual/profile_mode.xml: Likewise.
140 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
141 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
142 * doc/xml/manual/status_cxx2011.xml: Likewise.
143 * doc/xml/manual/status_cxx2014.xml: Likewise.
144 * doc/xml/manual/status_cxxtr1.xml: Likewise.
145 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
146 * doc/xml/manual/using.xml: Likewise.
147 * doc/html/*: Regenerate.
149 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
151 * include/tr1/beta_function.tcc: Fix spelling of include guard in
154 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
156 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
158 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
160 DR 2344 - std::quoted doesn't respect padding
161 * include/std/iomanip: Allow for padding in quoted inserters.
162 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
163 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
165 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
167 * testsuite/23_containers/map/operators/1.cc: Simplify test.
169 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
171 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
173 * doc/xml/manual/backwards_compatibility.xml
174 (backwards.second.stringstreams): Likewise.
175 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
177 * doc/xml/manual/containers.xml (associative.bitset.type_string):
178 Replace <quote> in code example.
179 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
180 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
181 fix typos, improve markup.
182 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
183 <emphasis> with <replaceable>.
184 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
185 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
186 and remove newlines in string literal.
188 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
192 * testsuite/20_util/is_assignable/value.cc: Update.
194 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
196 * include/std/condition_variable (condition_variable_any::_Unlock): Do
197 not swallow __forced_unwind.
198 * include/std/future (__future_base::_Task_setter): Likewise.
199 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
201 * include/std/mutex (try_lock): Likewise.
202 * testsuite/30_threads/async/forced_unwind.cc: New.
203 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
205 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
206 members to avoid wasted space when not using a cache.
207 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
208 * include/bits/regex_compiler.tcc
209 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
211 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
212 New enumeration type to indicate match mode.
213 (__detail::_Executor::_State_info): New type holding members only
214 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
216 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
217 Replace template parameter with run-time function parameter.
218 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
219 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
220 implement DFS and BFS mode.
221 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
222 Split implementation into ...
223 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
224 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
225 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
226 argument instead of template argument.
227 (__detail::_Executor::_M_dfs): Likewise.
228 * include/bits/regex_scanner.tcc: Fix typos in comments.
229 * testsuite/performance/28_regex/range.cc: New.
231 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
232 Jonathan Wakely <jwakely@redhat.com>
234 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
236 (aligned_union): New struct (C++11).
237 (aligned_union_t): New type alias (C++14).
238 * doc/xml/manual/status_cxx2011.xml: Update.
239 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
240 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
243 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
246 * include/experimental/string_view (operator basic_string): Correct
248 (to_string): Replace with member function.
249 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
250 allow _M_str to be null.
251 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
252 default constructor semantics.
253 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
254 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
255 copyright dates. Remove unused header.
256 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
258 * testsuite/experimental/string_view/operations/data/char/1.cc:
259 Fix copyright dates. Adjust to new default constructor semantics.
260 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
262 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
264 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
265 (__uses_allocator_arg): Remove unused type.
266 (__uses_alloc0): Turn into a trivial type.
267 (__uses_alloc): Add missing template parameter in primary template.
268 (__uses_alloc_impl): Rename to __uses_alloc_t.
270 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
272 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
273 work with previous versions of Tcl.
275 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
276 Benjamin's old email address.
278 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
281 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
283 * include/tr2/bool_set: Use UTF-8 for accented characters.
284 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
285 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
286 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
288 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
291 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
293 (_State_base::_M_dot): Likewise.
295 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
297 * include/profile/map.h: Fix typo in comment; minor formatting fix.
298 * include/profile/multimap.h: Likewise.
299 * include/profile/set.h: Likewise.
300 * include/profile/multiset.h: Likewise.
302 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
304 * include/profile/array: Clean useless white chars.
305 * include/profile/base.h: Likewise.
306 * include/profile/iterator_tracker.h: Likewise.
307 * include/profile/bitset: Code cleanup and remove not instrumented code.
308 * include/profile/deque: Likewise.
309 * include/profile/forward_list: Likewise.
310 * include/profile/list (std::__profile::_List_profile<>): New.
311 (std::__profile::list<>): Inherit from latter and adapt.
312 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
313 advise to match any ordered to unordered container conversion.
314 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
316 * include/Makefile.am: Add latter.
317 * include/Makefile.in: Regenerate.
318 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
319 remove not instrumented code.
320 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
321 * include/profile/set.h (std::__profile::set<>): Likewise.
322 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
323 * include/profile/unordered_base.h: Add some line feed.
324 * include/profile/unordered_map: Clean useless white chars and replace
326 * include/profile/unordered_set: Likewise.
327 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
328 (std::__profile::_Vector_profile_post<>): New.
329 (std::__profile::vector<>): Inherit from latter and adapt.
331 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
334 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
335 dragonfly target selector to all tests that run on freebsd.
337 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
339 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
340 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
342 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
344 * testsuite/30_threads/call_once/60497.cc: Likewise.
345 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
346 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
347 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
348 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
349 * testsuite/30_threads/promise/60966.cc: Likewise.
350 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
351 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
352 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
353 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
354 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
355 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
356 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
357 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
358 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
359 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
360 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
361 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
362 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
363 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
364 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
365 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
366 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
368 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
371 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
373 * testsuite/23_containers/unordered_set/61143.cc: New.
374 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
376 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
379 * include/std/type_traits: Move include outside namespace std.
380 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
381 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
382 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
385 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
388 2014-05-21 John Marino <gnugcc@marino.st>
390 * acinclude.m4 (*-*-dragonfly*): New target.
391 * configure: Regenerate.
392 * configure.host (*-*-dragonfly*): New target.
393 * config/locale/dragonfly/c_locale.cc: New.
394 * config/locale/dragonfly/ctype_members.cc: New.
395 * config/os/bsd/dragonfly/ctype_base.h: New.
396 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
397 * config/os/bsd/dragonfly/ctype_inline.h: New.
398 * config/os/bsd/dragonfly/os_defines.h: New.
400 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
402 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
403 libstdc++.exp imports those flags via getenv.
404 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
405 CXXFLAGS contains a '-O' flag.
407 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
411 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
414 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
415 and add unwind directives.
417 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
419 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
421 2014-05-20 Tim Shen <timshen91@gmail.com>
424 * include/bits/regex_compiler.h
425 (_BracketMatcher<>::_M_add_character_class): Add negative character
427 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
429 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
432 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
434 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
436 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
438 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
439 * libsupc++/new_opnt.cc: Likewise.
441 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
444 * include/std/future (__future_base::_State_baseV2::_M_set_result):
445 Pass lock into _M_do_set and hold it until the function returns.
446 Signal condition variable after call_once completes.
447 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
449 * testsuite/30_threads/promise/60966.cc: New.
451 2014-05-16 Iain Sandoe <iain@codesourcery.com>
452 Sandra Loosemore <sandra@codesourcery.com>
454 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
455 until after checking that the test is eligible to be run.
457 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
459 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
460 test for 32-bit target.
461 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
463 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
466 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
469 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
470 and add unwind directives.
472 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
474 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
476 * include/std/chrono (chrono_literals::__select_type::_Select_type):
478 (chrono_literals::_Checked_integral_constant): Define.
479 Simplify UDL operator templates and check for overflow.
480 * testsuite/20_util/duration/literals/range.cc: New.
482 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
483 Jonathan Wakely <jwakely@redhat.com>
486 * include/bits/parse_numbers.h: Use integral_constant to remove
487 duplication and simplify.
488 * testsuite/20_util/duration/literals/61166.cc: New.
490 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
493 * include/std/type_traits (__make_unsigned, __make_signed): Define
494 specializations for wchar_t, char16_t and char32_t.
495 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
496 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
497 test for make_unsigned<volatile wchar_t>.
498 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
500 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
502 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
504 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
507 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
509 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
510 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
511 * include/std/utility (tuple_size, tuple_element): Likewise.
512 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
513 Adjust dg-error line number.
515 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
517 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
518 (__tuple_element_t): Define.
519 (tuple_element): Use __tuple_element_t.
520 (__cv_tuple_size): Define.
521 (tuple_size<cv _Tp>): Use __cv_tuple_size.
522 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
523 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
524 (__tuple_compare): Remove size check, re-order parameters.
525 (operator==, operator<): Use static_assert to check requirements.
526 * include/std/functional (__volget): use __tuple_element_t.
527 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
528 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
530 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
533 * include/std/tuple (get, __tuple_compare): Qualify more calls to
534 prevent ADL. Cast comparison results to bool.
535 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
536 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
539 * include/debug/array (get): Qualify call to other get overload.
540 * include/profile/array (get): Likewise.
541 * include/std/array (get): Likewise.
542 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
543 * include/std/mutex (unique_lock, call_once): Use __addressof.
544 (__unlock_impl): Remove unused template.
545 (__try_to_lock): Declare inline.
546 (__try_lock_impl::__do_try_lock): Qualify function calls.
547 (lock): Avoid narrowing conversion.
548 * testsuite/20_util/bind/60497.cc: New.
549 * testsuite/23_containers/array/element_access/60497.cc: New.
550 * testsuite/30_threads/call_once/60497.cc: New.
551 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
553 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
555 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
556 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
557 * acinclude.m4 (libtool_VERSION): Bump.
558 * configure: Regenerate.
559 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
560 * testsuite/28_regex/regex_error/base.cc: New.
562 2014-05-08 Joshua Gay <jgay@gnu.org>
565 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
566 source" with "free software".
567 * doc/html/faq.html: Likewise.
569 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
572 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
574 (operator=(const ios_base&)): Likewise.
575 * include/std/streambuf: Remove trailing whitespace.
576 (basic_streambuf(const basic_streambuf&)): Fix initializer for
577 _M_out_end. Define as defaulted for C++11.
578 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
579 (swap(basic_streambuf&)): Define for C++11.
580 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
583 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
585 * include/std/iostream: Fix URL in comment.
586 * src/c++98/ios_init.cc: Fix path in comment.
588 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
590 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
591 * configure: Regenerate.
593 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
596 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
598 * testsuite/23_containers/set/cons/61023.cc: New.
601 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
603 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
604 arithmetic to obtain a mutable iterator from const_iterator.
605 * include/bits/vector.tcc (vector::insert): Likewise.
606 * include/debug/vector (vector::erase): Likewise.
607 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
608 Adjust dg-error line number.
609 * testsuite/23_containers/vector/requirements/dr438/
610 constructor_1_neg.cc: Likewise.
611 * testsuite/23_containers/vector/requirements/dr438/
612 constructor_2_neg.cc: Likewise.
613 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
616 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
618 * include/Makefile.in: Regenerate.
620 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
622 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
623 parameter to pass the 2 instances to check allocator equality.
624 * include/debug/safe_container.h: New, define _Safe_container<>.
625 * include/Makefile.am: Add previous.
626 * include/debug/deque (std::__debug::deque<>): Inherit
627 _Safe_container<>. Use default implementation for all special
629 * include/debug/forward_list (std::__debug::forward_list<>):
631 * include/debug/list (std::__debug::list<>): Likewise.
632 * include/debug/map.h (std::__debug::map<>): Likewise.
633 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
634 * include/debug/set.h (std::__debug::set<>): Likewise.
635 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
636 * include/debug/string (std::__debug::basic_string<>): Likewise.
637 * include/debug/unordered_map
638 (std::__debug::unordered_map<>): Likewise.
639 (std::__debug::unordered_multimap<>): Likewise.
640 * include/debug/unordered_set
641 (std::__debug::unordered_set<>): Likewise.
642 (std::__debug::unordered_multiset<>): Likewise.
643 * include/debug/vector (std::__debug::vector<>): Likewise.
644 * include/debug/safe_base.h (_Safe_sequence_base()): Add
646 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
647 (~_Safe_sequence_base()): Add noexcept.
648 * include/debug/safe_sequence.h
649 (std::__debug::_Safe_node_sequence<>): New.
650 * include/debug/safe_unordered_base.h
651 (_Safe_unordered_container_base()): Add noexcept.
652 (~_Safe_unordered_container_base()): Likewise.
653 (_M_swap(_Safe_unordered_container_base&)): Likewise.
654 * include/debug/safe_unordered_container.h:
655 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
656 (_Safe_unordered_container<>::_M_invalidate_all()): New.
657 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
659 * testsuite/util/debug/checks.h (check_construct1): Just implement
660 an invalid constructor invocation and no other operations
661 potentially not supported by some types of container.
662 (check_construct2): Likewise.
663 (check_construct3): Likewise.
664 * testsuite/23_containers/forward_list/allocator/move.cc: Add
665 check on iterators to make sure they are correctly moved in debug
667 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
669 * testsuite/23_containers/map/allocator/move.cc: Likewise.
670 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
671 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
672 * testsuite/23_containers/multimap/allocator/move_assign.cc:
674 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
675 * testsuite/23_containers/multiset/allocator/move_assign.cc:
677 * testsuite/23_containers/set/allocator/move.cc: Likewise.
678 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
679 * testsuite/23_containers/unordered_map/allocator/move.cc:
681 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
683 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
685 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
687 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
689 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
691 * testsuite/23_containers/unordered_set/allocator/move.cc:
693 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
695 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
697 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
699 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
701 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
703 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
705 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
706 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
707 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
708 * testsuite/23_containers/map/debug/move_neg.cc: New.
709 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
710 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
711 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
712 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
713 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
714 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
715 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
716 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
717 * testsuite/23_containers/set/debug/move_neg.cc: New.
718 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
720 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
722 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
723 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
725 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
727 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
729 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
731 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
733 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
735 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
737 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
739 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
740 * testsuite/23_containers/vector/debug/move_neg.cc: New.
742 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
744 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
745 (CXXABI_1.3.9): Remove __float128 symbols.
747 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
750 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
751 function to handle both C++03 and C++11 _Rb_tree_node implementations.
752 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
753 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
755 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
758 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
759 Check the correct type in the static assertion.
760 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
762 2014-04-27 Tim Shen <timshen91@gmail.com>
764 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
765 Add _S_opcode_repeat support to distingush a loop from
766 _S_opcode_alternative.
767 * include/bits/regex_automaton.tcc (_State_base::_M_print,
768 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
769 _StateSeq<>::_M_clone): Likewise.
770 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
772 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
773 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
774 Uglify local variable __i.
775 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
776 Use size_t instead of int to compare with vector::size().
778 2014-04-27 Tim Shen <timshen91@gmail.com>
780 * include/bits/regex_executor.h: Add _M_rep_count to track how
781 many times this repeat node are visited.
782 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
783 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
786 2014-04-27 Tim Shen <timshen91@gmail.com>
788 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
789 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
790 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
791 * include/bits/regex_automaton.h: Remove quantifier counting variable.
792 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
793 Adjust debug NFA dump.
795 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
798 * include/experimental/optional (operator!=): Implement in terms of
800 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
801 * testsuite/experimental/optional/relops/2.cc: Likewise.
802 * testsuite/experimental/optional/relops/3.cc: Likewise.
803 * testsuite/experimental/optional/relops/4.cc: Likewise.
804 * testsuite/experimental/optional/relops/5.cc: Likewise.
805 * testsuite/experimental/optional/relops/6.cc: Likewise.
807 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
810 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
811 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
814 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
816 * testsuite/util/testsuite_abi.cc (check_version): Update for
819 2014-04-24 Tim Shen <timshen91@gmail.com>
821 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
822 Do _M_alt before _M_next.
823 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
825 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
828 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
829 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
830 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
832 2014-04-24 Andreas Schwab <schwab@suse.de>
834 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
835 new CXXABI_1.3.9 symbols.
837 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
839 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
840 (CXXABI_1.3.9): New version.
842 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
845 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
846 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
847 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
849 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
851 * configure.host: Remove solaris2.9 handling.
852 Change os_include_dir to os/solaris/solaris2.10.
853 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
854 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
855 * configure: Regenerate.
856 * config/abi/post/solaris2.9: Remove.
857 * config/os/solaris/solaris2.9: Rename to ...
858 * config/os/solaris/solaris2.10: ... this.
859 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
862 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
863 Remove Solaris 9 reference.
864 * doc/html/manual/configure.html: Regenerate.
866 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
867 Remove *-*-solaris2.9 xfail.
868 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
871 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
874 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
876 * include/std/functional (__is_location_invariant): Use __or_ helper.
878 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
881 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
884 * include/std/atomic (atomic<_Tp>): Add static assertion.
885 * testsuite/29_atomics/atomic/60695.cc: New.
888 * include/std/functional (function::_Callable): Exclude own type
889 from the callable checks.
890 * testsuite/20_util/function/60594.cc: New.
892 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
893 const to constexpr member functions.
895 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
896 delegating constructor.
897 * include/bits/shared_ptr_base.h
898 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
900 * include/std/atomic: Uglify parameter names.
903 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
904 1.cc: Fix invalid explicit instantiations with unqualified names.
905 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
907 * testsuite/20_util/tuple/53648.cc: Likweise.
908 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
910 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
912 * testsuite/23_containers/unordered_map/requirements/
913 debug_container.cc: Likewise.
914 * testsuite/23_containers/unordered_map/requirements/
915 explicit_instantiation/3.cc: Likewise.
916 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
918 * testsuite/23_containers/unordered_multimap/requirements/
919 explicit_instantiation/3.cc: Likewise.
920 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
922 * testsuite/23_containers/unordered_multiset/requirements/
923 explicit_instantiation/3.cc: Likewise.
924 * testsuite/23_containers/unordered_set/requirements/
925 debug_container.cc: Likewise.
926 * testsuite/23_containers/unordered_set/requirements/
927 explicit_instantiation/3.cc: Likewise.
929 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
930 not use uninitialized members in mem-initializers.
931 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
932 * testsuite/util/testsuite_common_types.h: Update comment.
934 * include/experimental/string_view: Fix inconsistent exception specs.
936 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
937 Remove name of unused parameter.
939 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
941 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
942 _Vector_base::_M_allocate): NullablePointer requirements do not
943 include initialization from literal zero, use value-initialization.
944 * include/bits/vector.tcc (vector::_M_insert_aux,
945 vector::_M_explace_back_aux): Likewise for assignment.
947 * include/bits/allocator.h (operator==, operator!=): Add exception
951 * include/std/tuple (get): Qualify calls to prevent ADL.
952 * testsuite/20_util/tuple/60497.cc: New.
954 * include/std/tuple (tuple_element_t): Define.
955 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
957 * testsuite/20_util/tuple/tuple_element_t.cc: New.
959 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
962 * include/bits/stl_iterator.h (move_iterator::reference,
963 move_iterator::operator*): Implement LWG 2106.
964 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
966 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
968 * include/std/complex (__complex_exp, pow): Specify the template
969 parameter in calls to std::polar, for expression templates.
971 2014-04-10 Andreas Schwab <schwab@suse.de>
973 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
975 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
976 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
978 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
980 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
982 * testsuite/20_util/exchange/1.cc: Add missing return statements.
983 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
984 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
987 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
988 Jack Howarth <howarth@bromo.med.uc.edu>
991 * testsuite/30_threads/condition_variable/54185.cc: Skip for
994 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
996 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
998 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1000 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1001 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1002 * doc/xml/manual/concurrency_extensions.xml
1003 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1004 * doc/html/*: Regenerate.
1006 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1007 Jonathan Wakely <jwakely@redhat.com>
1010 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1011 string if input is not quoted.
1012 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1014 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1016 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1018 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1020 * testsuite/18_support/exception_ptr/60612-terminate.cc
1021 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1022 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1024 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1026 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1028 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1029 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1031 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1033 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1035 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1036 Fix bad s/part/chapter/ substitutions.
1037 * doc/xml/manual/io.xml (std.io): Likewise.
1038 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1039 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1041 * doc/html/*: Regenerate.
1043 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1046 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1047 compatible with __cxa_exception.
1048 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1049 Fix typos in comments.
1050 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1051 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1053 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1056 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1057 Use sizeof pointer type not the element type.
1058 * testsuite/29_atomics/atomic/60658.cc: New.
1060 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1062 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1063 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1064 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1065 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1066 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1067 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1068 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1069 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1070 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1071 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1074 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1076 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1078 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1080 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1081 to delegated constructor.
1082 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1083 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1086 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1088 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1091 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1093 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1096 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1097 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1099 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1100 from different types of debug container. Use _Is_contiguous_sequence
1101 instead of is_lvalue_reference.
1102 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1103 dereferencing past-the-end iterator.
1104 (__foreign_iterator_aux4): Use const value_type* instead of
1105 potentially user-defined const_pointer type.
1106 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1107 and pass end iterator to __gnu_debug::__foreign_iterator.
1108 (__glibcxx_check_insert_range_after): Likewise.
1109 (__glibcxx_check_max_load_factor): Fix comment.
1110 * include/debug/vector (_Is_contiguous_sequence): Define partial
1112 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1113 -std=gnu++11 option and unused header.
1114 * testsuite/23_containers/vector/debug/60587.cc: New.
1115 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1117 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1119 * crossconfig.m4: Support spu-*-elf* targets.
1120 * configure: Regenerate.
1122 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1125 * include/std/future (__future_base::_Task_state<>): Change
1126 constructors to template functions using perfect forwarding.
1127 (__create_task_state): Use decayed type as stored task.
1128 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1129 * testsuite/30_threads/packaged_task/60564.cc: New.
1131 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1133 * scripts/create_testsuite_files: Add testsuite/experimental in
1134 the list of folders to search for tests.
1136 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1138 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1140 2014-03-15 Tim Shen <timshen91@gmail.com>
1142 * include/bits/regex.h: Add/modify comments.
1143 * include/bits/regex_compiler.h: Likewise.
1144 * include/bits/regex_executor.h: Likewise.
1145 * include/bits/regex_executor.tcc: Likewise.
1146 * include/bits/regex_scanner.h: Likewise.
1148 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1151 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1152 _ZNSt12system_errorC* symbols which are not exported on any target.
1154 2014-03-12 Roland McGrath <mcgrathr@google.com>
1155 Mark Seaborn <mseaborn@google.com>
1158 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1159 the address of a null pointer, not with a null pointer to pointer.
1160 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1161 * testsuite/18_support/bad_exception/59392.cc: New file.
1163 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1166 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1168 * include/debug/map (map::operator=(map&&)): Likewise.
1169 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1170 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1171 * include/debug/set (set::operator=(set&&)): Likewise.
1172 * include/debug/unordered_map
1173 (unordered_map::operator=(unordered_map&&)): Likewise.
1174 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1175 * include/debug/unordered_set
1176 (unordered_set::operator=(unordered_set&&)): Likewise.
1177 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1178 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1179 * testsuite/23_containers/forward_list/debug/60499.cc: New
1180 * testsuite/23_containers/map/debug/60499.cc: New
1181 * testsuite/23_containers/multimap/debug/60499.cc: New
1182 * testsuite/23_containers/multiset/debug/60499.cc: New
1183 * testsuite/23_containers/set/debug/60499.cc: New
1184 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1185 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1186 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1187 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1188 * testsuite/23_containers/vector/debug/60499.cc: New
1190 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1192 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1193 for filesystem and fundamentals TS work items.
1195 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1198 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1199 Adjust dg-error directives.
1201 2014-02-26 Tim Shen <timshen91@gmail.com>
1203 * include/bits/regex.tcc (match_results<>::format,
1204 regex_replace<>): Update __out after calling std::copy.
1205 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1207 * testsuite/28_regex/match_results/format.cc: Likewise.
1209 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1212 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1213 allocator_type&)): Remove redundant call to _M_initialize_map.
1214 (deque::deque(const allocator_type&)): Initialize _Base with a
1215 constructor that calls _M_initialize_map.
1219 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1221 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1224 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1226 Rename testsuite directory shared_mutex to shared_timed_mutex
1228 * testsuite/30_threads/shared_mutex: Moved to...
1229 * testsuite/30_threads/shared_timed_mutex: ...here
1231 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1233 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1234 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1235 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1236 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1237 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1238 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1239 * testsuite/30_threads/shared_lock/requirements/
1240 explicit_instantiation.cc: Ditto.
1241 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1242 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1243 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1244 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1245 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1246 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1247 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1248 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1249 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1250 * testsuite/30_threads/shared_mutex/requirements/
1251 standard_layout.cc: Ditto.
1252 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1253 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1254 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1255 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1256 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1258 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1260 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1261 execution on i?86-*-solaris2.9, remove comment.
1262 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1264 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1266 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1267 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1268 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1270 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1272 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1273 not use varargs when argument could be non-POD.
1274 (__alloctr_rebind_helper): Eliminate static const bool member by
1275 using true_type and false_type.
1276 (allocator_traits::__allocate_helper): Likewise.
1277 (allocator_traits::__construct_helper): Likewise.
1278 (allocator_traits::__destroy_helper): Likewise.
1279 (allocator_traits::__maxsize_helper): Likewise.
1280 (allocator_traits::__select_helper): Likewise.
1281 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1282 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1283 Remove redundant condition.
1284 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1286 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1287 indirection through __alloc_traits.
1288 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1289 Eliminate static const bool members by using true_type and false_type.
1290 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1291 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1292 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1294 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1297 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1298 (vector::_M_data_ptr): New overloaded functions to ensure empty
1299 vectors do not dereference the pointer.
1300 * testsuite/23_containers/vector/59829.cc: New.
1301 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1302 Adjust dg-error line number.
1303 * testsuite/23_containers/vector/requirements/dr438/
1304 constructor_1_neg.cc: Likewise.
1305 * testsuite/23_containers/vector/requirements/dr438/
1306 constructor_2_neg.cc: Likewise.
1307 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1311 * include/ext/array_allocator.h: Add deprecated attribute.
1314 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1315 installation and use of python printers.
1316 * doc/xml/manual/status_cxx2011.xml: Update.
1317 * doc/html/*: Regenerate.
1319 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1320 Kyle Lippincott <spectral@google.com>
1323 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1324 constructor and grant friendship to weak_ptr.
1325 (weak_ptr::lock()): Use new constructor.
1326 * include/bits/shared_ptr_base.h
1327 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1328 and define specializations.
1329 (__shared_count): Add new non-throwing constructor.
1330 (__shared_ptr): Add new non-throwing constructor and grant friendship
1332 (__weak_ptr::lock()): Use new constructor.
1333 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1334 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1336 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1339 * include/bits/shared_ptr_base.h
1340 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1343 2014-01-27 Jason Merrill <jason@redhat.com>
1348 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1349 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1350 (__cxa_allocate_exception): Don't set it here.
1352 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1354 * include/bits/stl_map.h: Remove anachronistic comment.
1355 * include/bits/stl_multimap.h: Add whitespace.
1356 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1357 -std=gnu++11 instead of -std=c++11.
1358 * testsuite/23_containers/map/operators/2.cc: Likewise.
1359 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1360 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1361 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1363 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1364 * configure: Regenerate.
1366 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1369 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1370 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1372 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1373 Peter A. Bigot <pab@pabigot.com>
1376 * include/experimental/string_view
1377 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1378 Correct copy start location.
1380 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1381 Peter A. Bigot <pab@pabigot.com>
1384 * include/experimental/string_view (operator[](size_type) const):
1385 Fix one-off index error in debug check.
1386 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1387 test basic_string_view at size().
1388 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1390 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1391 Peter A. Bigot <pab@pabigot.com>
1394 * include/experimental/string_view
1395 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1396 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1397 Comment out catch of out_of_range; No terminating null
1398 in basic_string_view. Check begin == end.
1399 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1402 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1405 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1406 constructor to prevent it being implicitly defined as deleted, but
1407 do not copy anything.
1408 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1409 Define copy and move constructors similar to _Safe_sequence_base's.
1410 * testsuite/23_containers/unordered_map/59548.cc: New.
1412 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1413 Steve Ellcey <sellcey@mips.com>
1415 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1417 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1418 * (configure, config.h.in): Regenerate.
1419 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1421 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1423 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1424 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1427 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1428 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1430 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1432 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1433 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1434 functions to perform moving or copying of elements from rvalue tree.
1435 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1436 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1437 * testsuite/23_containers/map/59872.cc: New.
1438 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1440 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1442 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1445 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1446 Split into separate default constructor and constructor taking
1448 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1449 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1451 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1452 * include/debug/list (list::list(const _Allocator&)): Likewise.
1453 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1455 * include/debug/multimap.h
1456 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1457 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1459 * include/debug/multiset.h
1460 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1461 * include/debug/vector (vector::vector(const allocator_type&)):
1463 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1464 * include/profile/list (list::list(const _Allocator&)): Likewise.
1465 * include/profile/map.h
1466 (map::map(const _Compare&, const _Allocator&)): Likewise.
1467 * include/profile/multimap.h
1468 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1469 * include/profile/set.h
1470 (set::set(const _Compare&, const _Allocator&)): Likewise.
1471 * include/profile/multiset.h
1472 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1473 * include/profile/vector (vector::vector(const _Allocator&)):
1475 * testsuite/23_containers/deque/58764.cc: New.
1476 * testsuite/23_containers/list/58764.cc: New.
1477 * testsuite/23_containers/map/58764.cc: New.
1478 * testsuite/23_containers/multimap/58764.cc: New.
1479 * testsuite/23_containers/set/58764.cc: New.
1480 * testsuite/23_containers/multiset/58764.cc: New.
1481 * testsuite/23_containers/vector/58764.cc: New.
1482 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1483 Adjust dg-error line number.
1484 * testsuite/23_containers/deque/requirements/dr438/
1485 constructor_1_neg.cc: Likewise.
1486 * testsuite/23_containers/deque/requirements/dr438/
1487 constructor_2_neg.cc: Likewise.
1488 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1490 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1492 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1494 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1496 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1498 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1500 * testsuite/23_containers/vector/requirements/dr438/
1501 constructor_1_neg.cc: Likewise.
1502 * testsuite/23_containers/vector/requirements/dr438/
1503 constructor_2_neg.cc: Likewise.
1504 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1507 PR libstdc++/58764 (again)
1508 * include/bits/stl_list.h (list): Make default constructor's exception
1509 specification conditional.
1510 * include/bits/stl_vector.h (vector): Likewise.
1511 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1512 to default constructor.
1513 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1514 Adjust dg-error line number.
1515 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1517 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1519 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1521 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1523 * testsuite/23_containers/vector/requirements/dr438/
1524 constructor_1_neg.cc: Likewise.
1525 * testsuite/23_containers/vector/requirements/dr438/
1526 constructor_2_neg.cc: Likewise.
1527 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1530 2014-01-21 Tim Shen <timshen91@gmail.com>
1532 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1533 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1534 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1536 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1539 * include/bits/hashtable.h (__cache_default): Do not depend on
1540 whether the hash function is DefaultConstructible or CopyAssignable.
1541 (_Hashtable): Adjust static assertions.
1542 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1543 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1544 dg-error line number.
1545 * testsuite/23_containers/unordered_set/
1546 not_default_constructible_hash_neg.cc: Remove.
1548 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1550 * scripts/create_testsuite_files: Add testsuite/experimental in
1551 the list of folders to search for tests.
1552 * include/experimental/string_view
1553 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1554 incompatible with constexpr qualifier.
1555 (basic_string_view<>::front()): Likewise.
1556 (basic_string_view<>::back()): Likewise.
1557 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1558 Merge dg-options directives into one.
1559 * testsuite/experimental/string_view/element_access/char/2.cc:
1560 Likewise. Remove invalid experimental namespace scope on
1563 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1566 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1567 friendship to _Local_iterator_base<..., false>.
1568 (_Local_iterator_base): Give protected access to all existing members.
1569 (_Local_iterator_base::_M_curr()): New public accessor.
1570 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1571 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1572 the lifetime of the _Hash_code_base explicitly.
1573 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1574 (_Local_iterator_base<..., false>): Define copy constructor and copy
1575 assignment operator that use new functions to manage _Hash_code_base.
1576 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1577 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1578 Use public API for _Local_iterator_base.
1579 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1580 * include/debug/unordered_map (__debug::unordered_map::erase(),
1581 __debug::unordered_multimap::erase()): Likewise.
1582 * include/debug/unordered_set (__debug::unordered_set::erase(),
1583 __debug::unordered_multiset::erase()): Likewise.
1584 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1586 2014-01-19 Tim Shen <timshen91@gmail.com>
1588 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1589 Fix parse error of multiple consecutive quantifiers like "a**".
1590 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1592 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1594 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1596 * include/profile/set.h (set): Implement C++11 allocator-aware
1597 container requirements.
1598 * include/profile/map.h (map): Likewise.
1599 * include/profile/multiset.h (multiset): Likewise.
1600 * include/profile/multimap.h (multimap): Likewise.
1601 * include/profile/set.h
1602 (set::operator=(const set&)): Define as default in C++11 mode.
1603 (set::operator=(set&&)): Likewise.
1604 * include/profile/map.h
1605 (map::operator=(const map&)): Likewise.
1606 (map::operator=(map&&)): Likewise.
1607 * include/profile/multiset.h
1608 (multiset::operator=(const multiset&)): Likewise.
1609 (multiset::operator=(multiset&&)): Likewise.
1610 * include/profile/multimap.h
1611 (multimap::operator=(const multimap&)): Likewise.
1612 (multimap::operator=(multimap&&)): Likewise.
1613 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1614 Rely on the same operator from normal mode.
1615 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1617 * include/profile/multiset.h
1618 (multiset::operator=(std::initializer_list<>)): Likewise.
1619 * include/profile/multimap.h
1620 (multimap::operator=(std::initializer_list<>)): Likewise.
1621 * include/profile/set.h (set::swap(set&)): Add noexcept
1623 * include/profile/map.h (map::swap(map&)): Likewise.
1624 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1625 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1627 2014-01-17 Tim Shen <timshen91@gmail.com>
1629 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1631 * include/bits/regex_automaton.h: Do not use std::set.
1632 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1633 _BracketMatcher<>::_M_add_collating_element(),
1634 _BracketMatcher<>::_M_add_equivalence_class(),
1635 _BracketMatcher<>::_M_make_range()): Likewise.
1636 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1638 * include/bits/regex_executor.h: Do not use std::queue.
1639 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1640 _Executor<>::_M_dfs()): Likewise.
1641 * include/std/regex: Remove <map>, <set> and <queue>.
1643 2014-01-17 Tim Shen <timshen91@gmail.com>
1645 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1646 basic_regex<>::assign()): Change __compile_nfa to accept
1648 * include/bits/regex_compiler.h: Change _Compiler's template
1649 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1650 * include/bits/regex_compiler.tcc: Likewise.
1652 2014-01-17 Tim Shen <timshen91@gmail.com>
1654 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1656 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1657 _ScannerBase from _Scanner; Change _Scanner's template argument from
1658 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1660 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1661 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1662 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1664 * include/std/regex: Add <cstring> for using strchr.
1666 2014-01-17 Tim Shen <timshen91@gmail.com>
1668 * bits/regex_automaton.tcc: Indentation fix.
1669 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1670 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1671 _BracketMatcher<>): Add bool option template parameters and
1672 specializations to make matching more efficient and space saving.
1673 * bits/regex_compiler.tcc: Likewise.
1675 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1678 * include/bits/hashtable_policy.h: Fix some long lines.
1679 * include/bits/hashtable.h (__hash_code_base_access): Define and
1680 use it to check its _M_bucket_index noexcept qualification. Use
1682 (__access_protected_ctor): ...this.
1683 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1685 * testsuite/23_containers/unordered_set/
1686 not_default_constructible_hash_neg.cc: Likewise.
1688 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1690 * include/debug/set.h (set): Implement C++11 allocator-aware
1691 container requirements.
1692 * include/debug/map.h (map): Likewise.
1693 * include/debug/multiset.h (multiset): Likewise.
1694 * include/debug/multimap.h (multimap): Likewise.
1695 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1696 fix implementation regarding management of safe iterators.
1697 * include/debug/map.h (map::operator=(map&&)): Likewise.
1698 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1699 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1701 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1702 Rely on the same operator from normal mode.
1703 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1705 * include/debug/multiset.h
1706 (multiset::operator=(std::initializer_list<>)): Likewise.
1707 * include/debug/multimap.h
1708 (multimap::operator=(std::initializer_list<>)): Likewise.
1709 * include/debug/set.h (set::swap(set&)): Add noexcept
1710 specification, add allocator equality check.
1711 * include/debug/map.h (map::swap(map&)): Likewise.
1712 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1713 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1715 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1718 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1719 and stylistic improvements.
1720 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1721 and update for C++11.
1722 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1725 * doc/xml/manual/backwards_compatibility.xml
1726 (backwards.third.nocreate_noreplace): Correct and expand.
1729 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1731 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1734 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1735 support for non-Movable types.
1738 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1740 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1742 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1743 *this allocator instance when building temporary vector instance
1744 so that *this allocator does not get moved.
1745 * include/debug/safe_base.h
1746 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1747 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1748 move constructor from _Safe_sequence_base.
1749 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1750 safe iterators if the instance is moved.
1751 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1752 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1753 check on a vector iterator.
1754 * testsuite/23_containers/vector/allocator/move_assign.cc
1756 (test03): New, test with a non-propagating allocator.
1757 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1759 2014-01-07 Tim Shen <timshen91@gmail.com>
1761 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1762 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1763 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1764 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1765 _BracketMatcher<>::_M_add_char(),
1766 _BracketMatcher<>::_M_add_collating_element(),
1767 _BracketMatcher<>::_M_add_equivalence_class(),
1768 _BracketMatcher<>::_M_add_character_class(),
1769 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1770 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1771 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1772 to template parameter; Add cache for _BracketMatcher. Adjust
1773 declarations from here...
1774 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1775 imbuing a regex will trigger a recompilation to rebuild the cache.
1776 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1777 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1778 different template bool parameters.
1779 * include/bits/regex_executor.h: Remove unnecessary declarations.
1780 * include/std/regex: Adjust including orders.
1781 * testsuite/28_regex/traits/char/user_defined.cc: New.
1782 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1784 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1786 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1787 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1788 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1789 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1790 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1792 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1794 Update copyright years
1796 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1798 * testsuite/18_support/new_handler.cc,
1799 testsuite/18_support/terminate_handler.cc,
1800 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1801 the copyright notice.
1803 Copyright (C) 2014 Free Software Foundation, Inc.
1805 Copying and distribution of this file, with or without modification,
1806 are permitted in any medium without royalty provided the copyright
1807 notice and this notice are preserved.