1 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
3 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
5 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
7 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
8 to string instead of using gdb.Type.name attribute.
10 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
12 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
15 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
18 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
20 (SingleObjContainerPrinter): Check if type printers are in use.
22 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
24 * include/ext/random: Minor formatting and cosmetic tweaks.
25 (uniform_on_sphere_distribution<>::operator==
26 (const uniform_on_sphere_distribution&,
27 const uniform_on_sphere_distribution&)): Compare the _M_nds.
28 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
29 (operator!=(const uniform_on_sphere_distribution&,
30 const uniform_on_sphere_distribution&)): Adjust.
31 * include/ext/random.tcc: Minor cosmetc tweaks.
33 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
35 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
36 printer for class templates.
37 (register_type_printers): Use TemplateTypePrinter for containers
38 and other class templates with default template arguments.
39 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
41 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
42 base class for experimental::any and experimental::optional printers.
43 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
44 New printers for Fundamentals TS types.
45 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
47 2014-07-15 Tim Shen <timshen@google.com>
50 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
51 Clear match queue for next use.
52 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
54 2014-07-14 Ulrich Drepper <drepper@gmail.com>
56 * include/ext/random.tcc: Unfortunately more fixes for
57 operator>> and operator<< for uniform_on_sphere_distribution.
59 2014-07-13 Ulrich Drepper <drepper@gmail.com>
61 * include/ext/random.tcc: Fix operator>> and operator<< for
62 uniform_on_sphere_distribution.
64 2014-07-12 Ulrich Drepper <drepper@gmail.com>
66 * include/ext/random: Add uniform_on_sphere_distribution definition.
67 * include/ext/random.tcc: Add out-of-band member function definitions
68 for uniform_on_sphere_distribution.
69 * testsuite/ext/random/uniform_on_sphere_distribution/
70 cons/default.cc: New file.
71 * testsuite/ext/random/uniform_on_sphere_distribution/
72 operators/equal.cc: New file.
73 * testsuite/ext/random/uniform_on_sphere_distribution/
74 operators/inequal.cc: New file.
75 * testsuite/ext/random/uniform_on_sphere_distribution/
76 operators/serialize.cc: New file.
78 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
80 Add the logistic_distribution as an extension.
81 * include/ext/random: Add the logistic_distribution.
82 * include/ext/random.tcc: Add the logistic_distribution.
83 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
84 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
85 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
87 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
88 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
89 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
92 2014-07-11 Samuel Bronson <naesten@gmail.com>
94 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
95 instead of insisting that GCC understand -fdiagnostics-color=never
97 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
100 2014-07-11 Samuel Bronson <naesten@gmail.com>
101 Matthias Klose <doko@ubuntu.com>
104 * python/libstdcxx/v6/printers.py: Port to Python 2+3
105 (imap): New compat function.
107 (Iterator): New mixin to allow writing iterators in Python 3 style
108 regardless of which version we're running on.
109 [Python3] (long) New compat alias for "int".
110 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
112 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
114 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
115 tuple members to simplify pretty printing.
116 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
118 * testsuite/experimental/any/cons/4.cc: New.
120 2014-07-09 Jason Merrill <jason@redhat.com>
123 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
124 * libsupc++/tinfo.h: Not here.
126 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
128 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
130 * include/experimental/any: Remove unused header.
131 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
132 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
133 * testsuite/util/testsuite_regex.h: Move include guard.
135 2014-07-01 Tim Shen <timshen@google.com>
139 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
140 a NFA state limit. If it's exceeded, regex_constants::error_space
142 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
143 map (which is sparse) instead of vector. This reduce n times clones'
144 cost from O(n^2) to O(n).
145 * include/std/regex: Add map dependency.
146 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
149 2014-07-01 Tim Shen <timshen@google.com>
152 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
153 not just regex containing back-references.
154 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
155 exchange _M_next and _M_alt for alternative operator,
156 making matching from left to right.
157 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
158 Add position tracking fom DFS.
159 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
160 _Executor<>::_M_dfs): Likewise.
161 * include/bits/regex_scanner.h: Remove unused enum entry.
162 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
165 2014-06-30 Jason Merrill <jason@redhat.com>
167 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
170 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
173 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
174 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
177 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
179 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
181 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
183 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
185 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
188 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
190 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
191 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
192 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
194 * include/ext/alloc_traits.h: Fix comment.
196 * include/Makefile.am: Add new header.
197 * include/Makefile.in: Regenerate.
198 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
199 New RAII utilities for working with allocators.
200 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
201 __allocator_type typedef and use new __allocated_ptr type.
202 (_Sp_counted_ptr_inplace): Likewise.
203 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
204 __allocate_guarded to to simplify exception handling.
205 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
206 * include/std/future (_Result_alloc::_M_destroy): Likewise.
207 (_Result_alloc::_S_allocate_result): Likewise.
208 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
209 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
210 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
211 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
213 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
215 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
217 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
218 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
220 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
222 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
223 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
224 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
225 Remove unused typedef.
226 (time_get::do_get_monthname): Likewise.
227 * include/bits/stl_tree.h: Add system_header pragma.
228 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
229 redundant const-qualifier.
230 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
231 instead of _GLIBCXX_USE_CONSTEXPR.
233 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
235 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
236 * include/std/chrono (_Checked_integral_constant): Allow zero.
237 * testsuite/20_util/duration/literals/values.cc: Test non-positive
238 values and digit separators.
239 * include/experimental/any
242 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
243 apply the signed specifier to wchar_t.
244 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
245 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
246 cv-qualifier and size.
247 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
250 * include/experimental/any (any_v1): Rename namespace to
251 fundamentals_v1. Change string returned by bad_any_cast::what().
252 * include/experimental/optional (fundamentals_v1): Add namespace.
253 * include/experimental/string_view (fundamentals_v1): Likewise.
254 * testsuite/experimental/any/typedefs.cc: New.
255 * testsuite/experimental/optional/typedefs.cc: New.
256 * testsuite/experimental/string_view/typedefs.cc: New.
258 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
259 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
262 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
264 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
266 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
267 * include/Makefile.am: Add new header.
268 * include/Makefile.in: Regenerate.
269 * include/experimental/any: New.
270 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
272 * testsuite/experimental/any/assign/1.cc: New.
273 * testsuite/experimental/any/assign/2.cc: New.
274 * testsuite/experimental/any/cons/1.cc: New.
275 * testsuite/experimental/any/cons/2.cc: New.
276 * testsuite/experimental/any/cons/3.cc: New.
277 * testsuite/experimental/any/misc/any_cast.cc: New.
278 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
279 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
280 * testsuite/experimental/any/misc/swap.cc: New.
281 * testsuite/experimental/any/modifiers/1.cc: New.
282 * testsuite/experimental/any/observers/type.cc: New.
284 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
285 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
287 * include/bits/shared_ptr.h (shared_ptr): Likewise.
288 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
290 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
292 * include/parallel/list_partition.h (__parallel::list_partition):
294 * include/std/iomanip (quoted): Likewise.
295 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
297 * doc/xml/api.xml: Link to more recent API docs.
298 * include/bits/allocator.h: Fix link in doxygen comment.
299 * include/bits/char_traits.h: Likewise.
300 * include/bits/ios_base.h: Likewise.
301 * include/bits/stl_map.h: Likewise.
302 * include/bits/stl_multimap.h: Likewise.
303 * include/bits/stl_multiset.h: Likewise.
304 * include/bits/stl_set.h: Likewise.
305 * include/bits/unordered_map.h: Likewise.
306 * include/bits/unordered_set.h: Likewise.
307 * include/ext/mt_allocator.h: Likewise.
308 * include/std/fstream: Likewise.
309 * include/std/iosfwd: Likewise.
310 * include/std/ostream: Likewise.
311 * include/std/sstream: Likewise.
312 * include/std/streambuf: Likewise.
313 * doc/html/*: Regenerate.
315 * include/experimental/any (any_cast): Combine duplicate doxygen
317 * include/experimental/string_view (basic_string_view): Update
319 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
320 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
321 (dynamic_bitset): Improve Doxygen comments.
322 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
325 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
327 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
328 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
330 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
333 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
334 (bin_search_tree_traits): Do not redeclare template-parameters.
335 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
337 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
339 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
340 parameter for DocBook HTML generation.
341 * doc/Makefile.in: Regenerate.
342 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
343 * doc/xml/faq.xml: Update content and improve formatting.
344 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
345 * doc/xml/manual/allocator.xml: Add stable ID attribute.
346 * doc/xml/manual/bitmap_allocator.xml: Likewise.
347 * doc/xml/manual/build_hacking.xml: Likewise.
348 * doc/xml/manual/codecvt.xml: Change URL.
349 * doc/xml/manual/ctype.xml: Add stable ID attribute.
350 * doc/xml/manual/debug_mode.xml: Likewise.
351 * doc/xml/manual/documentation_hacking.xml: Likewise.
352 * doc/xml/manual/evolution.xml: Likewise.
353 * doc/xml/manual/extensions.xml: Likewise.
354 * doc/xml/manual/locale.xml: Likewise.
355 * doc/xml/manual/messages.xml: Make section id consistent, improve
357 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
358 * doc/xml/manual/profile_mode.xml: Likewise.
359 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
360 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
361 * doc/xml/manual/status_cxx2011.xml: Likewise.
362 * doc/xml/manual/status_cxx2014.xml: Likewise.
363 * doc/xml/manual/status_cxxtr1.xml: Likewise.
364 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
365 * doc/xml/manual/using.xml: Likewise.
366 * doc/html/*: Regenerate.
368 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
370 * include/tr1/beta_function.tcc: Fix spelling of include guard in
373 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
375 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
377 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
379 DR 2344 - std::quoted doesn't respect padding
380 * include/std/iomanip: Allow for padding in quoted inserters.
381 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
382 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
384 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
386 * testsuite/23_containers/map/operators/1.cc: Simplify test.
388 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
390 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
392 * doc/xml/manual/backwards_compatibility.xml
393 (backwards.second.stringstreams): Likewise.
394 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
396 * doc/xml/manual/containers.xml (associative.bitset.type_string):
397 Replace <quote> in code example.
398 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
399 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
400 fix typos, improve markup.
401 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
402 <emphasis> with <replaceable>.
403 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
404 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
405 and remove newlines in string literal.
407 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
411 * testsuite/20_util/is_assignable/value.cc: Update.
413 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
415 * include/std/condition_variable (condition_variable_any::_Unlock): Do
416 not swallow __forced_unwind.
417 * include/std/future (__future_base::_Task_setter): Likewise.
418 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
420 * include/std/mutex (try_lock): Likewise.
421 * testsuite/30_threads/async/forced_unwind.cc: New.
422 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
424 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
425 members to avoid wasted space when not using a cache.
426 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
427 * include/bits/regex_compiler.tcc
428 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
430 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
431 New enumeration type to indicate match mode.
432 (__detail::_Executor::_State_info): New type holding members only
433 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
435 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
436 Replace template parameter with run-time function parameter.
437 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
438 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
439 implement DFS and BFS mode.
440 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
441 Split implementation into ...
442 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
443 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
444 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
445 argument instead of template argument.
446 (__detail::_Executor::_M_dfs): Likewise.
447 * include/bits/regex_scanner.tcc: Fix typos in comments.
448 * testsuite/performance/28_regex/range.cc: New.
450 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
451 Jonathan Wakely <jwakely@redhat.com>
453 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
455 (aligned_union): New struct (C++11).
456 (aligned_union_t): New type alias (C++14).
457 * doc/xml/manual/status_cxx2011.xml: Update.
458 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
459 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
462 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
465 * include/experimental/string_view (operator basic_string): Correct
467 (to_string): Replace with member function.
468 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
469 allow _M_str to be null.
470 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
471 default constructor semantics.
472 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
473 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
474 copyright dates. Remove unused header.
475 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
477 * testsuite/experimental/string_view/operations/data/char/1.cc:
478 Fix copyright dates. Adjust to new default constructor semantics.
479 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
481 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
483 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
484 (__uses_allocator_arg): Remove unused type.
485 (__uses_alloc0): Turn into a trivial type.
486 (__uses_alloc): Add missing template parameter in primary template.
487 (__uses_alloc_impl): Rename to __uses_alloc_t.
489 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
491 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
492 work with previous versions of Tcl.
494 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
495 Benjamin's old email address.
497 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
500 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
502 * include/tr2/bool_set: Use UTF-8 for accented characters.
503 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
504 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
505 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
507 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
510 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
512 (_State_base::_M_dot): Likewise.
514 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
516 * include/profile/map.h: Fix typo in comment; minor formatting fix.
517 * include/profile/multimap.h: Likewise.
518 * include/profile/set.h: Likewise.
519 * include/profile/multiset.h: Likewise.
521 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
523 * include/profile/array: Clean useless white chars.
524 * include/profile/base.h: Likewise.
525 * include/profile/iterator_tracker.h: Likewise.
526 * include/profile/bitset: Code cleanup and remove not instrumented code.
527 * include/profile/deque: Likewise.
528 * include/profile/forward_list: Likewise.
529 * include/profile/list (std::__profile::_List_profile<>): New.
530 (std::__profile::list<>): Inherit from latter and adapt.
531 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
532 advise to match any ordered to unordered container conversion.
533 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
535 * include/Makefile.am: Add latter.
536 * include/Makefile.in: Regenerate.
537 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
538 remove not instrumented code.
539 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
540 * include/profile/set.h (std::__profile::set<>): Likewise.
541 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
542 * include/profile/unordered_base.h: Add some line feed.
543 * include/profile/unordered_map: Clean useless white chars and replace
545 * include/profile/unordered_set: Likewise.
546 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
547 (std::__profile::_Vector_profile_post<>): New.
548 (std::__profile::vector<>): Inherit from latter and adapt.
550 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
553 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
554 dragonfly target selector to all tests that run on freebsd.
556 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
558 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
559 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
561 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
563 * testsuite/30_threads/call_once/60497.cc: Likewise.
564 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
565 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
566 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
567 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
568 * testsuite/30_threads/promise/60966.cc: Likewise.
569 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
570 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
571 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
572 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
573 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
574 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
575 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
576 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
577 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
578 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
579 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
580 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
581 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
582 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
583 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
584 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
585 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
587 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
590 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
592 * testsuite/23_containers/unordered_set/61143.cc: New.
593 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
595 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
598 * include/std/type_traits: Move include outside namespace std.
599 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
600 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
601 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
604 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
607 2014-05-21 John Marino <gnugcc@marino.st>
609 * acinclude.m4 (*-*-dragonfly*): New target.
610 * configure: Regenerate.
611 * configure.host (*-*-dragonfly*): New target.
612 * config/locale/dragonfly/c_locale.cc: New.
613 * config/locale/dragonfly/ctype_members.cc: New.
614 * config/os/bsd/dragonfly/ctype_base.h: New.
615 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
616 * config/os/bsd/dragonfly/ctype_inline.h: New.
617 * config/os/bsd/dragonfly/os_defines.h: New.
619 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
621 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
622 libstdc++.exp imports those flags via getenv.
623 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
624 CXXFLAGS contains a '-O' flag.
626 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
630 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
633 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
634 and add unwind directives.
636 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
638 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
640 2014-05-20 Tim Shen <timshen91@gmail.com>
643 * include/bits/regex_compiler.h
644 (_BracketMatcher<>::_M_add_character_class): Add negative character
646 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
648 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
651 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
653 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
655 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
657 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
658 * libsupc++/new_opnt.cc: Likewise.
660 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
663 * include/std/future (__future_base::_State_baseV2::_M_set_result):
664 Pass lock into _M_do_set and hold it until the function returns.
665 Signal condition variable after call_once completes.
666 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
668 * testsuite/30_threads/promise/60966.cc: New.
670 2014-05-16 Iain Sandoe <iain@codesourcery.com>
671 Sandra Loosemore <sandra@codesourcery.com>
673 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
674 until after checking that the test is eligible to be run.
676 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
678 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
679 test for 32-bit target.
680 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
682 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
685 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
688 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
689 and add unwind directives.
691 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
693 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
695 * include/std/chrono (chrono_literals::__select_type::_Select_type):
697 (chrono_literals::_Checked_integral_constant): Define.
698 Simplify UDL operator templates and check for overflow.
699 * testsuite/20_util/duration/literals/range.cc: New.
701 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
702 Jonathan Wakely <jwakely@redhat.com>
705 * include/bits/parse_numbers.h: Use integral_constant to remove
706 duplication and simplify.
707 * testsuite/20_util/duration/literals/61166.cc: New.
709 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
712 * include/std/type_traits (__make_unsigned, __make_signed): Define
713 specializations for wchar_t, char16_t and char32_t.
714 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
715 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
716 test for make_unsigned<volatile wchar_t>.
717 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
719 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
721 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
723 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
726 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
728 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
729 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
730 * include/std/utility (tuple_size, tuple_element): Likewise.
731 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
732 Adjust dg-error line number.
734 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
736 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
737 (__tuple_element_t): Define.
738 (tuple_element): Use __tuple_element_t.
739 (__cv_tuple_size): Define.
740 (tuple_size<cv _Tp>): Use __cv_tuple_size.
741 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
742 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
743 (__tuple_compare): Remove size check, re-order parameters.
744 (operator==, operator<): Use static_assert to check requirements.
745 * include/std/functional (__volget): use __tuple_element_t.
746 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
747 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
749 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
752 * include/std/tuple (get, __tuple_compare): Qualify more calls to
753 prevent ADL. Cast comparison results to bool.
754 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
755 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
758 * include/debug/array (get): Qualify call to other get overload.
759 * include/profile/array (get): Likewise.
760 * include/std/array (get): Likewise.
761 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
762 * include/std/mutex (unique_lock, call_once): Use __addressof.
763 (__unlock_impl): Remove unused template.
764 (__try_to_lock): Declare inline.
765 (__try_lock_impl::__do_try_lock): Qualify function calls.
766 (lock): Avoid narrowing conversion.
767 * testsuite/20_util/bind/60497.cc: New.
768 * testsuite/23_containers/array/element_access/60497.cc: New.
769 * testsuite/30_threads/call_once/60497.cc: New.
770 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
772 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
774 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
775 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
776 * acinclude.m4 (libtool_VERSION): Bump.
777 * configure: Regenerate.
778 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
779 * testsuite/28_regex/regex_error/base.cc: New.
781 2014-05-08 Joshua Gay <jgay@gnu.org>
784 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
785 source" with "free software".
786 * doc/html/faq.html: Likewise.
788 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
791 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
793 (operator=(const ios_base&)): Likewise.
794 * include/std/streambuf: Remove trailing whitespace.
795 (basic_streambuf(const basic_streambuf&)): Fix initializer for
796 _M_out_end. Define as defaulted for C++11.
797 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
798 (swap(basic_streambuf&)): Define for C++11.
799 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
802 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
804 * include/std/iostream: Fix URL in comment.
805 * src/c++98/ios_init.cc: Fix path in comment.
807 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
809 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
810 * configure: Regenerate.
812 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
815 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
817 * testsuite/23_containers/set/cons/61023.cc: New.
820 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
822 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
823 arithmetic to obtain a mutable iterator from const_iterator.
824 * include/bits/vector.tcc (vector::insert): Likewise.
825 * include/debug/vector (vector::erase): Likewise.
826 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
827 Adjust dg-error line number.
828 * testsuite/23_containers/vector/requirements/dr438/
829 constructor_1_neg.cc: Likewise.
830 * testsuite/23_containers/vector/requirements/dr438/
831 constructor_2_neg.cc: Likewise.
832 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
835 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
837 * include/Makefile.in: Regenerate.
839 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
841 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
842 parameter to pass the 2 instances to check allocator equality.
843 * include/debug/safe_container.h: New, define _Safe_container<>.
844 * include/Makefile.am: Add previous.
845 * include/debug/deque (std::__debug::deque<>): Inherit
846 _Safe_container<>. Use default implementation for all special
848 * include/debug/forward_list (std::__debug::forward_list<>):
850 * include/debug/list (std::__debug::list<>): Likewise.
851 * include/debug/map.h (std::__debug::map<>): Likewise.
852 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
853 * include/debug/set.h (std::__debug::set<>): Likewise.
854 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
855 * include/debug/string (std::__debug::basic_string<>): Likewise.
856 * include/debug/unordered_map
857 (std::__debug::unordered_map<>): Likewise.
858 (std::__debug::unordered_multimap<>): Likewise.
859 * include/debug/unordered_set
860 (std::__debug::unordered_set<>): Likewise.
861 (std::__debug::unordered_multiset<>): Likewise.
862 * include/debug/vector (std::__debug::vector<>): Likewise.
863 * include/debug/safe_base.h (_Safe_sequence_base()): Add
865 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
866 (~_Safe_sequence_base()): Add noexcept.
867 * include/debug/safe_sequence.h
868 (std::__debug::_Safe_node_sequence<>): New.
869 * include/debug/safe_unordered_base.h
870 (_Safe_unordered_container_base()): Add noexcept.
871 (~_Safe_unordered_container_base()): Likewise.
872 (_M_swap(_Safe_unordered_container_base&)): Likewise.
873 * include/debug/safe_unordered_container.h:
874 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
875 (_Safe_unordered_container<>::_M_invalidate_all()): New.
876 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
878 * testsuite/util/debug/checks.h (check_construct1): Just implement
879 an invalid constructor invocation and no other operations
880 potentially not supported by some types of container.
881 (check_construct2): Likewise.
882 (check_construct3): Likewise.
883 * testsuite/23_containers/forward_list/allocator/move.cc: Add
884 check on iterators to make sure they are correctly moved in debug
886 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
888 * testsuite/23_containers/map/allocator/move.cc: Likewise.
889 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
890 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
891 * testsuite/23_containers/multimap/allocator/move_assign.cc:
893 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
894 * testsuite/23_containers/multiset/allocator/move_assign.cc:
896 * testsuite/23_containers/set/allocator/move.cc: Likewise.
897 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
898 * testsuite/23_containers/unordered_map/allocator/move.cc:
900 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
902 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
904 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
906 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
908 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
910 * testsuite/23_containers/unordered_set/allocator/move.cc:
912 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
914 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
916 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
918 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
920 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
922 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
924 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
925 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
926 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
927 * testsuite/23_containers/map/debug/move_neg.cc: New.
928 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
929 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
930 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
931 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
932 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
933 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
934 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
935 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
936 * testsuite/23_containers/set/debug/move_neg.cc: New.
937 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
939 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
941 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
942 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
944 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
946 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
948 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
950 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
952 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
954 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
956 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
958 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
959 * testsuite/23_containers/vector/debug/move_neg.cc: New.
961 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
963 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
964 (CXXABI_1.3.9): Remove __float128 symbols.
966 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
969 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
970 function to handle both C++03 and C++11 _Rb_tree_node implementations.
971 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
972 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
974 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
977 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
978 Check the correct type in the static assertion.
979 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
981 2014-04-27 Tim Shen <timshen91@gmail.com>
983 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
984 Add _S_opcode_repeat support to distingush a loop from
985 _S_opcode_alternative.
986 * include/bits/regex_automaton.tcc (_State_base::_M_print,
987 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
988 _StateSeq<>::_M_clone): Likewise.
989 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
991 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
992 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
993 Uglify local variable __i.
994 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
995 Use size_t instead of int to compare with vector::size().
997 2014-04-27 Tim Shen <timshen91@gmail.com>
999 * include/bits/regex_executor.h: Add _M_rep_count to track how
1000 many times this repeat node are visited.
1001 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1002 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1005 2014-04-27 Tim Shen <timshen91@gmail.com>
1007 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1008 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1009 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1010 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1011 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1012 Adjust debug NFA dump.
1014 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1017 * include/experimental/optional (operator!=): Implement in terms of
1019 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1020 * testsuite/experimental/optional/relops/2.cc: Likewise.
1021 * testsuite/experimental/optional/relops/3.cc: Likewise.
1022 * testsuite/experimental/optional/relops/4.cc: Likewise.
1023 * testsuite/experimental/optional/relops/5.cc: Likewise.
1024 * testsuite/experimental/optional/relops/6.cc: Likewise.
1026 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1029 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1030 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1033 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1035 * testsuite/util/testsuite_abi.cc (check_version): Update for
1038 2014-04-24 Tim Shen <timshen91@gmail.com>
1040 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1041 Do _M_alt before _M_next.
1042 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1044 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1047 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1048 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1049 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1051 2014-04-24 Andreas Schwab <schwab@suse.de>
1053 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1054 new CXXABI_1.3.9 symbols.
1056 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1058 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1059 (CXXABI_1.3.9): New version.
1061 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1064 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1065 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1066 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1068 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1070 * configure.host: Remove solaris2.9 handling.
1071 Change os_include_dir to os/solaris/solaris2.10.
1072 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1073 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1074 * configure: Regenerate.
1075 * config/abi/post/solaris2.9: Remove.
1076 * config/os/solaris/solaris2.9: Rename to ...
1077 * config/os/solaris/solaris2.10: ... this.
1078 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1081 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1082 Remove Solaris 9 reference.
1083 * doc/html/manual/configure.html: Regenerate.
1085 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1086 Remove *-*-solaris2.9 xfail.
1087 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1090 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1093 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1095 * include/std/functional (__is_location_invariant): Use __or_ helper.
1097 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1100 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1103 * include/std/atomic (atomic<_Tp>): Add static assertion.
1104 * testsuite/29_atomics/atomic/60695.cc: New.
1107 * include/std/functional (function::_Callable): Exclude own type
1108 from the callable checks.
1109 * testsuite/20_util/function/60594.cc: New.
1111 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1112 const to constexpr member functions.
1114 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1115 delegating constructor.
1116 * include/bits/shared_ptr_base.h
1117 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1119 * include/std/atomic: Uglify parameter names.
1122 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1123 1.cc: Fix invalid explicit instantiations with unqualified names.
1124 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1126 * testsuite/20_util/tuple/53648.cc: Likweise.
1127 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1129 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1131 * testsuite/23_containers/unordered_map/requirements/
1132 debug_container.cc: Likewise.
1133 * testsuite/23_containers/unordered_map/requirements/
1134 explicit_instantiation/3.cc: Likewise.
1135 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1137 * testsuite/23_containers/unordered_multimap/requirements/
1138 explicit_instantiation/3.cc: Likewise.
1139 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1141 * testsuite/23_containers/unordered_multiset/requirements/
1142 explicit_instantiation/3.cc: Likewise.
1143 * testsuite/23_containers/unordered_set/requirements/
1144 debug_container.cc: Likewise.
1145 * testsuite/23_containers/unordered_set/requirements/
1146 explicit_instantiation/3.cc: Likewise.
1148 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1149 not use uninitialized members in mem-initializers.
1150 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1151 * testsuite/util/testsuite_common_types.h: Update comment.
1153 * include/experimental/string_view: Fix inconsistent exception specs.
1155 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1156 Remove name of unused parameter.
1158 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1160 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1161 _Vector_base::_M_allocate): NullablePointer requirements do not
1162 include initialization from literal zero, use value-initialization.
1163 * include/bits/vector.tcc (vector::_M_insert_aux,
1164 vector::_M_explace_back_aux): Likewise for assignment.
1166 * include/bits/allocator.h (operator==, operator!=): Add exception
1170 * include/std/tuple (get): Qualify calls to prevent ADL.
1171 * testsuite/20_util/tuple/60497.cc: New.
1173 * include/std/tuple (tuple_element_t): Define.
1174 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1176 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1178 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1181 * include/bits/stl_iterator.h (move_iterator::reference,
1182 move_iterator::operator*): Implement LWG 2106.
1183 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1185 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1187 * include/std/complex (__complex_exp, pow): Specify the template
1188 parameter in calls to std::polar, for expression templates.
1190 2014-04-10 Andreas Schwab <schwab@suse.de>
1192 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1194 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1195 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1197 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1199 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1201 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1202 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1203 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1206 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1207 Jack Howarth <howarth@bromo.med.uc.edu>
1210 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1213 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1215 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1217 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1219 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1220 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1221 * doc/xml/manual/concurrency_extensions.xml
1222 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1223 * doc/html/*: Regenerate.
1225 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1226 Jonathan Wakely <jwakely@redhat.com>
1229 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1230 string if input is not quoted.
1231 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1233 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1235 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1237 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1239 * testsuite/18_support/exception_ptr/60612-terminate.cc
1240 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1241 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1243 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1245 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1247 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1248 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1250 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1252 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1254 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1255 Fix bad s/part/chapter/ substitutions.
1256 * doc/xml/manual/io.xml (std.io): Likewise.
1257 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1258 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1260 * doc/html/*: Regenerate.
1262 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1265 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1266 compatible with __cxa_exception.
1267 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1268 Fix typos in comments.
1269 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1270 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1272 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1275 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1276 Use sizeof pointer type not the element type.
1277 * testsuite/29_atomics/atomic/60658.cc: New.
1279 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1281 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1282 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1283 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1284 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1285 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1286 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1287 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1288 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1289 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1290 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1293 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1295 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1297 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1299 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1300 to delegated constructor.
1301 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1302 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1305 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1307 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1310 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1312 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1315 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1316 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1318 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1319 from different types of debug container. Use _Is_contiguous_sequence
1320 instead of is_lvalue_reference.
1321 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1322 dereferencing past-the-end iterator.
1323 (__foreign_iterator_aux4): Use const value_type* instead of
1324 potentially user-defined const_pointer type.
1325 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1326 and pass end iterator to __gnu_debug::__foreign_iterator.
1327 (__glibcxx_check_insert_range_after): Likewise.
1328 (__glibcxx_check_max_load_factor): Fix comment.
1329 * include/debug/vector (_Is_contiguous_sequence): Define partial
1331 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1332 -std=gnu++11 option and unused header.
1333 * testsuite/23_containers/vector/debug/60587.cc: New.
1334 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1336 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1338 * crossconfig.m4: Support spu-*-elf* targets.
1339 * configure: Regenerate.
1341 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1344 * include/std/future (__future_base::_Task_state<>): Change
1345 constructors to template functions using perfect forwarding.
1346 (__create_task_state): Use decayed type as stored task.
1347 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1348 * testsuite/30_threads/packaged_task/60564.cc: New.
1350 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1352 * scripts/create_testsuite_files: Add testsuite/experimental in
1353 the list of folders to search for tests.
1355 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1357 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1359 2014-03-15 Tim Shen <timshen91@gmail.com>
1361 * include/bits/regex.h: Add/modify comments.
1362 * include/bits/regex_compiler.h: Likewise.
1363 * include/bits/regex_executor.h: Likewise.
1364 * include/bits/regex_executor.tcc: Likewise.
1365 * include/bits/regex_scanner.h: Likewise.
1367 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1370 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1371 _ZNSt12system_errorC* symbols which are not exported on any target.
1373 2014-03-12 Roland McGrath <mcgrathr@google.com>
1374 Mark Seaborn <mseaborn@google.com>
1377 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1378 the address of a null pointer, not with a null pointer to pointer.
1379 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1380 * testsuite/18_support/bad_exception/59392.cc: New file.
1382 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1385 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1387 * include/debug/map (map::operator=(map&&)): Likewise.
1388 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1389 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1390 * include/debug/set (set::operator=(set&&)): Likewise.
1391 * include/debug/unordered_map
1392 (unordered_map::operator=(unordered_map&&)): Likewise.
1393 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1394 * include/debug/unordered_set
1395 (unordered_set::operator=(unordered_set&&)): Likewise.
1396 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1397 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1398 * testsuite/23_containers/forward_list/debug/60499.cc: New
1399 * testsuite/23_containers/map/debug/60499.cc: New
1400 * testsuite/23_containers/multimap/debug/60499.cc: New
1401 * testsuite/23_containers/multiset/debug/60499.cc: New
1402 * testsuite/23_containers/set/debug/60499.cc: New
1403 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1404 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1405 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1406 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1407 * testsuite/23_containers/vector/debug/60499.cc: New
1409 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1411 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1412 for filesystem and fundamentals TS work items.
1414 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1417 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1418 Adjust dg-error directives.
1420 2014-02-26 Tim Shen <timshen91@gmail.com>
1422 * include/bits/regex.tcc (match_results<>::format,
1423 regex_replace<>): Update __out after calling std::copy.
1424 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1426 * testsuite/28_regex/match_results/format.cc: Likewise.
1428 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1431 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1432 allocator_type&)): Remove redundant call to _M_initialize_map.
1433 (deque::deque(const allocator_type&)): Initialize _Base with a
1434 constructor that calls _M_initialize_map.
1438 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1440 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1443 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1445 Rename testsuite directory shared_mutex to shared_timed_mutex
1447 * testsuite/30_threads/shared_mutex: Moved to...
1448 * testsuite/30_threads/shared_timed_mutex: ...here
1450 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1452 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1453 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1454 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1455 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1456 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1457 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1458 * testsuite/30_threads/shared_lock/requirements/
1459 explicit_instantiation.cc: Ditto.
1460 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1461 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1462 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1463 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1464 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1465 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1466 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1467 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1468 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1469 * testsuite/30_threads/shared_mutex/requirements/
1470 standard_layout.cc: Ditto.
1471 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1472 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1473 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1474 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1475 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1477 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1479 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1480 execution on i?86-*-solaris2.9, remove comment.
1481 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1483 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1485 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1486 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1487 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1489 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1491 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1492 not use varargs when argument could be non-POD.
1493 (__alloctr_rebind_helper): Eliminate static const bool member by
1494 using true_type and false_type.
1495 (allocator_traits::__allocate_helper): Likewise.
1496 (allocator_traits::__construct_helper): Likewise.
1497 (allocator_traits::__destroy_helper): Likewise.
1498 (allocator_traits::__maxsize_helper): Likewise.
1499 (allocator_traits::__select_helper): Likewise.
1500 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1501 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1502 Remove redundant condition.
1503 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1505 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1506 indirection through __alloc_traits.
1507 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1508 Eliminate static const bool members by using true_type and false_type.
1509 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1510 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1511 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1513 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1516 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1517 (vector::_M_data_ptr): New overloaded functions to ensure empty
1518 vectors do not dereference the pointer.
1519 * testsuite/23_containers/vector/59829.cc: New.
1520 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1521 Adjust dg-error line number.
1522 * testsuite/23_containers/vector/requirements/dr438/
1523 constructor_1_neg.cc: Likewise.
1524 * testsuite/23_containers/vector/requirements/dr438/
1525 constructor_2_neg.cc: Likewise.
1526 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1530 * include/ext/array_allocator.h: Add deprecated attribute.
1533 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1534 installation and use of python printers.
1535 * doc/xml/manual/status_cxx2011.xml: Update.
1536 * doc/html/*: Regenerate.
1538 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1539 Kyle Lippincott <spectral@google.com>
1542 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1543 constructor and grant friendship to weak_ptr.
1544 (weak_ptr::lock()): Use new constructor.
1545 * include/bits/shared_ptr_base.h
1546 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1547 and define specializations.
1548 (__shared_count): Add new non-throwing constructor.
1549 (__shared_ptr): Add new non-throwing constructor and grant friendship
1551 (__weak_ptr::lock()): Use new constructor.
1552 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1553 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1555 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1558 * include/bits/shared_ptr_base.h
1559 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1562 2014-01-27 Jason Merrill <jason@redhat.com>
1567 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1568 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1569 (__cxa_allocate_exception): Don't set it here.
1571 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1573 * include/bits/stl_map.h: Remove anachronistic comment.
1574 * include/bits/stl_multimap.h: Add whitespace.
1575 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1576 -std=gnu++11 instead of -std=c++11.
1577 * testsuite/23_containers/map/operators/2.cc: Likewise.
1578 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1579 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1580 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1582 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1583 * configure: Regenerate.
1585 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1588 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1589 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1591 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1592 Peter A. Bigot <pab@pabigot.com>
1595 * include/experimental/string_view
1596 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1597 Correct copy start location.
1599 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1600 Peter A. Bigot <pab@pabigot.com>
1603 * include/experimental/string_view (operator[](size_type) const):
1604 Fix one-off index error in debug check.
1605 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1606 test basic_string_view at size().
1607 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1609 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1610 Peter A. Bigot <pab@pabigot.com>
1613 * include/experimental/string_view
1614 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1615 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1616 Comment out catch of out_of_range; No terminating null
1617 in basic_string_view. Check begin == end.
1618 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1621 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1624 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1625 constructor to prevent it being implicitly defined as deleted, but
1626 do not copy anything.
1627 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1628 Define copy and move constructors similar to _Safe_sequence_base's.
1629 * testsuite/23_containers/unordered_map/59548.cc: New.
1631 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1632 Steve Ellcey <sellcey@mips.com>
1634 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1636 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1637 * (configure, config.h.in): Regenerate.
1638 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1640 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1642 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1643 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1646 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1647 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1649 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1651 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1652 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1653 functions to perform moving or copying of elements from rvalue tree.
1654 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1655 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1656 * testsuite/23_containers/map/59872.cc: New.
1657 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1659 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1661 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1664 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1665 Split into separate default constructor and constructor taking
1667 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1668 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1670 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1671 * include/debug/list (list::list(const _Allocator&)): Likewise.
1672 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1674 * include/debug/multimap.h
1675 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1676 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1678 * include/debug/multiset.h
1679 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1680 * include/debug/vector (vector::vector(const allocator_type&)):
1682 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1683 * include/profile/list (list::list(const _Allocator&)): Likewise.
1684 * include/profile/map.h
1685 (map::map(const _Compare&, const _Allocator&)): Likewise.
1686 * include/profile/multimap.h
1687 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1688 * include/profile/set.h
1689 (set::set(const _Compare&, const _Allocator&)): Likewise.
1690 * include/profile/multiset.h
1691 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1692 * include/profile/vector (vector::vector(const _Allocator&)):
1694 * testsuite/23_containers/deque/58764.cc: New.
1695 * testsuite/23_containers/list/58764.cc: New.
1696 * testsuite/23_containers/map/58764.cc: New.
1697 * testsuite/23_containers/multimap/58764.cc: New.
1698 * testsuite/23_containers/set/58764.cc: New.
1699 * testsuite/23_containers/multiset/58764.cc: New.
1700 * testsuite/23_containers/vector/58764.cc: New.
1701 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1702 Adjust dg-error line number.
1703 * testsuite/23_containers/deque/requirements/dr438/
1704 constructor_1_neg.cc: Likewise.
1705 * testsuite/23_containers/deque/requirements/dr438/
1706 constructor_2_neg.cc: Likewise.
1707 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1709 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1711 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1713 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1715 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1717 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1719 * testsuite/23_containers/vector/requirements/dr438/
1720 constructor_1_neg.cc: Likewise.
1721 * testsuite/23_containers/vector/requirements/dr438/
1722 constructor_2_neg.cc: Likewise.
1723 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1726 PR libstdc++/58764 (again)
1727 * include/bits/stl_list.h (list): Make default constructor's exception
1728 specification conditional.
1729 * include/bits/stl_vector.h (vector): Likewise.
1730 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1731 to default constructor.
1732 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1733 Adjust dg-error line number.
1734 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1736 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1738 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1740 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1742 * testsuite/23_containers/vector/requirements/dr438/
1743 constructor_1_neg.cc: Likewise.
1744 * testsuite/23_containers/vector/requirements/dr438/
1745 constructor_2_neg.cc: Likewise.
1746 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1749 2014-01-21 Tim Shen <timshen91@gmail.com>
1751 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1752 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1753 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1755 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1758 * include/bits/hashtable.h (__cache_default): Do not depend on
1759 whether the hash function is DefaultConstructible or CopyAssignable.
1760 (_Hashtable): Adjust static assertions.
1761 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1762 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1763 dg-error line number.
1764 * testsuite/23_containers/unordered_set/
1765 not_default_constructible_hash_neg.cc: Remove.
1767 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1769 * scripts/create_testsuite_files: Add testsuite/experimental in
1770 the list of folders to search for tests.
1771 * include/experimental/string_view
1772 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1773 incompatible with constexpr qualifier.
1774 (basic_string_view<>::front()): Likewise.
1775 (basic_string_view<>::back()): Likewise.
1776 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1777 Merge dg-options directives into one.
1778 * testsuite/experimental/string_view/element_access/char/2.cc:
1779 Likewise. Remove invalid experimental namespace scope on
1782 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1785 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1786 friendship to _Local_iterator_base<..., false>.
1787 (_Local_iterator_base): Give protected access to all existing members.
1788 (_Local_iterator_base::_M_curr()): New public accessor.
1789 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1790 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1791 the lifetime of the _Hash_code_base explicitly.
1792 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1793 (_Local_iterator_base<..., false>): Define copy constructor and copy
1794 assignment operator that use new functions to manage _Hash_code_base.
1795 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1796 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1797 Use public API for _Local_iterator_base.
1798 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1799 * include/debug/unordered_map (__debug::unordered_map::erase(),
1800 __debug::unordered_multimap::erase()): Likewise.
1801 * include/debug/unordered_set (__debug::unordered_set::erase(),
1802 __debug::unordered_multiset::erase()): Likewise.
1803 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1805 2014-01-19 Tim Shen <timshen91@gmail.com>
1807 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1808 Fix parse error of multiple consecutive quantifiers like "a**".
1809 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1811 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1813 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1815 * include/profile/set.h (set): Implement C++11 allocator-aware
1816 container requirements.
1817 * include/profile/map.h (map): Likewise.
1818 * include/profile/multiset.h (multiset): Likewise.
1819 * include/profile/multimap.h (multimap): Likewise.
1820 * include/profile/set.h
1821 (set::operator=(const set&)): Define as default in C++11 mode.
1822 (set::operator=(set&&)): Likewise.
1823 * include/profile/map.h
1824 (map::operator=(const map&)): Likewise.
1825 (map::operator=(map&&)): Likewise.
1826 * include/profile/multiset.h
1827 (multiset::operator=(const multiset&)): Likewise.
1828 (multiset::operator=(multiset&&)): Likewise.
1829 * include/profile/multimap.h
1830 (multimap::operator=(const multimap&)): Likewise.
1831 (multimap::operator=(multimap&&)): Likewise.
1832 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1833 Rely on the same operator from normal mode.
1834 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1836 * include/profile/multiset.h
1837 (multiset::operator=(std::initializer_list<>)): Likewise.
1838 * include/profile/multimap.h
1839 (multimap::operator=(std::initializer_list<>)): Likewise.
1840 * include/profile/set.h (set::swap(set&)): Add noexcept
1842 * include/profile/map.h (map::swap(map&)): Likewise.
1843 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1844 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1846 2014-01-17 Tim Shen <timshen91@gmail.com>
1848 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1850 * include/bits/regex_automaton.h: Do not use std::set.
1851 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1852 _BracketMatcher<>::_M_add_collating_element(),
1853 _BracketMatcher<>::_M_add_equivalence_class(),
1854 _BracketMatcher<>::_M_make_range()): Likewise.
1855 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1857 * include/bits/regex_executor.h: Do not use std::queue.
1858 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1859 _Executor<>::_M_dfs()): Likewise.
1860 * include/std/regex: Remove <map>, <set> and <queue>.
1862 2014-01-17 Tim Shen <timshen91@gmail.com>
1864 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1865 basic_regex<>::assign()): Change __compile_nfa to accept
1867 * include/bits/regex_compiler.h: Change _Compiler's template
1868 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1869 * include/bits/regex_compiler.tcc: Likewise.
1871 2014-01-17 Tim Shen <timshen91@gmail.com>
1873 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1875 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1876 _ScannerBase from _Scanner; Change _Scanner's template argument from
1877 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1879 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1880 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1881 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1883 * include/std/regex: Add <cstring> for using strchr.
1885 2014-01-17 Tim Shen <timshen91@gmail.com>
1887 * bits/regex_automaton.tcc: Indentation fix.
1888 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1889 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1890 _BracketMatcher<>): Add bool option template parameters and
1891 specializations to make matching more efficient and space saving.
1892 * bits/regex_compiler.tcc: Likewise.
1894 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1897 * include/bits/hashtable_policy.h: Fix some long lines.
1898 * include/bits/hashtable.h (__hash_code_base_access): Define and
1899 use it to check its _M_bucket_index noexcept qualification. Use
1901 (__access_protected_ctor): ...this.
1902 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1904 * testsuite/23_containers/unordered_set/
1905 not_default_constructible_hash_neg.cc: Likewise.
1907 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1909 * include/debug/set.h (set): Implement C++11 allocator-aware
1910 container requirements.
1911 * include/debug/map.h (map): Likewise.
1912 * include/debug/multiset.h (multiset): Likewise.
1913 * include/debug/multimap.h (multimap): Likewise.
1914 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1915 fix implementation regarding management of safe iterators.
1916 * include/debug/map.h (map::operator=(map&&)): Likewise.
1917 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1918 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1920 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1921 Rely on the same operator from normal mode.
1922 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1924 * include/debug/multiset.h
1925 (multiset::operator=(std::initializer_list<>)): Likewise.
1926 * include/debug/multimap.h
1927 (multimap::operator=(std::initializer_list<>)): Likewise.
1928 * include/debug/set.h (set::swap(set&)): Add noexcept
1929 specification, add allocator equality check.
1930 * include/debug/map.h (map::swap(map&)): Likewise.
1931 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1932 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1934 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1937 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1938 and stylistic improvements.
1939 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1940 and update for C++11.
1941 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1944 * doc/xml/manual/backwards_compatibility.xml
1945 (backwards.third.nocreate_noreplace): Correct and expand.
1948 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1950 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1953 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1954 support for non-Movable types.
1957 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1959 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1961 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1962 *this allocator instance when building temporary vector instance
1963 so that *this allocator does not get moved.
1964 * include/debug/safe_base.h
1965 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1966 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1967 move constructor from _Safe_sequence_base.
1968 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1969 safe iterators if the instance is moved.
1970 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1971 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1972 check on a vector iterator.
1973 * testsuite/23_containers/vector/allocator/move_assign.cc
1975 (test03): New, test with a non-propagating allocator.
1976 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1978 2014-01-07 Tim Shen <timshen91@gmail.com>
1980 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1981 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1982 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1983 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1984 _BracketMatcher<>::_M_add_char(),
1985 _BracketMatcher<>::_M_add_collating_element(),
1986 _BracketMatcher<>::_M_add_equivalence_class(),
1987 _BracketMatcher<>::_M_add_character_class(),
1988 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1989 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1990 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1991 to template parameter; Add cache for _BracketMatcher. Adjust
1992 declarations from here...
1993 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1994 imbuing a regex will trigger a recompilation to rebuild the cache.
1995 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1996 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1997 different template bool parameters.
1998 * include/bits/regex_executor.h: Remove unnecessary declarations.
1999 * include/std/regex: Adjust including orders.
2000 * testsuite/28_regex/traits/char/user_defined.cc: New.
2001 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2003 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2005 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2006 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2007 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2008 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2009 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2011 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2013 Update copyright years
2015 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2017 * testsuite/18_support/new_handler.cc,
2018 testsuite/18_support/terminate_handler.cc,
2019 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2020 the copyright notice.
2022 Copyright (C) 2014 Free Software Foundation, Inc.
2024 Copying and distribution of this file, with or without modification,
2025 are permitted in any medium without royalty provided the copyright
2026 notice and this notice are preserved.