1 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
3 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
4 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
6 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
7 to string instead of using gdb.Type.name attribute.
9 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
11 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
14 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
17 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
19 (SingleObjContainerPrinter): Check if type printers are in use.
21 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
23 * include/ext/random: Minor formatting and cosmetic tweaks.
24 (uniform_on_sphere_distribution<>::operator==
25 (const uniform_on_sphere_distribution&,
26 const uniform_on_sphere_distribution&)): Compare the _M_nds.
27 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
28 (operator!=(const uniform_on_sphere_distribution&,
29 const uniform_on_sphere_distribution&)): Adjust.
30 * include/ext/random.tcc: Minor cosmetc tweaks.
32 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
34 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
35 printer for class templates.
36 (register_type_printers): Use TemplateTypePrinter for containers
37 and other class templates with default template arguments.
38 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
40 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
41 base class for experimental::any and experimental::optional printers.
42 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
43 New printers for Fundamentals TS types.
44 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
46 2014-07-15 Tim Shen <timshen@google.com>
49 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
50 Clear match queue for next use.
51 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
53 2014-07-14 Ulrich Drepper <drepper@gmail.com>
55 * include/ext/random.tcc: Unfortunately more fixes for
56 operator>> and operator<< for uniform_on_sphere_distribution.
58 2014-07-13 Ulrich Drepper <drepper@gmail.com>
60 * include/ext/random.tcc: Fix operator>> and operator<< for
61 uniform_on_sphere_distribution.
63 2014-07-12 Ulrich Drepper <drepper@gmail.com>
65 * include/ext/random: Add uniform_on_sphere_distribution definition.
66 * include/ext/random.tcc: Add out-of-band member function definitions
67 for uniform_on_sphere_distribution.
68 * testsuite/ext/random/uniform_on_sphere_distribution/
69 cons/default.cc: New file.
70 * testsuite/ext/random/uniform_on_sphere_distribution/
71 operators/equal.cc: New file.
72 * testsuite/ext/random/uniform_on_sphere_distribution/
73 operators/inequal.cc: New file.
74 * testsuite/ext/random/uniform_on_sphere_distribution/
75 operators/serialize.cc: New file.
77 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
79 Add the logistic_distribution as an extension.
80 * include/ext/random: Add the logistic_distribution.
81 * include/ext/random.tcc: Add the logistic_distribution.
82 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
83 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
84 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
86 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
87 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
88 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
91 2014-07-11 Samuel Bronson <naesten@gmail.com>
93 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
94 instead of insisting that GCC understand -fdiagnostics-color=never
96 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
99 2014-07-11 Samuel Bronson <naesten@gmail.com>
100 Matthias Klose <doko@ubuntu.com>
103 * python/libstdcxx/v6/printers.py: Port to Python 2+3
104 (imap): New compat function.
106 (Iterator): New mixin to allow writing iterators in Python 3 style
107 regardless of which version we're running on.
108 [Python3] (long) New compat alias for "int".
109 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
111 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
113 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
114 tuple members to simplify pretty printing.
115 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
117 * testsuite/experimental/any/cons/4.cc: New.
119 2014-07-09 Jason Merrill <jason@redhat.com>
122 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
123 * libsupc++/tinfo.h: Not here.
125 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
127 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
129 * include/experimental/any: Remove unused header.
130 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
131 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
132 * testsuite/util/testsuite_regex.h: Move include guard.
134 2014-07-01 Tim Shen <timshen@google.com>
138 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
139 a NFA state limit. If it's exceeded, regex_constants::error_space
141 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
142 map (which is sparse) instead of vector. This reduce n times clones'
143 cost from O(n^2) to O(n).
144 * include/std/regex: Add map dependency.
145 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
148 2014-07-01 Tim Shen <timshen@google.com>
151 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
152 not just regex containing back-references.
153 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
154 exchange _M_next and _M_alt for alternative operator,
155 making matching from left to right.
156 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
157 Add position tracking fom DFS.
158 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
159 _Executor<>::_M_dfs): Likewise.
160 * include/bits/regex_scanner.h: Remove unused enum entry.
161 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
164 2014-06-30 Jason Merrill <jason@redhat.com>
166 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
169 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
172 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
173 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
176 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
178 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
180 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
182 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
184 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
187 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
189 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
190 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
191 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
193 * include/ext/alloc_traits.h: Fix comment.
195 * include/Makefile.am: Add new header.
196 * include/Makefile.in: Regenerate.
197 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
198 New RAII utilities for working with allocators.
199 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
200 __allocator_type typedef and use new __allocated_ptr type.
201 (_Sp_counted_ptr_inplace): Likewise.
202 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
203 __allocate_guarded to to simplify exception handling.
204 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
205 * include/std/future (_Result_alloc::_M_destroy): Likewise.
206 (_Result_alloc::_S_allocate_result): Likewise.
207 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
208 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
209 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
210 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
212 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
214 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
216 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
217 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
219 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
221 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
222 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
223 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
224 Remove unused typedef.
225 (time_get::do_get_monthname): Likewise.
226 * include/bits/stl_tree.h: Add system_header pragma.
227 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
228 redundant const-qualifier.
229 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
230 instead of _GLIBCXX_USE_CONSTEXPR.
232 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
234 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
235 * include/std/chrono (_Checked_integral_constant): Allow zero.
236 * testsuite/20_util/duration/literals/values.cc: Test non-positive
237 values and digit separators.
238 * include/experimental/any
241 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
242 apply the signed specifier to wchar_t.
243 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
244 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
245 cv-qualifier and size.
246 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
249 * include/experimental/any (any_v1): Rename namespace to
250 fundamentals_v1. Change string returned by bad_any_cast::what().
251 * include/experimental/optional (fundamentals_v1): Add namespace.
252 * include/experimental/string_view (fundamentals_v1): Likewise.
253 * testsuite/experimental/any/typedefs.cc: New.
254 * testsuite/experimental/optional/typedefs.cc: New.
255 * testsuite/experimental/string_view/typedefs.cc: New.
257 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
258 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
261 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
263 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
265 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
266 * include/Makefile.am: Add new header.
267 * include/Makefile.in: Regenerate.
268 * include/experimental/any: New.
269 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
271 * testsuite/experimental/any/assign/1.cc: New.
272 * testsuite/experimental/any/assign/2.cc: New.
273 * testsuite/experimental/any/cons/1.cc: New.
274 * testsuite/experimental/any/cons/2.cc: New.
275 * testsuite/experimental/any/cons/3.cc: New.
276 * testsuite/experimental/any/misc/any_cast.cc: New.
277 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
278 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
279 * testsuite/experimental/any/misc/swap.cc: New.
280 * testsuite/experimental/any/modifiers/1.cc: New.
281 * testsuite/experimental/any/observers/type.cc: New.
283 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
284 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
286 * include/bits/shared_ptr.h (shared_ptr): Likewise.
287 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
289 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
291 * include/parallel/list_partition.h (__parallel::list_partition):
293 * include/std/iomanip (quoted): Likewise.
294 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
296 * doc/xml/api.xml: Link to more recent API docs.
297 * include/bits/allocator.h: Fix link in doxygen comment.
298 * include/bits/char_traits.h: Likewise.
299 * include/bits/ios_base.h: Likewise.
300 * include/bits/stl_map.h: Likewise.
301 * include/bits/stl_multimap.h: Likewise.
302 * include/bits/stl_multiset.h: Likewise.
303 * include/bits/stl_set.h: Likewise.
304 * include/bits/unordered_map.h: Likewise.
305 * include/bits/unordered_set.h: Likewise.
306 * include/ext/mt_allocator.h: Likewise.
307 * include/std/fstream: Likewise.
308 * include/std/iosfwd: Likewise.
309 * include/std/ostream: Likewise.
310 * include/std/sstream: Likewise.
311 * include/std/streambuf: Likewise.
312 * doc/html/*: Regenerate.
314 * include/experimental/any (any_cast): Combine duplicate doxygen
316 * include/experimental/string_view (basic_string_view): Update
318 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
319 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
320 (dynamic_bitset): Improve Doxygen comments.
321 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
324 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
326 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
327 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
329 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
332 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
333 (bin_search_tree_traits): Do not redeclare template-parameters.
334 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
336 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
338 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
339 parameter for DocBook HTML generation.
340 * doc/Makefile.in: Regenerate.
341 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
342 * doc/xml/faq.xml: Update content and improve formatting.
343 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
344 * doc/xml/manual/allocator.xml: Add stable ID attribute.
345 * doc/xml/manual/bitmap_allocator.xml: Likewise.
346 * doc/xml/manual/build_hacking.xml: Likewise.
347 * doc/xml/manual/codecvt.xml: Change URL.
348 * doc/xml/manual/ctype.xml: Add stable ID attribute.
349 * doc/xml/manual/debug_mode.xml: Likewise.
350 * doc/xml/manual/documentation_hacking.xml: Likewise.
351 * doc/xml/manual/evolution.xml: Likewise.
352 * doc/xml/manual/extensions.xml: Likewise.
353 * doc/xml/manual/locale.xml: Likewise.
354 * doc/xml/manual/messages.xml: Make section id consistent, improve
356 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
357 * doc/xml/manual/profile_mode.xml: Likewise.
358 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
359 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
360 * doc/xml/manual/status_cxx2011.xml: Likewise.
361 * doc/xml/manual/status_cxx2014.xml: Likewise.
362 * doc/xml/manual/status_cxxtr1.xml: Likewise.
363 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
364 * doc/xml/manual/using.xml: Likewise.
365 * doc/html/*: Regenerate.
367 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
369 * include/tr1/beta_function.tcc: Fix spelling of include guard in
372 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
374 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
376 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
378 DR 2344 - std::quoted doesn't respect padding
379 * include/std/iomanip: Allow for padding in quoted inserters.
380 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
381 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
383 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
385 * testsuite/23_containers/map/operators/1.cc: Simplify test.
387 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
389 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
391 * doc/xml/manual/backwards_compatibility.xml
392 (backwards.second.stringstreams): Likewise.
393 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
395 * doc/xml/manual/containers.xml (associative.bitset.type_string):
396 Replace <quote> in code example.
397 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
398 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
399 fix typos, improve markup.
400 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
401 <emphasis> with <replaceable>.
402 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
403 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
404 and remove newlines in string literal.
406 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
410 * testsuite/20_util/is_assignable/value.cc: Update.
412 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
414 * include/std/condition_variable (condition_variable_any::_Unlock): Do
415 not swallow __forced_unwind.
416 * include/std/future (__future_base::_Task_setter): Likewise.
417 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
419 * include/std/mutex (try_lock): Likewise.
420 * testsuite/30_threads/async/forced_unwind.cc: New.
421 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
423 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
424 members to avoid wasted space when not using a cache.
425 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
426 * include/bits/regex_compiler.tcc
427 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
429 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
430 New enumeration type to indicate match mode.
431 (__detail::_Executor::_State_info): New type holding members only
432 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
434 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
435 Replace template parameter with run-time function parameter.
436 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
437 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
438 implement DFS and BFS mode.
439 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
440 Split implementation into ...
441 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
442 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
443 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
444 argument instead of template argument.
445 (__detail::_Executor::_M_dfs): Likewise.
446 * include/bits/regex_scanner.tcc: Fix typos in comments.
447 * testsuite/performance/28_regex/range.cc: New.
449 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
450 Jonathan Wakely <jwakely@redhat.com>
452 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
454 (aligned_union): New struct (C++11).
455 (aligned_union_t): New type alias (C++14).
456 * doc/xml/manual/status_cxx2011.xml: Update.
457 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
458 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
461 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
464 * include/experimental/string_view (operator basic_string): Correct
466 (to_string): Replace with member function.
467 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
468 allow _M_str to be null.
469 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
470 default constructor semantics.
471 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
472 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
473 copyright dates. Remove unused header.
474 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
476 * testsuite/experimental/string_view/operations/data/char/1.cc:
477 Fix copyright dates. Adjust to new default constructor semantics.
478 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
480 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
482 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
483 (__uses_allocator_arg): Remove unused type.
484 (__uses_alloc0): Turn into a trivial type.
485 (__uses_alloc): Add missing template parameter in primary template.
486 (__uses_alloc_impl): Rename to __uses_alloc_t.
488 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
490 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
491 work with previous versions of Tcl.
493 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
494 Benjamin's old email address.
496 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
499 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
501 * include/tr2/bool_set: Use UTF-8 for accented characters.
502 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
503 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
504 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
506 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
509 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
511 (_State_base::_M_dot): Likewise.
513 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
515 * include/profile/map.h: Fix typo in comment; minor formatting fix.
516 * include/profile/multimap.h: Likewise.
517 * include/profile/set.h: Likewise.
518 * include/profile/multiset.h: Likewise.
520 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
522 * include/profile/array: Clean useless white chars.
523 * include/profile/base.h: Likewise.
524 * include/profile/iterator_tracker.h: Likewise.
525 * include/profile/bitset: Code cleanup and remove not instrumented code.
526 * include/profile/deque: Likewise.
527 * include/profile/forward_list: Likewise.
528 * include/profile/list (std::__profile::_List_profile<>): New.
529 (std::__profile::list<>): Inherit from latter and adapt.
530 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
531 advise to match any ordered to unordered container conversion.
532 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
534 * include/Makefile.am: Add latter.
535 * include/Makefile.in: Regenerate.
536 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
537 remove not instrumented code.
538 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
539 * include/profile/set.h (std::__profile::set<>): Likewise.
540 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
541 * include/profile/unordered_base.h: Add some line feed.
542 * include/profile/unordered_map: Clean useless white chars and replace
544 * include/profile/unordered_set: Likewise.
545 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
546 (std::__profile::_Vector_profile_post<>): New.
547 (std::__profile::vector<>): Inherit from latter and adapt.
549 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
552 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
553 dragonfly target selector to all tests that run on freebsd.
555 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
557 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
558 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
560 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
562 * testsuite/30_threads/call_once/60497.cc: Likewise.
563 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
564 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
565 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
566 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
567 * testsuite/30_threads/promise/60966.cc: Likewise.
568 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
569 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
570 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
571 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
572 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
573 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
574 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
575 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
576 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
577 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
578 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
579 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
580 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
581 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
582 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
583 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
584 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
586 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
589 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
591 * testsuite/23_containers/unordered_set/61143.cc: New.
592 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
594 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
597 * include/std/type_traits: Move include outside namespace std.
598 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
599 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
600 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
603 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
606 2014-05-21 John Marino <gnugcc@marino.st>
608 * acinclude.m4 (*-*-dragonfly*): New target.
609 * configure: Regenerate.
610 * configure.host (*-*-dragonfly*): New target.
611 * config/locale/dragonfly/c_locale.cc: New.
612 * config/locale/dragonfly/ctype_members.cc: New.
613 * config/os/bsd/dragonfly/ctype_base.h: New.
614 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
615 * config/os/bsd/dragonfly/ctype_inline.h: New.
616 * config/os/bsd/dragonfly/os_defines.h: New.
618 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
620 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
621 libstdc++.exp imports those flags via getenv.
622 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
623 CXXFLAGS contains a '-O' flag.
625 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
629 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
632 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
633 and add unwind directives.
635 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
637 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
639 2014-05-20 Tim Shen <timshen91@gmail.com>
642 * include/bits/regex_compiler.h
643 (_BracketMatcher<>::_M_add_character_class): Add negative character
645 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
647 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
650 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
652 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
654 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
656 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
657 * libsupc++/new_opnt.cc: Likewise.
659 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
662 * include/std/future (__future_base::_State_baseV2::_M_set_result):
663 Pass lock into _M_do_set and hold it until the function returns.
664 Signal condition variable after call_once completes.
665 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
667 * testsuite/30_threads/promise/60966.cc: New.
669 2014-05-16 Iain Sandoe <iain@codesourcery.com>
670 Sandra Loosemore <sandra@codesourcery.com>
672 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
673 until after checking that the test is eligible to be run.
675 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
677 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
678 test for 32-bit target.
679 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
681 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
684 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
687 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
688 and add unwind directives.
690 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
692 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
694 * include/std/chrono (chrono_literals::__select_type::_Select_type):
696 (chrono_literals::_Checked_integral_constant): Define.
697 Simplify UDL operator templates and check for overflow.
698 * testsuite/20_util/duration/literals/range.cc: New.
700 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
701 Jonathan Wakely <jwakely@redhat.com>
704 * include/bits/parse_numbers.h: Use integral_constant to remove
705 duplication and simplify.
706 * testsuite/20_util/duration/literals/61166.cc: New.
708 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
711 * include/std/type_traits (__make_unsigned, __make_signed): Define
712 specializations for wchar_t, char16_t and char32_t.
713 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
714 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
715 test for make_unsigned<volatile wchar_t>.
716 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
718 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
720 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
722 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
725 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
727 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
728 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
729 * include/std/utility (tuple_size, tuple_element): Likewise.
730 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
731 Adjust dg-error line number.
733 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
735 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
736 (__tuple_element_t): Define.
737 (tuple_element): Use __tuple_element_t.
738 (__cv_tuple_size): Define.
739 (tuple_size<cv _Tp>): Use __cv_tuple_size.
740 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
741 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
742 (__tuple_compare): Remove size check, re-order parameters.
743 (operator==, operator<): Use static_assert to check requirements.
744 * include/std/functional (__volget): use __tuple_element_t.
745 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
746 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
748 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
751 * include/std/tuple (get, __tuple_compare): Qualify more calls to
752 prevent ADL. Cast comparison results to bool.
753 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
754 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
757 * include/debug/array (get): Qualify call to other get overload.
758 * include/profile/array (get): Likewise.
759 * include/std/array (get): Likewise.
760 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
761 * include/std/mutex (unique_lock, call_once): Use __addressof.
762 (__unlock_impl): Remove unused template.
763 (__try_to_lock): Declare inline.
764 (__try_lock_impl::__do_try_lock): Qualify function calls.
765 (lock): Avoid narrowing conversion.
766 * testsuite/20_util/bind/60497.cc: New.
767 * testsuite/23_containers/array/element_access/60497.cc: New.
768 * testsuite/30_threads/call_once/60497.cc: New.
769 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
771 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
773 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
774 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
775 * acinclude.m4 (libtool_VERSION): Bump.
776 * configure: Regenerate.
777 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
778 * testsuite/28_regex/regex_error/base.cc: New.
780 2014-05-08 Joshua Gay <jgay@gnu.org>
783 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
784 source" with "free software".
785 * doc/html/faq.html: Likewise.
787 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
790 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
792 (operator=(const ios_base&)): Likewise.
793 * include/std/streambuf: Remove trailing whitespace.
794 (basic_streambuf(const basic_streambuf&)): Fix initializer for
795 _M_out_end. Define as defaulted for C++11.
796 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
797 (swap(basic_streambuf&)): Define for C++11.
798 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
801 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
803 * include/std/iostream: Fix URL in comment.
804 * src/c++98/ios_init.cc: Fix path in comment.
806 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
808 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
809 * configure: Regenerate.
811 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
814 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
816 * testsuite/23_containers/set/cons/61023.cc: New.
819 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
821 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
822 arithmetic to obtain a mutable iterator from const_iterator.
823 * include/bits/vector.tcc (vector::insert): Likewise.
824 * include/debug/vector (vector::erase): Likewise.
825 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
826 Adjust dg-error line number.
827 * testsuite/23_containers/vector/requirements/dr438/
828 constructor_1_neg.cc: Likewise.
829 * testsuite/23_containers/vector/requirements/dr438/
830 constructor_2_neg.cc: Likewise.
831 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
834 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
836 * include/Makefile.in: Regenerate.
838 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
840 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
841 parameter to pass the 2 instances to check allocator equality.
842 * include/debug/safe_container.h: New, define _Safe_container<>.
843 * include/Makefile.am: Add previous.
844 * include/debug/deque (std::__debug::deque<>): Inherit
845 _Safe_container<>. Use default implementation for all special
847 * include/debug/forward_list (std::__debug::forward_list<>):
849 * include/debug/list (std::__debug::list<>): Likewise.
850 * include/debug/map.h (std::__debug::map<>): Likewise.
851 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
852 * include/debug/set.h (std::__debug::set<>): Likewise.
853 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
854 * include/debug/string (std::__debug::basic_string<>): Likewise.
855 * include/debug/unordered_map
856 (std::__debug::unordered_map<>): Likewise.
857 (std::__debug::unordered_multimap<>): Likewise.
858 * include/debug/unordered_set
859 (std::__debug::unordered_set<>): Likewise.
860 (std::__debug::unordered_multiset<>): Likewise.
861 * include/debug/vector (std::__debug::vector<>): Likewise.
862 * include/debug/safe_base.h (_Safe_sequence_base()): Add
864 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
865 (~_Safe_sequence_base()): Add noexcept.
866 * include/debug/safe_sequence.h
867 (std::__debug::_Safe_node_sequence<>): New.
868 * include/debug/safe_unordered_base.h
869 (_Safe_unordered_container_base()): Add noexcept.
870 (~_Safe_unordered_container_base()): Likewise.
871 (_M_swap(_Safe_unordered_container_base&)): Likewise.
872 * include/debug/safe_unordered_container.h:
873 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
874 (_Safe_unordered_container<>::_M_invalidate_all()): New.
875 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
877 * testsuite/util/debug/checks.h (check_construct1): Just implement
878 an invalid constructor invocation and no other operations
879 potentially not supported by some types of container.
880 (check_construct2): Likewise.
881 (check_construct3): Likewise.
882 * testsuite/23_containers/forward_list/allocator/move.cc: Add
883 check on iterators to make sure they are correctly moved in debug
885 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
887 * testsuite/23_containers/map/allocator/move.cc: Likewise.
888 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
889 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
890 * testsuite/23_containers/multimap/allocator/move_assign.cc:
892 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
893 * testsuite/23_containers/multiset/allocator/move_assign.cc:
895 * testsuite/23_containers/set/allocator/move.cc: Likewise.
896 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
897 * testsuite/23_containers/unordered_map/allocator/move.cc:
899 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
901 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
903 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
905 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
907 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
909 * testsuite/23_containers/unordered_set/allocator/move.cc:
911 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
913 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
915 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
917 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
919 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
921 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
923 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
924 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
925 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
926 * testsuite/23_containers/map/debug/move_neg.cc: New.
927 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
928 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
929 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
930 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
931 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
932 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
933 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
934 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
935 * testsuite/23_containers/set/debug/move_neg.cc: New.
936 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
938 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
940 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
941 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
943 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
945 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
947 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
949 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
951 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
953 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
955 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
957 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
958 * testsuite/23_containers/vector/debug/move_neg.cc: New.
960 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
962 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
963 (CXXABI_1.3.9): Remove __float128 symbols.
965 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
968 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
969 function to handle both C++03 and C++11 _Rb_tree_node implementations.
970 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
971 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
973 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
976 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
977 Check the correct type in the static assertion.
978 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
980 2014-04-27 Tim Shen <timshen91@gmail.com>
982 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
983 Add _S_opcode_repeat support to distingush a loop from
984 _S_opcode_alternative.
985 * include/bits/regex_automaton.tcc (_State_base::_M_print,
986 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
987 _StateSeq<>::_M_clone): Likewise.
988 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
990 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
991 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
992 Uglify local variable __i.
993 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
994 Use size_t instead of int to compare with vector::size().
996 2014-04-27 Tim Shen <timshen91@gmail.com>
998 * include/bits/regex_executor.h: Add _M_rep_count to track how
999 many times this repeat node are visited.
1000 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1001 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1004 2014-04-27 Tim Shen <timshen91@gmail.com>
1006 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1007 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1008 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1009 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1010 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1011 Adjust debug NFA dump.
1013 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1016 * include/experimental/optional (operator!=): Implement in terms of
1018 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1019 * testsuite/experimental/optional/relops/2.cc: Likewise.
1020 * testsuite/experimental/optional/relops/3.cc: Likewise.
1021 * testsuite/experimental/optional/relops/4.cc: Likewise.
1022 * testsuite/experimental/optional/relops/5.cc: Likewise.
1023 * testsuite/experimental/optional/relops/6.cc: Likewise.
1025 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1028 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1029 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1032 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1034 * testsuite/util/testsuite_abi.cc (check_version): Update for
1037 2014-04-24 Tim Shen <timshen91@gmail.com>
1039 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1040 Do _M_alt before _M_next.
1041 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1043 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1046 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1047 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1048 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1050 2014-04-24 Andreas Schwab <schwab@suse.de>
1052 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1053 new CXXABI_1.3.9 symbols.
1055 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1057 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1058 (CXXABI_1.3.9): New version.
1060 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1063 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1064 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1065 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1067 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1069 * configure.host: Remove solaris2.9 handling.
1070 Change os_include_dir to os/solaris/solaris2.10.
1071 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1072 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1073 * configure: Regenerate.
1074 * config/abi/post/solaris2.9: Remove.
1075 * config/os/solaris/solaris2.9: Rename to ...
1076 * config/os/solaris/solaris2.10: ... this.
1077 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1080 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1081 Remove Solaris 9 reference.
1082 * doc/html/manual/configure.html: Regenerate.
1084 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1085 Remove *-*-solaris2.9 xfail.
1086 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1089 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1092 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1094 * include/std/functional (__is_location_invariant): Use __or_ helper.
1096 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1099 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1102 * include/std/atomic (atomic<_Tp>): Add static assertion.
1103 * testsuite/29_atomics/atomic/60695.cc: New.
1106 * include/std/functional (function::_Callable): Exclude own type
1107 from the callable checks.
1108 * testsuite/20_util/function/60594.cc: New.
1110 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1111 const to constexpr member functions.
1113 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1114 delegating constructor.
1115 * include/bits/shared_ptr_base.h
1116 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1118 * include/std/atomic: Uglify parameter names.
1121 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1122 1.cc: Fix invalid explicit instantiations with unqualified names.
1123 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1125 * testsuite/20_util/tuple/53648.cc: Likweise.
1126 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1128 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1130 * testsuite/23_containers/unordered_map/requirements/
1131 debug_container.cc: Likewise.
1132 * testsuite/23_containers/unordered_map/requirements/
1133 explicit_instantiation/3.cc: Likewise.
1134 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1136 * testsuite/23_containers/unordered_multimap/requirements/
1137 explicit_instantiation/3.cc: Likewise.
1138 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1140 * testsuite/23_containers/unordered_multiset/requirements/
1141 explicit_instantiation/3.cc: Likewise.
1142 * testsuite/23_containers/unordered_set/requirements/
1143 debug_container.cc: Likewise.
1144 * testsuite/23_containers/unordered_set/requirements/
1145 explicit_instantiation/3.cc: Likewise.
1147 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1148 not use uninitialized members in mem-initializers.
1149 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1150 * testsuite/util/testsuite_common_types.h: Update comment.
1152 * include/experimental/string_view: Fix inconsistent exception specs.
1154 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1155 Remove name of unused parameter.
1157 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1159 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1160 _Vector_base::_M_allocate): NullablePointer requirements do not
1161 include initialization from literal zero, use value-initialization.
1162 * include/bits/vector.tcc (vector::_M_insert_aux,
1163 vector::_M_explace_back_aux): Likewise for assignment.
1165 * include/bits/allocator.h (operator==, operator!=): Add exception
1169 * include/std/tuple (get): Qualify calls to prevent ADL.
1170 * testsuite/20_util/tuple/60497.cc: New.
1172 * include/std/tuple (tuple_element_t): Define.
1173 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1175 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1177 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1180 * include/bits/stl_iterator.h (move_iterator::reference,
1181 move_iterator::operator*): Implement LWG 2106.
1182 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1184 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1186 * include/std/complex (__complex_exp, pow): Specify the template
1187 parameter in calls to std::polar, for expression templates.
1189 2014-04-10 Andreas Schwab <schwab@suse.de>
1191 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1193 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1194 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1196 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1198 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1200 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1201 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1202 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1205 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1206 Jack Howarth <howarth@bromo.med.uc.edu>
1209 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1212 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1214 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1216 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1218 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1219 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1220 * doc/xml/manual/concurrency_extensions.xml
1221 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1222 * doc/html/*: Regenerate.
1224 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1225 Jonathan Wakely <jwakely@redhat.com>
1228 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1229 string if input is not quoted.
1230 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1232 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1234 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1236 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1238 * testsuite/18_support/exception_ptr/60612-terminate.cc
1239 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1240 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1242 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1244 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1246 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1247 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1249 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1251 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1253 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1254 Fix bad s/part/chapter/ substitutions.
1255 * doc/xml/manual/io.xml (std.io): Likewise.
1256 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1257 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1259 * doc/html/*: Regenerate.
1261 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1264 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1265 compatible with __cxa_exception.
1266 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1267 Fix typos in comments.
1268 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1269 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1271 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1274 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1275 Use sizeof pointer type not the element type.
1276 * testsuite/29_atomics/atomic/60658.cc: New.
1278 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1280 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1281 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1282 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1283 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1284 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1285 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1286 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1287 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1288 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1289 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1292 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1294 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1296 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1298 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1299 to delegated constructor.
1300 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1301 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1304 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1306 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1309 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1311 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1314 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1315 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1317 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1318 from different types of debug container. Use _Is_contiguous_sequence
1319 instead of is_lvalue_reference.
1320 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1321 dereferencing past-the-end iterator.
1322 (__foreign_iterator_aux4): Use const value_type* instead of
1323 potentially user-defined const_pointer type.
1324 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1325 and pass end iterator to __gnu_debug::__foreign_iterator.
1326 (__glibcxx_check_insert_range_after): Likewise.
1327 (__glibcxx_check_max_load_factor): Fix comment.
1328 * include/debug/vector (_Is_contiguous_sequence): Define partial
1330 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1331 -std=gnu++11 option and unused header.
1332 * testsuite/23_containers/vector/debug/60587.cc: New.
1333 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1335 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1337 * crossconfig.m4: Support spu-*-elf* targets.
1338 * configure: Regenerate.
1340 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1343 * include/std/future (__future_base::_Task_state<>): Change
1344 constructors to template functions using perfect forwarding.
1345 (__create_task_state): Use decayed type as stored task.
1346 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1347 * testsuite/30_threads/packaged_task/60564.cc: New.
1349 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1351 * scripts/create_testsuite_files: Add testsuite/experimental in
1352 the list of folders to search for tests.
1354 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1356 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1358 2014-03-15 Tim Shen <timshen91@gmail.com>
1360 * include/bits/regex.h: Add/modify comments.
1361 * include/bits/regex_compiler.h: Likewise.
1362 * include/bits/regex_executor.h: Likewise.
1363 * include/bits/regex_executor.tcc: Likewise.
1364 * include/bits/regex_scanner.h: Likewise.
1366 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1369 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1370 _ZNSt12system_errorC* symbols which are not exported on any target.
1372 2014-03-12 Roland McGrath <mcgrathr@google.com>
1373 Mark Seaborn <mseaborn@google.com>
1376 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1377 the address of a null pointer, not with a null pointer to pointer.
1378 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1379 * testsuite/18_support/bad_exception/59392.cc: New file.
1381 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1384 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1386 * include/debug/map (map::operator=(map&&)): Likewise.
1387 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1388 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1389 * include/debug/set (set::operator=(set&&)): Likewise.
1390 * include/debug/unordered_map
1391 (unordered_map::operator=(unordered_map&&)): Likewise.
1392 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1393 * include/debug/unordered_set
1394 (unordered_set::operator=(unordered_set&&)): Likewise.
1395 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1396 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1397 * testsuite/23_containers/forward_list/debug/60499.cc: New
1398 * testsuite/23_containers/map/debug/60499.cc: New
1399 * testsuite/23_containers/multimap/debug/60499.cc: New
1400 * testsuite/23_containers/multiset/debug/60499.cc: New
1401 * testsuite/23_containers/set/debug/60499.cc: New
1402 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1403 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1404 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1405 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1406 * testsuite/23_containers/vector/debug/60499.cc: New
1408 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1410 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1411 for filesystem and fundamentals TS work items.
1413 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1416 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1417 Adjust dg-error directives.
1419 2014-02-26 Tim Shen <timshen91@gmail.com>
1421 * include/bits/regex.tcc (match_results<>::format,
1422 regex_replace<>): Update __out after calling std::copy.
1423 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1425 * testsuite/28_regex/match_results/format.cc: Likewise.
1427 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1430 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1431 allocator_type&)): Remove redundant call to _M_initialize_map.
1432 (deque::deque(const allocator_type&)): Initialize _Base with a
1433 constructor that calls _M_initialize_map.
1437 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1439 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1442 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1444 Rename testsuite directory shared_mutex to shared_timed_mutex
1446 * testsuite/30_threads/shared_mutex: Moved to...
1447 * testsuite/30_threads/shared_timed_mutex: ...here
1449 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1451 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1452 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1453 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1454 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1455 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1456 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1457 * testsuite/30_threads/shared_lock/requirements/
1458 explicit_instantiation.cc: Ditto.
1459 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1460 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1461 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1462 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1463 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1464 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1465 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1466 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1467 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1468 * testsuite/30_threads/shared_mutex/requirements/
1469 standard_layout.cc: Ditto.
1470 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1471 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1472 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1473 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1474 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1476 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1478 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1479 execution on i?86-*-solaris2.9, remove comment.
1480 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1482 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1484 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1485 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1486 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1488 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1490 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1491 not use varargs when argument could be non-POD.
1492 (__alloctr_rebind_helper): Eliminate static const bool member by
1493 using true_type and false_type.
1494 (allocator_traits::__allocate_helper): Likewise.
1495 (allocator_traits::__construct_helper): Likewise.
1496 (allocator_traits::__destroy_helper): Likewise.
1497 (allocator_traits::__maxsize_helper): Likewise.
1498 (allocator_traits::__select_helper): Likewise.
1499 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1500 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1501 Remove redundant condition.
1502 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1504 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1505 indirection through __alloc_traits.
1506 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1507 Eliminate static const bool members by using true_type and false_type.
1508 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1509 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1510 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1512 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1515 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1516 (vector::_M_data_ptr): New overloaded functions to ensure empty
1517 vectors do not dereference the pointer.
1518 * testsuite/23_containers/vector/59829.cc: New.
1519 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1520 Adjust dg-error line number.
1521 * testsuite/23_containers/vector/requirements/dr438/
1522 constructor_1_neg.cc: Likewise.
1523 * testsuite/23_containers/vector/requirements/dr438/
1524 constructor_2_neg.cc: Likewise.
1525 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1529 * include/ext/array_allocator.h: Add deprecated attribute.
1532 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1533 installation and use of python printers.
1534 * doc/xml/manual/status_cxx2011.xml: Update.
1535 * doc/html/*: Regenerate.
1537 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1538 Kyle Lippincott <spectral@google.com>
1541 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1542 constructor and grant friendship to weak_ptr.
1543 (weak_ptr::lock()): Use new constructor.
1544 * include/bits/shared_ptr_base.h
1545 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1546 and define specializations.
1547 (__shared_count): Add new non-throwing constructor.
1548 (__shared_ptr): Add new non-throwing constructor and grant friendship
1550 (__weak_ptr::lock()): Use new constructor.
1551 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1552 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1554 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1557 * include/bits/shared_ptr_base.h
1558 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1561 2014-01-27 Jason Merrill <jason@redhat.com>
1566 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1567 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1568 (__cxa_allocate_exception): Don't set it here.
1570 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1572 * include/bits/stl_map.h: Remove anachronistic comment.
1573 * include/bits/stl_multimap.h: Add whitespace.
1574 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1575 -std=gnu++11 instead of -std=c++11.
1576 * testsuite/23_containers/map/operators/2.cc: Likewise.
1577 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1578 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1579 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1581 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1582 * configure: Regenerate.
1584 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1587 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1588 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1590 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1591 Peter A. Bigot <pab@pabigot.com>
1594 * include/experimental/string_view
1595 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1596 Correct copy start location.
1598 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1599 Peter A. Bigot <pab@pabigot.com>
1602 * include/experimental/string_view (operator[](size_type) const):
1603 Fix one-off index error in debug check.
1604 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1605 test basic_string_view at size().
1606 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1608 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1609 Peter A. Bigot <pab@pabigot.com>
1612 * include/experimental/string_view
1613 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1614 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1615 Comment out catch of out_of_range; No terminating null
1616 in basic_string_view. Check begin == end.
1617 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1620 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1623 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1624 constructor to prevent it being implicitly defined as deleted, but
1625 do not copy anything.
1626 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1627 Define copy and move constructors similar to _Safe_sequence_base's.
1628 * testsuite/23_containers/unordered_map/59548.cc: New.
1630 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1631 Steve Ellcey <sellcey@mips.com>
1633 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1635 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1636 * (configure, config.h.in): Regenerate.
1637 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1639 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1641 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1642 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1645 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1646 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1648 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1650 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1651 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1652 functions to perform moving or copying of elements from rvalue tree.
1653 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1654 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1655 * testsuite/23_containers/map/59872.cc: New.
1656 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1658 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1660 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1663 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1664 Split into separate default constructor and constructor taking
1666 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1667 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1669 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1670 * include/debug/list (list::list(const _Allocator&)): Likewise.
1671 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1673 * include/debug/multimap.h
1674 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1675 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1677 * include/debug/multiset.h
1678 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1679 * include/debug/vector (vector::vector(const allocator_type&)):
1681 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1682 * include/profile/list (list::list(const _Allocator&)): Likewise.
1683 * include/profile/map.h
1684 (map::map(const _Compare&, const _Allocator&)): Likewise.
1685 * include/profile/multimap.h
1686 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1687 * include/profile/set.h
1688 (set::set(const _Compare&, const _Allocator&)): Likewise.
1689 * include/profile/multiset.h
1690 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1691 * include/profile/vector (vector::vector(const _Allocator&)):
1693 * testsuite/23_containers/deque/58764.cc: New.
1694 * testsuite/23_containers/list/58764.cc: New.
1695 * testsuite/23_containers/map/58764.cc: New.
1696 * testsuite/23_containers/multimap/58764.cc: New.
1697 * testsuite/23_containers/set/58764.cc: New.
1698 * testsuite/23_containers/multiset/58764.cc: New.
1699 * testsuite/23_containers/vector/58764.cc: New.
1700 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1701 Adjust dg-error line number.
1702 * testsuite/23_containers/deque/requirements/dr438/
1703 constructor_1_neg.cc: Likewise.
1704 * testsuite/23_containers/deque/requirements/dr438/
1705 constructor_2_neg.cc: Likewise.
1706 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1708 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1710 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1712 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1714 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1716 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1718 * testsuite/23_containers/vector/requirements/dr438/
1719 constructor_1_neg.cc: Likewise.
1720 * testsuite/23_containers/vector/requirements/dr438/
1721 constructor_2_neg.cc: Likewise.
1722 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1725 PR libstdc++/58764 (again)
1726 * include/bits/stl_list.h (list): Make default constructor's exception
1727 specification conditional.
1728 * include/bits/stl_vector.h (vector): Likewise.
1729 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1730 to default constructor.
1731 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1732 Adjust dg-error line number.
1733 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1735 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1737 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1739 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1741 * testsuite/23_containers/vector/requirements/dr438/
1742 constructor_1_neg.cc: Likewise.
1743 * testsuite/23_containers/vector/requirements/dr438/
1744 constructor_2_neg.cc: Likewise.
1745 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1748 2014-01-21 Tim Shen <timshen91@gmail.com>
1750 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1751 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1752 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1754 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1757 * include/bits/hashtable.h (__cache_default): Do not depend on
1758 whether the hash function is DefaultConstructible or CopyAssignable.
1759 (_Hashtable): Adjust static assertions.
1760 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1761 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1762 dg-error line number.
1763 * testsuite/23_containers/unordered_set/
1764 not_default_constructible_hash_neg.cc: Remove.
1766 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1768 * scripts/create_testsuite_files: Add testsuite/experimental in
1769 the list of folders to search for tests.
1770 * include/experimental/string_view
1771 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1772 incompatible with constexpr qualifier.
1773 (basic_string_view<>::front()): Likewise.
1774 (basic_string_view<>::back()): Likewise.
1775 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1776 Merge dg-options directives into one.
1777 * testsuite/experimental/string_view/element_access/char/2.cc:
1778 Likewise. Remove invalid experimental namespace scope on
1781 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1784 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1785 friendship to _Local_iterator_base<..., false>.
1786 (_Local_iterator_base): Give protected access to all existing members.
1787 (_Local_iterator_base::_M_curr()): New public accessor.
1788 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1789 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1790 the lifetime of the _Hash_code_base explicitly.
1791 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1792 (_Local_iterator_base<..., false>): Define copy constructor and copy
1793 assignment operator that use new functions to manage _Hash_code_base.
1794 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1795 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1796 Use public API for _Local_iterator_base.
1797 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1798 * include/debug/unordered_map (__debug::unordered_map::erase(),
1799 __debug::unordered_multimap::erase()): Likewise.
1800 * include/debug/unordered_set (__debug::unordered_set::erase(),
1801 __debug::unordered_multiset::erase()): Likewise.
1802 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1804 2014-01-19 Tim Shen <timshen91@gmail.com>
1806 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1807 Fix parse error of multiple consecutive quantifiers like "a**".
1808 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1810 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1812 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1814 * include/profile/set.h (set): Implement C++11 allocator-aware
1815 container requirements.
1816 * include/profile/map.h (map): Likewise.
1817 * include/profile/multiset.h (multiset): Likewise.
1818 * include/profile/multimap.h (multimap): Likewise.
1819 * include/profile/set.h
1820 (set::operator=(const set&)): Define as default in C++11 mode.
1821 (set::operator=(set&&)): Likewise.
1822 * include/profile/map.h
1823 (map::operator=(const map&)): Likewise.
1824 (map::operator=(map&&)): Likewise.
1825 * include/profile/multiset.h
1826 (multiset::operator=(const multiset&)): Likewise.
1827 (multiset::operator=(multiset&&)): Likewise.
1828 * include/profile/multimap.h
1829 (multimap::operator=(const multimap&)): Likewise.
1830 (multimap::operator=(multimap&&)): Likewise.
1831 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1832 Rely on the same operator from normal mode.
1833 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1835 * include/profile/multiset.h
1836 (multiset::operator=(std::initializer_list<>)): Likewise.
1837 * include/profile/multimap.h
1838 (multimap::operator=(std::initializer_list<>)): Likewise.
1839 * include/profile/set.h (set::swap(set&)): Add noexcept
1841 * include/profile/map.h (map::swap(map&)): Likewise.
1842 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1843 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1845 2014-01-17 Tim Shen <timshen91@gmail.com>
1847 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1849 * include/bits/regex_automaton.h: Do not use std::set.
1850 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1851 _BracketMatcher<>::_M_add_collating_element(),
1852 _BracketMatcher<>::_M_add_equivalence_class(),
1853 _BracketMatcher<>::_M_make_range()): Likewise.
1854 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1856 * include/bits/regex_executor.h: Do not use std::queue.
1857 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1858 _Executor<>::_M_dfs()): Likewise.
1859 * include/std/regex: Remove <map>, <set> and <queue>.
1861 2014-01-17 Tim Shen <timshen91@gmail.com>
1863 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1864 basic_regex<>::assign()): Change __compile_nfa to accept
1866 * include/bits/regex_compiler.h: Change _Compiler's template
1867 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1868 * include/bits/regex_compiler.tcc: Likewise.
1870 2014-01-17 Tim Shen <timshen91@gmail.com>
1872 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1874 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1875 _ScannerBase from _Scanner; Change _Scanner's template argument from
1876 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1878 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1879 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1880 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1882 * include/std/regex: Add <cstring> for using strchr.
1884 2014-01-17 Tim Shen <timshen91@gmail.com>
1886 * bits/regex_automaton.tcc: Indentation fix.
1887 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1888 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1889 _BracketMatcher<>): Add bool option template parameters and
1890 specializations to make matching more efficient and space saving.
1891 * bits/regex_compiler.tcc: Likewise.
1893 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1896 * include/bits/hashtable_policy.h: Fix some long lines.
1897 * include/bits/hashtable.h (__hash_code_base_access): Define and
1898 use it to check its _M_bucket_index noexcept qualification. Use
1900 (__access_protected_ctor): ...this.
1901 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1903 * testsuite/23_containers/unordered_set/
1904 not_default_constructible_hash_neg.cc: Likewise.
1906 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1908 * include/debug/set.h (set): Implement C++11 allocator-aware
1909 container requirements.
1910 * include/debug/map.h (map): Likewise.
1911 * include/debug/multiset.h (multiset): Likewise.
1912 * include/debug/multimap.h (multimap): Likewise.
1913 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1914 fix implementation regarding management of safe iterators.
1915 * include/debug/map.h (map::operator=(map&&)): Likewise.
1916 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1917 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1919 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1920 Rely on the same operator from normal mode.
1921 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1923 * include/debug/multiset.h
1924 (multiset::operator=(std::initializer_list<>)): Likewise.
1925 * include/debug/multimap.h
1926 (multimap::operator=(std::initializer_list<>)): Likewise.
1927 * include/debug/set.h (set::swap(set&)): Add noexcept
1928 specification, add allocator equality check.
1929 * include/debug/map.h (map::swap(map&)): Likewise.
1930 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1931 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1933 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1936 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1937 and stylistic improvements.
1938 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1939 and update for C++11.
1940 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1943 * doc/xml/manual/backwards_compatibility.xml
1944 (backwards.third.nocreate_noreplace): Correct and expand.
1947 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1949 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1952 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1953 support for non-Movable types.
1956 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1958 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1960 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1961 *this allocator instance when building temporary vector instance
1962 so that *this allocator does not get moved.
1963 * include/debug/safe_base.h
1964 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1965 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1966 move constructor from _Safe_sequence_base.
1967 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1968 safe iterators if the instance is moved.
1969 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1970 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1971 check on a vector iterator.
1972 * testsuite/23_containers/vector/allocator/move_assign.cc
1974 (test03): New, test with a non-propagating allocator.
1975 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1977 2014-01-07 Tim Shen <timshen91@gmail.com>
1979 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1980 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1981 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1982 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1983 _BracketMatcher<>::_M_add_char(),
1984 _BracketMatcher<>::_M_add_collating_element(),
1985 _BracketMatcher<>::_M_add_equivalence_class(),
1986 _BracketMatcher<>::_M_add_character_class(),
1987 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1988 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1989 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1990 to template parameter; Add cache for _BracketMatcher. Adjust
1991 declarations from here...
1992 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1993 imbuing a regex will trigger a recompilation to rebuild the cache.
1994 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1995 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1996 different template bool parameters.
1997 * include/bits/regex_executor.h: Remove unnecessary declarations.
1998 * include/std/regex: Adjust including orders.
1999 * testsuite/28_regex/traits/char/user_defined.cc: New.
2000 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2002 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2004 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2005 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2006 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2007 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2008 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2010 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2012 Update copyright years
2014 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2016 * testsuite/18_support/new_handler.cc,
2017 testsuite/18_support/terminate_handler.cc,
2018 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2019 the copyright notice.
2021 Copyright (C) 2014 Free Software Foundation, Inc.
2023 Copying and distribution of this file, with or without modification,
2024 are permitted in any medium without royalty provided the copyright
2025 notice and this notice are preserved.