[Patch bfin] Fixup use of constraints in define_split
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob7682e279876732f3c539c2bc5186e45a47cfdf11
1 2014-09-17  Jason Merrill  <jason@redhat.com>
3         * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
4         dynamic_cast more gracefully.
6 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
8         * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
9         check_p_numbers2, check_p_numbers3, check_p_numbers4,
10         check_p_numbers5, check_p_numbers6, check_p_numbers,
11         check_p_subdirs): New variables.
12         (check_DEJAGNU_normal_targets): Use check_p_subdirs.
13         (check-DEJAGNU): Rewritten so that for parallelized
14         testing each job runs all the *.exp files, with
15         GCC_RUNTEST_PARALLELIZE_DIR set in environment.
16         * testsuite/Makefile.in: Regenerated.
17         * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
18         gcc_parallel_test_enable): New procedures.  If
19         GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
20         runtest_file_p to invoke also gcc_parallel_test_run_p.
21         * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
22         by the first parallel runtest encountering it.  Fix up path
23         of the extract_symvers script.
24         * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
25         serially by the first parallel runtest encountering it.  Run
26         dg-finish even in case of error.
28 2014-09-15  Jonathan Wakely  <jwakely@redhat.com>
30         * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
31         parameters to _Ch_traits.
33 2014-09-12  Jonathan Wakely  <jwakely@redhat.com>
35         * include/debug/deque (__gnu_debug::deque): Make base class C++11
36         allocator aware.
38 2014-09-12  Jonathan Wakely  <jwakely@redhat.com>
40         PR libstdc++/59603
41         * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
42         * testsuite/25_algorithms/random_shuffle/59603.cc: New.
44 2014-09-11  Jonathan Wakely  <jwakely@redhat.com>
46         PR libstdc++/63219
47         * include/bits/regex.h (match_results::format): Remove stray template
48         parameter.
49         * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
50         Remove parameter name to avoid -Wunused-parameter warning.
51         * include/bits/regex_executor.h (_State_info::_State_info): Reorder
52         mem-initializers to avoid -Wreorder warning.
53         * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
54         Remove parameter name to avoid -Wunused-parameter warning.
55         * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
56         to avoid -Wempty-body warning when not in debug mode.
58 2014-09-10  Siva Chandra Reddy  <sivachandra@google.com>
60         * python/hook.in: Load the xmethods.
61         * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
62         * python/Makefile.in: Regenerated.
63         * python/libstdcxx/v6/xmethods.py: New file.
64         * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
65         function.
66         (gdb-test): New optional argument LOAD_XMETHODS.  Load xmethods
67         python script if LOAD_XMETHODS is true.
68         * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
69         * testsuite/libstdc++-xmethods/vector.cc: New file.
70         * testsuite/libstdc++-xmethods/xmethods.exp: New file.
72 2014-09-10  Tony Wang  <tony.wang@arm.com>
74         PR target/56846
75         * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
76         Return with CONTINUE_UNWINDING when the state pattern
77         contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
79 2014-09-09  Jonathan Wakely  <jwakely@redhat.com>
81         * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
82         allocator propagation.
83         (deque::emplace_front, deque::emplace_back): Use allocator traits.
84         (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
85         (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
86         * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
87         (_Deque_iterator): Handle allocators with custom pointers.
88         (_Deque_base): Likewise. Use allocator traits.
89         (deque): Likewise. Add allocator-extended constructors.
90         (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
91         assignment via tag dispatching.
92         (deque::_M_replace_map): Replace existing data.
93         * include/debug/deque (deque): Add allocator-extended constructors.
94         * include/profile/deque (deque): Likewise.
95         * testsuite/23_containers/deque/allocator/copy.cc: New.
96         * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
97         * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
98         * testsuite/23_containers/deque/allocator/minimal.cc: New.
99         * testsuite/23_containers/deque/allocator/move.cc: New.
100         * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
101         * testsuite/23_containers/deque/allocator/move_assign.cc: New.
102         * testsuite/23_containers/deque/allocator/noexcept.cc: New.
103         * testsuite/23_containers/deque/allocator/swap.cc: New.
104         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
105         Adjust dg-error line number.
106         * testsuite/23_containers/deque/requirements/dr438/
107         constructor_1_neg.cc: Likewise.
108         * testsuite/23_containers/deque/requirements/dr438/
109         constructor_2_neg.cc: Likewise.
110         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
111         Likewise.
112         * testsuite/23_containers/vector/52591.cc: Test both the propagating
113         and always-equal cases.
115 2014-09-06  François Dumont  <fdumont@gcc.gnu.org>
117         * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
118         noexcept qualified.
119         (_Hash_code_base<>): All specialization default constructible if
120         possible.
121         (_Hashtable_base<>): Likewise.
122         * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
123         * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
124         implementation defaulted.
125         (unordered_multimap<>::unordered_multimap()): Likewise.
126         * include/bits/unordered_set.h
127         (unordered_set<>::unordered_set()): Likewise.
128         (unordered_multiset<>::unordered_multiset()): Likewise.
129         * include/debug/unordered_map: Likewise.
130         * include/debug/unordered_set: Likewise.
131         * testsuite/23_containers/unordered_map/allocator/noexcept.cc
132         (test04()): New.
133         * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
134         (test04()): New.
135         * testsuite/23_containers/unordered_set/allocator/noexcept.cc
136         (test04()): New.
137         * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
138         (test04()): New.
140 2014-08-30  John David Anglin  <danglin@gcc.gnu.org>
142         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
144 2014-08-29  Jonathan Wakely  <jwakely@redhat.com>
146         * include/std/complex (complex): Define copy constructor and
147         assignment operator as defaulted. Improve Doxygen comments.
149 2014-08-28  Jonathan Wakely  <jwakely@redhat.com>
151         * testsuite/ext/random/*: Fix incorrect standard references in
152         comments.
154 2014-08-27  Jonathan Wakely  <jwakely@redhat.com>
156         PR libstdc++/62159
157         * include/Makefile.am (install-freestanding-headers): Add missing
158         C++11 headers.
159         * include/Makefile.in: Regenerate.
161 2014-08-21  Tony Wang  <tony.wang@arm.com>
163         * testsuite/18_support/nested_exception/62154.cc: Disable when the
164         target doesn't provide atomic builtins.
166 2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>
167             Kai Tietz  <ktietz@redhat.com>
169         * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
170         Define.
171         * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
172         Ditto.
173         * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
174         #include <windows.h>.
175         (struct elt): Add dll member.
176         (run): Decrement dll refcount.
177         (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
179 2014-08-15  Jonathan Wakely  <jwakely@redhat.com>
181         PR libstdc++/62154
182         * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
183         Rewrite to conform to C++11 requirements.
184         * testsuite/18_support/nested_exception/62154.cc: New.
186 2014-08-14  Matthias Klose  <doko@ubuntu.com>
188         * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
189         Remove empty directory.
191 2014-08-14  Paolo Carlini  <paolo.carlini@oracle.com>
193         * testsuite/26_numerics/random/linear_congruential_engine/
194         requirements/non_uint_neg.cc: Adjust for parser change.
195         * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
196         requirements/non_uint_neg.cc: Likewise.
198 2014-08-13  Jonathan Wakely  <jwakely@redhat.com>
200         PR libstdc++/61841
201         * include/std/thread (thread::_M_start_thread): Declare new overload.
202         (thread::thread<_Callable, _Args...>): Call new overload with an
203         explicit reference to pthread_create.
204         * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
205         * config/abi/pre/gnu.ver: Export new function.
207 2014-08-13  Sylvestre Ledru  <sylvestre@debian.org>
209         * include/profile/impl/profiler_hash_func.h: Fix a comment typo
211 2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
213         * Fix thinko in the last commit.
215 2014-08-13  Paolo Carlini  <paolo.carlini@oracle.com>
217         PR libstdc++/62118
218         * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
219         operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
221 2014-08-12  Jonathan Wakely  <jwakely@redhat.com>
223         * include/bits/basic_string.h (getline): Qualify call to prevent ADL
224         and add overloads for rvalue streams.
225         * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
226         New.
227         * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
228         New.
230         * include/bits/basic_string.h (getline): Declare inline.
232 2014-08-09  Ulrich Drepper  <drepper@gmail.com>
234         * include/ext/random.tcc (uniform_on_sphere_helper): Define.
235         (uniform_on_sphere_distribution::operator()): Use the new helper
236         class for the implementation.
238         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
239         equal.cc: Remove bogus part of comment.
240         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
241         inequal.cc: Likewise.
242         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
243         serialize.cc: Add check to verify result of serialzation and
244         deserialization.
245         * testsuite/ext/random/uniform_on_sphere_distribution/operators/
246         generate.cc: New file.
248 2014-08-09  Paolo Carlini  <paolo.carlini@oracle.com>
250         * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
251         character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
253 2014-08-09  François Dumont  <fdumont@gcc.gnu.org>
255         PR libstdc++/61667
256         * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
257         _M_need_rehash to initialize the rehash policy and check if a rehash is
258         needed.
259         * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
261 2014-08-07  Jonathan Wakely  <jwakely@redhat.com>
263         * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
264         Optimize.
265         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
266         Adjust dg-error line number.
267         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
268         Likewise.
269         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
270         Likewise.
271         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
272         Likewise.
274         * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
275         _M_do_set.
276         (_State_baseV2::_M_do_set): Change parameters to pointers.
277         (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
278         (_State_baseV2::__setter): Initialize _Setter with pointers.
279         (_State_baseV2::__setter(promise<void>*)): Remove overload.
280         (promise::set_value, promise::set_exception): Pass setter directly
281         to _M_set_result.
282         (_State_baseV2::_Task_setter): Add template parameter for callable
283         type and replace std::function member with pointer to that type.
284         Change _M_result member from reference to pointer.
285         (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
286         and initialize _Task_setter with pointers.
287         (__location_invariant): Specialize for _Setter and _Task_setter.
289         * include/std/future (__location_invariant): Move specializations
290         after preprocessor condition.
292 2014-08-02  Paolo Carlini  <paolo.carlini@oracle.com>
294         PR c++/15339
295         * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
297 2014-08-01  Zifei Tong  <zifeitong@gmail.com>
299         * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
300         _GLIBCXX_ prefix to macro.
302 2014-07-29  Jonathan Wakely  <jwakely@redhat.com>
304         * python/libstdcxx/v6/printers.py
305         (SingleObjContainerPrinter._contained): Use compatibility mixin.
307 2014-07-29  François Dumont  <fdumont@gcc.gnu.org>
309         * testsuite/util/testsuite_allocator.h
310         (tracker_allocator_counter::allocate): Remove new invocation, only
311         collect information.
312         (tracker_allocator_counter::deallocate): Remove delete invocation, only
313         collect information.
314         (check_inconsistent_alloc_value_type): New.
315         (tracker_allocator): Transform as a facade for any allocator type.
316         (uneq_allocator): Likewise.
317         (propagating_allocator): Likewise.
318         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
319         explicitly non propagating allocator.
320         * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
321         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
322         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
323         * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
324         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
325         Likewise.
326         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
327         Likewise.
328         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
329         Likewise.
330         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
331         Likewise.
332         * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
334 2014-07-29  Jonathan Wakely  <jwakely@redhat.com>
336         PR libstdc++/61946
337         * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
338         const allocator_type&)): Pass non-const allocator to
339         _S_new_RopeFunction.
340         * testsuite/ext/rope/61946.cc: New.
342         PR libstdc++/61947
343         * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
344         disambiguate unary constructors.
345         (_Tuple_impl): Pass allocator_arg_t arguments.
346         * testsuite/20_util/tuple/61947.cc: New.
347         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
349 2014-07-29  Ed Smith-Rowland  <3dw4rd@verizon.net>
351         PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
352         * include/bits/random.h (_Adaptor): static_assert for non floating-point
353         result type.
354         * include/bits/random.tcc (generate_canonical): Ditto.
355         * include/ext/random.tcc (hypergeometric_distribution::operator()):
356         Use double as a rng result type.
357         * testsuite/26_numerics/random/pr60037-neg.cc: New.
358         * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
360 2014-07-25  Uros Bizjak  <ubizjak@gmail.com>
362         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
364 2014-07-25  Ed Smith-Rowland  <3dw4rd@verizon.net>
366         * include/experimental/string_view: Make the literal operators
367         constexpr like the ctors they call.
369 2014-07-23  H.J. Lu  <hongjiu.lu@intel.com>
371         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
373 2014-07-23  Jonathan Wakely  <jwakely@redhat.com>
375         * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
376         to string instead of using gdb.Type.name attribute.
378 2014-07-19  Jonathan Wakely  <jwakely@redhat.com>
380         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
381         AC_MSG_CHECKING.
383 2014-07-18  Jonathan Wakely  <jwakely@redhat.com>
385         PR libstdc++/61835
386         * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
387         raw string.
388         (SingleObjContainerPrinter): Check if type printers are in use.
390 2014-07-16  Paolo Carlini  <paolo.carlini@oracle.com>
392         * include/ext/random: Minor formatting and cosmetic tweaks.
393         (uniform_on_sphere_distribution<>::operator==
394         (const uniform_on_sphere_distribution&,
395         const uniform_on_sphere_distribution&)): Compare the _M_nds.
396         (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
397         (operator!=(const uniform_on_sphere_distribution&,
398         const uniform_on_sphere_distribution&)): Adjust.
399         * include/ext/random.tcc: Minor cosmetc tweaks.
401 2014-07-15  Jonathan Wakely  <jwakely@redhat.com>
403         * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
404         printer for class templates.
405         (register_type_printers): Use TemplateTypePrinter for containers
406         and other class templates with default template arguments.
407         * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
409         * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
410         base class for experimental::any and experimental::optional printers.
411         (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
412         New printers for Fundamentals TS types.
413         * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
415 2014-07-15  Tim Shen  <timshen@google.com>
417         PR libstdc++/61720
418         * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
419         Clear match queue for next use.
420         * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
422 2014-07-14  Ulrich Drepper  <drepper@gmail.com>
424         * include/ext/random.tcc: Unfortunately more fixes for
425         operator>> and operator<< for uniform_on_sphere_distribution.
427 2014-07-13  Ulrich Drepper  <drepper@gmail.com>
429         * include/ext/random.tcc: Fix operator>> and operator<< for
430         uniform_on_sphere_distribution.
432 2014-07-12  Ulrich Drepper  <drepper@gmail.com>
434         * include/ext/random: Add uniform_on_sphere_distribution definition.
435         * include/ext/random.tcc: Add out-of-band member function definitions
436         for uniform_on_sphere_distribution.
437         * testsuite/ext/random/uniform_on_sphere_distribution/
438         cons/default.cc: New file.
439         * testsuite/ext/random/uniform_on_sphere_distribution/
440         operators/equal.cc: New file.
441         * testsuite/ext/random/uniform_on_sphere_distribution/
442         operators/inequal.cc: New file.
443         * testsuite/ext/random/uniform_on_sphere_distribution/
444         operators/serialize.cc: New file.
446 2014-07-11  Edward Smith-Rowland  <3dw4rd@verizon.net>
448         Add the logistic_distribution as an extension.
449         * include/ext/random: Add the logistic_distribution.
450         * include/ext/random.tcc: Add the logistic_distribution.
451         * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
452         * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
453         * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
454         New.
455         * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
456         * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
457         * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
458         New.
460 2014-07-11  Samuel Bronson  <naesten@gmail.com>
462         * testsuite/lib/libstdc++.exp  (libstdc++_init): Set $GCC_COLORS=""
463         instead of insisting that GCC understand -fdiagnostics-color=never
465         * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
466         list loaded libs.
468 2014-07-11  Samuel Bronson  <naesten@gmail.com>
469             Matthias Klose  <doko@ubuntu.com>
471         PR libstdc++/58962
472         * python/libstdcxx/v6/printers.py: Port to Python 2+3
473         (imap): New compat function.
474         (izip): Likewise.
475         (Iterator): New mixin to allow writing iterators in Python 3 style
476         regardless of which version we're running on.
477         [Python3] (long) New compat alias for "int".
478         * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
480 2014-07-10  Jonathan Wakely  <jwakely@redhat.com>
482         * include/experimental/any (any::_Manager_alloc::_Data): Reorder
483         tuple members to simplify pretty printing.
484         (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
485         construction.
486         * testsuite/experimental/any/cons/4.cc: New.
488 2014-07-09  Jason Merrill  <jason@redhat.com>
490         PR libstdc++/61728
491         * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
492         * libsupc++/tinfo.h: Not here.
494 2014-07-08  Jonathan Wakely  <jwakely@redhat.com>
496         * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
497         missing return.
498         * include/experimental/any: Remove unused header.
499         * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
500         * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
501         * testsuite/util/testsuite_regex.h: Move include guard.
503 2014-07-01  Tim Shen  <timshen@google.com>
505         PR libstdc++/61601
506         PR libstdc++/61582
507         * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
508         a NFA state limit. If it's exceeded, regex_constants::error_space
509         will be throwed.
510         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
511         map (which is sparse) instead of vector. This reduce n times clones'
512         cost from O(n^2) to O(n).
513         * include/std/regex: Add map dependency.
514         * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
515         testcase.
517 2014-07-01  Tim Shen  <timshen@google.com>
519         PR libstdc++/61424
520         * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
521         not just regex containing back-references.
522         * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
523         exchange _M_next and _M_alt for alternative operator,
524         making matching from left to right.
525         * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
526         Add position tracking fom DFS.
527         * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
528         _Executor<>::_M_dfs): Likewise.
529         * include/bits/regex_scanner.h: Remove unused enum entry.
530         * testsuite/28_regex/algorithms/regex_search/61424.cc: New
531         testcase from PR.
533 2014-06-30  Jason Merrill  <jason@redhat.com>
535         * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
536         is pure, not inline.
538 2014-06-28  Paolo Carlini  <paolo.carlini@oracle.com>
540         Revert:
541         2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
542                     Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
544         PR libstdc++/61536
545         * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
547         2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
549         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
551 2014-06-26  Jonathan Wakely  <jwakely@redhat.com>
553         * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
554         parameter type.
556 2014-06-25  Jonathan Wakely  <jwakely@redhat.com>
558         * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
559         * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
560         * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
561         Likewise.
562         * include/ext/alloc_traits.h: Fix comment.
564         * include/Makefile.am: Add new header.
565         * include/Makefile.in: Regenerate.
566         * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
567         New RAII utilities for working with allocators.
568         * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
569         __allocator_type typedef and use new __allocated_ptr type.
570         (_Sp_counted_ptr_inplace): Likewise.
571         (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
572         __allocate_guarded to to simplify exception handling.
573         * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
574         * include/std/future (_Result_alloc::_M_destroy): Likewise.
575         (_Result_alloc::_S_allocate_result): Likewise.
576         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
577         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
578         * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
579         * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
580         with fancy pointer.
581         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
583         * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
584         allocator.
585         * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
586         * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
588 2014-06-24  Jonathan Wakely  <jwakely@redhat.com>
590         * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
591         attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
592         * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
593         Remove unused typedef.
594         (time_get::do_get_monthname): Likewise.
595         * include/bits/stl_tree.h: Add system_header pragma.
596         * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
597         redundant const-qualifier.
598         * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
599         instead of _GLIBCXX_USE_CONSTEXPR.
601 2014-06-23  Jonathan Wakely  <jwakely@redhat.com>
603         * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
604         * include/std/chrono (_Checked_integral_constant): Allow zero.
605         * testsuite/20_util/duration/literals/values.cc: Test non-positive
606         values and digit separators.
607         * include/experimental/any
609         PR libstdc++/61532
610         * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
611         apply the signed specifier to wchar_t.
612         * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
613         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
614         cv-qualifier and size.
615         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
616         Likewise.
618         * include/experimental/any (any_v1): Rename namespace to
619         fundamentals_v1. Change string returned by bad_any_cast::what().
620         * include/experimental/optional (fundamentals_v1): Add namespace.
621         * include/experimental/string_view (fundamentals_v1): Likewise.
622         * testsuite/experimental/any/typedefs.cc: New.
623         * testsuite/experimental/optional/typedefs.cc: New.
624         * testsuite/experimental/string_view/typedefs.cc: New.
626 2014-06-18  Paolo Carlini  <paolo.carlini@oracle.com>
627             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
629         PR libstdc++/61536
630         * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
632 2014-06-14  Jonathan Wakely  <jwakely@redhat.com>
634         * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
635         * include/Makefile.am: Add new header.
636         * include/Makefile.in: Regenerate.
637         * include/experimental/any: New.
638         * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
639         constructor.
640         * testsuite/experimental/any/assign/1.cc: New.
641         * testsuite/experimental/any/assign/2.cc: New.
642         * testsuite/experimental/any/cons/1.cc: New.
643         * testsuite/experimental/any/cons/2.cc: New.
644         * testsuite/experimental/any/cons/3.cc: New.
645         * testsuite/experimental/any/misc/any_cast.cc: New.
646         * testsuite/experimental/any/misc/any_cast_neg.cc: New.
647         * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
648         * testsuite/experimental/any/misc/swap.cc: New.
649         * testsuite/experimental/any/modifiers/1.cc: New.
650         * testsuite/experimental/any/observers/type.cc: New.
652         * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
653         * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
654         warnings.
655         * include/bits/shared_ptr.h (shared_ptr): Likewise.
656         * include/bits/unordered_map.h (unordered_map, unordered_multimap):
657         Likewise.
658         * include/bits/unordered_set.h (unordered_set, unordered_multiset):
659         Likewise.
660         * include/parallel/list_partition.h (__parallel::list_partition):
661         Likewise.
662         * include/std/iomanip (quoted): Likewise.
663         * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
665         * doc/xml/api.xml: Link to more recent API docs.
666         * include/bits/allocator.h: Fix link in doxygen comment.
667         * include/bits/char_traits.h: Likewise.
668         * include/bits/ios_base.h: Likewise.
669         * include/bits/stl_map.h: Likewise.
670         * include/bits/stl_multimap.h: Likewise.
671         * include/bits/stl_multiset.h: Likewise.
672         * include/bits/stl_set.h: Likewise.
673         * include/bits/unordered_map.h: Likewise.
674         * include/bits/unordered_set.h: Likewise.
675         * include/ext/mt_allocator.h: Likewise.
676         * include/std/fstream: Likewise.
677         * include/std/iosfwd: Likewise.
678         * include/std/ostream: Likewise.
679         * include/std/sstream: Likewise.
680         * include/std/streambuf: Likewise.
681         * doc/html/*: Regenerate.
683         * include/experimental/any (any_cast): Combine duplicate doxygen
684         comments.
685         * include/experimental/string_view (basic_string_view): Update
686         doxygen comment.
687         * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
688         * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
689         (dynamic_bitset): Improve Doxygen comments.
690         * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
691         comment.
693 2014-06-11  Maciej W. Rozycki  <macro@codesourcery.com>
695         * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
696         (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
698 2014-06-10  Jonathan Wakely  <jwakely@redhat.com>
700         PR libstdc++/61390
701         * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
702         (bin_search_tree_traits): Do not redeclare template-parameters.
703         * testsuite/util/testsuite_iterators.h (test_container): Likewise.
705 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
707         * doc/Makefile.am: Add missing file. Use generate.consistent.ids
708         parameter for DocBook HTML generation.
709         * doc/Makefile.in: Regenerate.
710         * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
711         * doc/xml/faq.xml: Update content and improve formatting.
712         * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
713         * doc/xml/manual/allocator.xml: Add stable ID attribute.
714         * doc/xml/manual/bitmap_allocator.xml: Likewise.
715         * doc/xml/manual/build_hacking.xml: Likewise.
716         * doc/xml/manual/codecvt.xml: Change URL.
717         * doc/xml/manual/ctype.xml: Add stable ID attribute.
718         * doc/xml/manual/debug_mode.xml: Likewise.
719         * doc/xml/manual/documentation_hacking.xml: Likewise.
720         * doc/xml/manual/evolution.xml: Likewise.
721         * doc/xml/manual/extensions.xml: Likewise.
722         * doc/xml/manual/locale.xml: Likewise.
723         * doc/xml/manual/messages.xml: Make section id consistent, improve
724         markup, change URL.
725         * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
726         * doc/xml/manual/profile_mode.xml: Likewise.
727         * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
728         * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
729         * doc/xml/manual/status_cxx2011.xml: Likewise.
730         * doc/xml/manual/status_cxx2014.xml: Likewise.
731         * doc/xml/manual/status_cxxtr1.xml: Likewise.
732         * doc/xml/manual/status_cxxtr24733.xml: Likewise.
733         * doc/xml/manual/using.xml: Likewise.
734         * doc/html/*: Regenerate.
736 2014-06-09  Jonathan Wakely  <jwakely@redhat.com>
738         * include/tr1/beta_function.tcc: Fix spelling of include guard in
739         comment.
741 2014-06-08  Paolo Carlini  <paolo.carlini@oracle.com>
743         * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
745 2014-06-06  Ed Smith-Rowland  <3dw4rd@verizon.net>
747         DR 2344 - std::quoted doesn't respect padding
748         * include/std/iomanip: Allow for padding in quoted inserters.
749         * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
750         * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
752 2014-06-06  François Dumont  <fdumont@gcc.gnu.org>
754         * testsuite/23_containers/map/operators/1.cc: Simplify test.
756 2014-06-06  Jonathan Wakely  <jwakely@redhat.com>
758         * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
759         code example.
760         * doc/xml/manual/backwards_compatibility.xml
761         (backwards.second.stringstreams): Likewise.
762         * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
763         change of default.
764         * doc/xml/manual/containers.xml (associative.bitset.type_string):
765         Replace <quote> in code example.
766         * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
767         * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
768         fix typos, improve markup.
769         * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
770         <emphasis> with <replaceable>.
771         * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
772         * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
773         and remove newlines in string literal.
775 2014-06-03  Paolo Carlini  <paolo.carlini@oracle.com>
777         DR 1423
778         PR c++/52174
779         * testsuite/20_util/is_assignable/value.cc: Update.
781 2014-06-02  Jonathan Wakely  <jwakely@redhat.com>
783         * include/std/condition_variable (condition_variable_any::_Unlock): Do
784         not swallow __forced_unwind.
785         * include/std/future (__future_base::_Task_setter): Likewise.
786         (__future_base::_Async_state_impl): Turn __forced_unwind into broken
787         promise and rethrow.
788         * include/std/mutex (try_lock): Likewise.
789         * testsuite/30_threads/async/forced_unwind.cc: New.
790         * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
792         * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
793         members to avoid wasted space when not using a cache.
794         (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
795         * include/bits/regex_compiler.tcc
796         (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
797         search on set.
798         * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
799         New enumeration type to indicate match mode.
800         (__detail::_Executor::_State_info): New type holding members only
801         needed in BFS-mode. Replace unique_ptr<vector<bool>> with
802         unique_ptr<bool[]>.
803         (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
804         Replace template parameter with run-time function parameter.
805         (__detail::_Executor::_M_main): Likewise. Dispatch to ...
806         (__detail::_Executor::_M_main_dispatch): New overloaded functions to
807         implement DFS and BFS mode.
808         * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
809         Split implementation into ...
810         (__detail::_Executor::_M_main_dispatch): New overloaded functions.
811         (__detail::_Executor::_M_lookahead): Create nested executor on stack.
812         (__detail::_Executor::_M_rep_once_more): Pass match mode as function
813         argument instead of template argument.
814         (__detail::_Executor::_M_dfs): Likewise.
815         * include/bits/regex_scanner.tcc: Fix typos in comments.
816         * testsuite/performance/28_regex/range.cc: New.
818 2014-06-02  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
819             Jonathan Wakely  <jwakely@redhat.com>
821         * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
822         helper struct.
823         (aligned_union): New struct (C++11).
824         (aligned_union_t): New type alias (C++14).
825         * doc/xml/manual/status_cxx2011.xml: Update.
826         * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
827         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
828         line number.
830 2014-06-01  Jonathan Wakely  <jwakely@redhat.com>
832         PR libstdc++/61374
833         * include/experimental/string_view (operator basic_string): Correct
834         order of arguments.
835         (to_string): Replace with member function.
836         Add inline specifiers. Remove unused header. Remove _S_empty_rep and
837         allow _M_str to be null.
838         * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
839         default constructor semantics.
840         * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
841         * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
842         copyright dates. Remove unused header.
843         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
844         Likewise.
845         * testsuite/experimental/string_view/operations/data/char/1.cc:
846         Fix copyright dates. Adjust to new default constructor semantics.
847         * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
848         Likewise.
849         * testsuite/experimental/string_view/operations/to_string/1.cc: New.
851         * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
852         (__uses_allocator_arg): Remove unused type.
853         (__uses_alloc0): Turn into a trivial type.
854         (__uses_alloc): Add missing template parameter in primary template.
855         (__uses_alloc_impl): Rename to __uses_alloc_t.
857 2014-05-30  Jonathan Wakely  <jwakely@redhat.com>
859         * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
860         work with previous versions of Tcl.
862         * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
863         Benjamin's old email address.
865         * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
866         Paolo's address too.
868 2014-05-29  Jonathan Wakely  <jwakely@redhat.com>
870         * include/tr2/bool_set: Use UTF-8 for accented characters.
871         * scripts/run_doxygen: Handle Doxygen 1.8.x change.
872         * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
873         QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
875 2014-05-27  Jonathan Wakely  <jwakely@redhat.com>
877         PR libstdc++/61329
878         * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
879         inline specifier.
880         (_State_base::_M_dot): Likewise.
882 2014-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
884         * include/profile/map.h: Fix typo in comment; minor formatting fix.
885         * include/profile/multimap.h: Likewise.
886         * include/profile/set.h: Likewise.
887         * include/profile/multiset.h: Likewise.
889 2014-05-24  François Dumont  <fdumont@gcc.gnu.org>
891         * include/profile/array: Clean useless white chars.
892         * include/profile/base.h: Likewise.
893         * include/profile/iterator_tracker.h: Likewise.
894         * include/profile/bitset: Code cleanup and remove not instrumented code.
895         * include/profile/deque: Likewise.
896         * include/profile/forward_list: Likewise.
897         * include/profile/list (std::__profile::_List_profile<>): New.
898         (std::__profile::list<>): Inherit from latter and adapt.
899         * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
900         advise to match any ordered to unordered container conversion.
901         * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
902         New.
903         * include/Makefile.am: Add latter.
904         * include/Makefile.in: Regenerate.
905         * include/profile/map.h (std::__profile::map<>): Inherit from latter,
906         remove not instrumented code.
907         * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
908         * include/profile/set.h (std::__profile::set<>): Likewise.
909         * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
910         * include/profile/unordered_base.h: Add some line feed.
911         * include/profile/unordered_map: Clean useless white chars and replace
912         spaces with tabs.
913         * include/profile/unordered_set: Likewise.
914         * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
915         (std::__profile::_Vector_profile_post<>): New.
916         (std::__profile::vector<>): Inherit from latter and adapt.
918 2014-05-23  Jonathan Wakely  <jwakely@redhat.com>
920         PR libstdc++/60793
921         * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
922         dragonfly target selector to all tests that run on freebsd.
924         * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
925         dragonfly.
926         * testsuite/30_threads/call_once/60497.cc: Add target selectors.
927         * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
929         * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
930         selector.
931         * testsuite/30_threads/call_once/60497.cc: Likewise.
932         * testsuite/30_threads/condition_variable/54185.cc: Likewise.
933         * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
934         * testsuite/30_threads/packaged_task/60564.cc: Likewise.
935         * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
936         * testsuite/30_threads/promise/60966.cc: Likewise.
937         * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
938         * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
939         * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
940         * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
941         * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
942         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
943         * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
944         * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
945         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
946         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
947         * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
948         * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
949         * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
950         * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
951         * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
952         * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
953         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
955 2014-05-21  François Dumont  <fdumont@gcc.gnu.org>
957         PR libstdc++/61143
958         * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
959         usable state.
960         * testsuite/23_containers/unordered_set/61143.cc: New.
961         * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
963 2014-05-21  Jonathan Wakely  <jwakely@redhat.com>
965         PR libstdc++/61269
966         * include/std/type_traits: Move include outside namespace std.
967         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
968         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
969         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
970         Likewise.
972         * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
973         Fix warning.
975 2014-05-21  John Marino  <gnugcc@marino.st>
977         * acinclude.m4 (*-*-dragonfly*): New target.
978         * configure: Regenerate.
979         * configure.host (*-*-dragonfly*): New target.
980         * config/locale/dragonfly/c_locale.cc: New.
981         * config/locale/dragonfly/ctype_members.cc: New.
982         * config/os/bsd/dragonfly/ctype_base.h: New.
983         * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
984         * config/os/bsd/dragonfly/ctype_inline.h: New.
985         * config/os/bsd/dragonfly/os_defines.h: New.
987 2014-05-20  Cesar Philippidis  <cesar@codesourcery.com>
989         * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
990         libstdc++.exp imports those flags via getenv.
991         * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
992         CXXFLAGS contains a '-O' flag.
994 2014-05-20  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
996         PR libstdc++/61223
997         Revert:
998         2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
1000         PR libstdc++/60758
1001         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1002         and add unwind directives.
1004 2014-05-20  Sebastian Huber  <sebastian.huber@embedded-brains.de>
1006         * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1008 2014-05-20  Tim Shen  <timshen91@gmail.com>
1010         PR libstdc++/61227
1011         * include/bits/regex_compiler.h
1012         (_BracketMatcher<>::_M_add_character_class): Add negative character
1013         class support.
1014         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1015         Likewise.
1016         * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1017         Add more testcases.
1019 2014-05-19  Jonathan Wakely  <jwakely@redhat.com>
1021         * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1023 2014-05-17  Marc Glisse  <marc.glisse@inria.fr>
1025         * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1026         * libsupc++/new_opnt.cc: Likewise.
1028 2014-05-17  Jonathan Wakely  <jwakely@redhat.com>
1030         PR libstdc++/60966
1031         * include/std/future (__future_base::_State_baseV2::_M_set_result):
1032         Pass lock into _M_do_set and hold it until the function returns.
1033         Signal condition variable after call_once completes.
1034         (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1035         signal here.
1036         * testsuite/30_threads/promise/60966.cc: New.
1038 2014-05-16  Iain Sandoe  <iain@codesourcery.com>
1039             Sandra Loosemore  <sandra@codesourcery.com>
1041         * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1042         until after checking that the test is eligible to be run.
1044 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
1046         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1047         test for 32-bit target.
1048         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1049         Likewise.
1050         * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1051         Fix test.
1053 2014-05-16  Alexey Merzlyakov  <alexey.merzlyakov@samsung.com>
1055         PR libstdc++/60758
1056         * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1057         and add unwind directives.
1059 2014-05-16  Jonathan Wakely  <jwakely@redhat.com>
1061         * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1062         overflow.
1063         * include/std/chrono (chrono_literals::__select_type::_Select_type):
1064         Remove.
1065         (chrono_literals::_Checked_integral_constant): Define.
1066         Simplify UDL operator templates and check for overflow.
1067         * testsuite/20_util/duration/literals/range.cc: New.
1069 2014-05-16  Ed Smith-Rowland  <3dw4rd@verizon.net>
1070             Jonathan Wakely  <jwakely@redhat.com>
1072         PR libstdc++/61166
1073         * include/bits/parse_numbers.h: Use integral_constant to remove
1074         duplication and simplify.
1075         * testsuite/20_util/duration/literals/61166.cc: New.
1077 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
1079         PR libstdc++/60326
1080         * include/std/type_traits (__make_unsigned, __make_signed): Define
1081         specializations for wchar_t, char16_t and char32_t.
1082         * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1083         * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1084         test for make_unsigned<volatile wchar_t>.
1085         * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1086         Likewise.
1087         * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1088         line number.
1089         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1090         Likewise.
1091         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1092         Likewise.
1094 2014-05-15  Jonathan Wakely  <jwakely@redhat.com>
1096         * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1097         * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1098         * include/std/utility (tuple_size, tuple_element): Likewise.
1099         * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1100         Adjust dg-error line number.
1102 2014-05-14  Jonathan Wakely  <jwakely@redhat.com>
1104         * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1105         (__tuple_element_t): Define.
1106         (tuple_element): Use __tuple_element_t.
1107         (__cv_tuple_size): Define.
1108         (tuple_size<cv _Tp>): Use __cv_tuple_size.
1109         (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1110         (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1111         (__tuple_compare): Remove size check, re-order parameters.
1112         (operator==, operator<): Use static_assert to check requirements.
1113         * include/std/functional (__volget): use __tuple_element_t.
1114         * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1115         * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1117 2014-05-13  Jonathan Wakely  <jwakely@redhat.com>
1119         PR libstdc++/60497
1120         * include/std/tuple (get, __tuple_compare): Qualify more calls to
1121         prevent ADL. Cast comparison results to bool.
1122         * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1123         * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1125         PR libstdc++/60497
1126         * include/debug/array (get): Qualify call to other get overload.
1127         * include/profile/array (get): Likewise.
1128         * include/std/array (get): Likewise.
1129         * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1130         * include/std/mutex (unique_lock, call_once): Use __addressof.
1131         (__unlock_impl): Remove unused template.
1132         (__try_to_lock): Declare inline.
1133         (__try_lock_impl::__do_try_lock): Qualify function calls.
1134         (lock): Avoid narrowing conversion.
1135         * testsuite/20_util/bind/60497.cc: New.
1136         * testsuite/23_containers/array/element_access/60497.cc: New.
1137         * testsuite/30_threads/call_once/60497.cc: New.
1138         * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1140 2014-05-09  Jonathan Wakely  <jwakely@redhat.com>
1142         * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1143         (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1144         * acinclude.m4 (libtool_VERSION): Bump.
1145         * configure: Regenerate.
1146         * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1147         * testsuite/28_regex/regex_error/base.cc: New.
1149 2014-05-08  Joshua Gay  <jgay@gnu.org>
1151         PR libstdc++/61117
1152         * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1153         source" with "free software".
1154         * doc/html/faq.html: Likewise.
1156 2014-05-08  Jonathan Wakely  <jwakely@redhat.com>
1158         PR libstdc++/57394
1159         * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1160         deleted for C++11.
1161         (operator=(const ios_base&)): Likewise.
1162         * include/std/streambuf: Remove trailing whitespace.
1163         (basic_streambuf(const basic_streambuf&)): Fix initializer for
1164         _M_out_end. Define as defaulted for C++11.
1165         (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1166         (swap(basic_streambuf&)): Define for C++11.
1167         * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1169         PR libstdc++/13860
1170         * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1172         * include/std/iostream: Fix URL in comment.
1173         * src/c++98/ios_init.cc: Fix path in comment.
1175 2014-05-08  Paolo Carlini  <paolo.carlini@oracle.com>
1177         * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1178         * configure: Regenerate.
1180 2014-05-07  Jonathan Wakely  <jwakely@redhat.com>
1182         PR libstdc++/61023
1183         * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1184         comparison function.
1185         * testsuite/23_containers/set/cons/61023.cc: New.
1187         PR libstdc++/61086
1188         * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1189         Remove.
1190         * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1191         arithmetic to obtain a mutable iterator from const_iterator.
1192         * include/bits/vector.tcc (vector::insert): Likewise.
1193         * include/debug/vector (vector::erase): Likewise.
1194         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1195         Adjust dg-error line number.
1196         * testsuite/23_containers/vector/requirements/dr438/
1197         constructor_1_neg.cc: Likewise.
1198         * testsuite/23_containers/vector/requirements/dr438/
1199         constructor_2_neg.cc: Likewise.
1200         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1201         Likewise.
1203 2014-05-06  Paolo Carlini  <paolo.carlini@oracle.com>
1205         * include/Makefile.in: Regenerate.
1207 2014-05-06  François Dumont  <fdumont@gcc.gnu.org>
1209         * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1210         parameter to pass the 2 instances to check allocator equality.
1211         * include/debug/safe_container.h: New, define _Safe_container<>.
1212         * include/Makefile.am: Add previous.
1213         * include/debug/deque (std::__debug::deque<>): Inherit
1214         _Safe_container<>. Use default implementation for all special
1215         functions.
1216         * include/debug/forward_list (std::__debug::forward_list<>):
1217         Likewise.
1218         * include/debug/list (std::__debug::list<>): Likewise.
1219         * include/debug/map.h (std::__debug::map<>): Likewise.
1220         * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1221         * include/debug/set.h (std::__debug::set<>): Likewise.
1222         * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1223         * include/debug/string (std::__debug::basic_string<>): Likewise.
1224         * include/debug/unordered_map
1225         (std::__debug::unordered_map<>): Likewise.
1226         (std::__debug::unordered_multimap<>): Likewise.
1227         * include/debug/unordered_set
1228         (std::__debug::unordered_set<>): Likewise.
1229         (std::__debug::unordered_multiset<>): Likewise.
1230         * include/debug/vector (std::__debug::vector<>): Likewise.
1231         * include/debug/safe_base.h (_Safe_sequence_base()): Add
1232         noexcept.
1233         (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1234         (~_Safe_sequence_base()): Add noexcept.
1235         * include/debug/safe_sequence.h
1236         (std::__debug::_Safe_node_sequence<>): New.
1237         * include/debug/safe_unordered_base.h
1238         (_Safe_unordered_container_base()): Add noexcept.
1239         (~_Safe_unordered_container_base()): Likewise.
1240         (_M_swap(_Safe_unordered_container_base&)): Likewise.
1241         * include/debug/safe_unordered_container.h:
1242         (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1243         (_Safe_unordered_container<>::_M_invalidate_all()): New.
1244         * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1245         qualifications.
1246         * testsuite/util/debug/checks.h (check_construct1): Just implement
1247         an invalid constructor invocation  and no other operations
1248         potentially not supported by some types of container.
1249         (check_construct2): Likewise.
1250         (check_construct3): Likewise.
1251         * testsuite/23_containers/forward_list/allocator/move.cc: Add
1252         check on iterators to make sure they are correctly moved in debug
1253         mode.
1254         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1255         Likewise.
1256         * testsuite/23_containers/map/allocator/move.cc: Likewise.
1257         * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1258         * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1259         * testsuite/23_containers/multimap/allocator/move_assign.cc:
1260         Likewise.
1261         * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1262         * testsuite/23_containers/multiset/allocator/move_assign.cc:
1263         Likewise.
1264         * testsuite/23_containers/set/allocator/move.cc: Likewise.
1265         * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1266         * testsuite/23_containers/unordered_map/allocator/move.cc:
1267         Likewise.
1268         * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1269         Likewise.
1270         * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1271         Likewise.
1272         * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1273         Likewise.
1274         * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1275         Likewise.
1276         * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1277         Likewise.
1278         * testsuite/23_containers/unordered_set/allocator/move.cc:
1279         Likewise.
1280         * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1281         Likewise.
1282         * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1283         New.
1284         * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1285         New.
1286         * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1287         New.
1288         * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1289         New.
1290         * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1291         New.
1292         * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1293         * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1294         * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1295         * testsuite/23_containers/map/debug/move_neg.cc: New.
1296         * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1297         * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1298         * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1299         * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1300         * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1301         * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1302         * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1303         * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1304         * testsuite/23_containers/set/debug/move_neg.cc: New.
1305         * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1306         New.
1307         * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1308         New.
1309         * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1310         * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1311         New.
1312         * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1313         New.
1314         * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1315         New.
1316         * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1317         New.
1318         * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1319         New.
1320         * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1321         New.
1322         * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1323         New.
1324         * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1325         New.
1326         * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1327         * testsuite/23_containers/vector/debug/move_neg.cc: New.
1329 2014-05-05  Andreas Schwab  <schwab@linux-m68k.org>
1331         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1332         (CXXABI_1.3.9): Remove __float128 symbols.
1334 2014-05-02  Jonathan Wakely  <jwakely@redhat.com>
1336         PR libstdc++/59476
1337         * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1338         function to handle both C++03 and C++11 _Rb_tree_node implementations.
1339         (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1340         * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1341         refer to...
1342         * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1344         PR libstdc++/61036
1345         * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1346         Check the correct type in the static assertion.
1347         * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1349 2014-04-27  Tim Shen  <timshen91@gmail.com>
1351         * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1352         Add _S_opcode_repeat support to distingush a loop from
1353         _S_opcode_alternative.
1354         * include/bits/regex_automaton.tcc (_State_base::_M_print,
1355         _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1356         _StateSeq<>::_M_clone): Likewise.
1357         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1358         Likewise.
1359         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1360         * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1361         Uglify local variable __i.
1362         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1363         Use size_t instead of int to compare with vector::size().
1365 2014-04-27  Tim Shen  <timshen91@gmail.com>
1367         * include/bits/regex_executor.h: Add _M_rep_count to track how
1368         many times this repeat node are visited.
1369         * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1370         _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1371         infinite loop.
1373 2014-04-27  Tim Shen  <timshen91@gmail.com>
1375         * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1376         _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1377         _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1378         * include/bits/regex_automaton.h: Remove quantifier counting variable.
1379         * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1380         Adjust debug NFA dump.
1382 2014-04-25  Lars Gullik Bjønnes  <larsbj@gullik.org>
1384         PR libstdc++/60710
1385         * include/experimental/optional (operator!=): Implement in terms of
1386         operator==.
1387         * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1388         * testsuite/experimental/optional/relops/2.cc: Likewise.
1389         * testsuite/experimental/optional/relops/3.cc: Likewise.
1390         * testsuite/experimental/optional/relops/4.cc: Likewise.
1391         * testsuite/experimental/optional/relops/5.cc: Likewise.
1392         * testsuite/experimental/optional/relops/6.cc: Likewise.
1394 2014-04-25  Jonathan Wakely  <jwakely@redhat.com>
1396         PR libstdc++/60958
1397         * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1398         * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1399         comment.
1401 2014-04-25  Marc Glisse  <marc.glisse@inria.fr>
1403         * testsuite/util/testsuite_abi.cc (check_version): Update for
1404         CXXABI_1.3.9.
1406 2014-04-24  Tim Shen  <timshen91@gmail.com>
1408         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1409         Do _M_alt before _M_next.
1410         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1412 2014-04-24  Marc Glisse  <marc.glisse@inria.fr>
1414         PR libstdc++/43622
1415         * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1416         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1417         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1419 2014-04-24  Andreas Schwab  <schwab@suse.de>
1421         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1422         new CXXABI_1.3.9 symbols.
1424 2014-04-23  Andreas Schwab  <schwab@linux-m68k.org>
1426         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1427         (CXXABI_1.3.9): New version.
1429 2014-04-22  Marc Glisse  <marc.glisse@inria.fr>
1431         PR libstdc++/43622
1432         * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1433         * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1434         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1436 2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1438         * configure.host: Remove solaris2.9 handling.
1439         Change os_include_dir to os/solaris/solaris2.10.
1440         * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1441         * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1442         * configure: Regenerate.
1443         * config/abi/post/solaris2.9: Remove.
1444         * config/os/solaris/solaris2.9: Rename to ...
1445         * config/os/solaris/solaris2.10: ... this.
1446         * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1447         Remove.
1449         * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1450         Remove Solaris 9 reference.
1451         * doc/html/manual/configure.html: Regenerate.
1453         * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1454         Remove *-*-solaris2.9 xfail.
1455         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1456         Likewise.
1458         * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1459         xfail.
1461 2014-04-16  Jonathan Wakely  <jwakely@redhat.com>
1463         * include/std/functional (__is_location_invariant): Use __or_ helper.
1465 2014-04-15  Jonathan Wakely  <jwakely@redhat.com>
1467         PR libstdc++/60734
1468         * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1470         PR libstdc++/60695
1471         * include/std/atomic (atomic<_Tp>): Add static assertion.
1472         * testsuite/29_atomics/atomic/60695.cc: New.
1474         PR libstdc++/60594
1475         * include/std/functional (function::_Callable): Exclude own type
1476         from the callable checks.
1477         * testsuite/20_util/function/60594.cc: New.
1479         * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1480         const to constexpr member functions.
1482         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1483         delegating constructor.
1484         * include/bits/shared_ptr_base.h
1485         (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1487         * include/std/atomic: Uglify parameter names.
1489         PR c++/60786
1490         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1491         1.cc: Fix invalid explicit instantiations with unqualified names.
1492         * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1493         2.cc: Likweise.
1494         * testsuite/20_util/tuple/53648.cc: Likweise.
1495         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1496         Likewise.
1497         * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1498         Likewise.
1499         * testsuite/23_containers/unordered_map/requirements/
1500         debug_container.cc: Likewise.
1501         * testsuite/23_containers/unordered_map/requirements/
1502         explicit_instantiation/3.cc: Likewise.
1503         * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1504         Likewise.
1505         * testsuite/23_containers/unordered_multimap/requirements/
1506         explicit_instantiation/3.cc: Likewise.
1507         * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1508         Likewise.
1509         * testsuite/23_containers/unordered_multiset/requirements/
1510         explicit_instantiation/3.cc: Likewise.
1511         * testsuite/23_containers/unordered_set/requirements/
1512         debug_container.cc: Likewise.
1513         * testsuite/23_containers/unordered_set/requirements/
1514         explicit_instantiation/3.cc: Likewise.
1516         * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1517         not use uninitialized members in mem-initializers.
1518         * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1519         * testsuite/util/testsuite_common_types.h: Update comment.
1521         * include/experimental/string_view: Fix inconsistent exception specs.
1523         * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1524         Remove name of unused parameter.
1526 2014-04-14  Jonathan Wakely  <jwakely@redhat.com>
1528         * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1529         _Vector_base::_M_allocate): NullablePointer requirements do not
1530         include initialization from literal zero, use value-initialization.
1531         * include/bits/vector.tcc (vector::_M_insert_aux,
1532         vector::_M_explace_back_aux): Likewise for assignment.
1534         * include/bits/allocator.h (operator==, operator!=): Add exception
1535         specifications.
1537         PR libstdc++/60497
1538         * include/std/tuple (get): Qualify calls to prevent ADL.
1539         * testsuite/20_util/tuple/60497.cc: New.
1541         * include/std/tuple (tuple_element_t): Define.
1542         * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1543         test.
1544         * testsuite/20_util/tuple/tuple_element_t.cc: New.
1546 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
1548         PR libstdc++/59434
1549         * include/bits/stl_iterator.h (move_iterator::reference,
1550         move_iterator::operator*): Implement LWG 2106.
1551         * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1553 2014-04-11  Marc Glisse  <marc.glisse@inria.fr>
1555         * include/std/complex (__complex_exp, pow): Specify the template
1556         parameter in calls to std::polar, for expression templates.
1558 2014-04-10  Andreas Schwab  <schwab@suse.de>
1560         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1561         symbols.
1562         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1563         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1565         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1567 2014-04-07  Jonathan Wakely  <jwakely@redhat.com>
1569         * testsuite/20_util/exchange/1.cc: Add missing return statements.
1570         * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1571         * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1572         specifications.
1574 2014-04-02  Dominique d'Humieres  <dominiq@lps.ens.fr>
1575             Jack Howarth <howarth@bromo.med.uc.edu>
1577         PR target/54407
1578         * testsuite/30_threads/condition_variable/54185.cc: Skip for
1579         darwin < 11.
1581 2014-04-01  Jonathan Wakely  <jwakely@redhat.com>
1583         * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1584         Update link.
1585         * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1586         Fix broken links.
1587         * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1588         * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1589         * doc/xml/manual/concurrency_extensions.xml
1590         (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1591         * doc/html/*: Regenerate.
1593 2014-03-31  Lars Gullik Bjønnes  <larsbj@gullik.org>
1594             Jonathan Wakely  <jwakely@redhat.com>
1596         PR libstdc++/60270
1597         * include/std/iomanip (_Quoted_string operator>>): Do not clear
1598         string if input is not quoted.
1599         * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1601 2014-03-31  Jonathan Wakely  <jwakely@redhat.com>
1603         * libsupc++/eh_ptr.cc: Improve static_assert messages.
1605 2014-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1607         * testsuite/18_support/exception_ptr/60612-terminate.cc
1608         (terminate, f): Wrap in _GLIBCXX_USE_C99.
1609         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1611 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
1613         * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1615         * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1616         * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1617         Likewise.
1618         * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1619         Likewise.
1620         * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1622         * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1623         Fix bad s/part/chapter/ substitutions.
1624         * doc/xml/manual/io.xml (std.io): Likewise.
1625         * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1626         * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1628         * doc/html/*: Regenerate.
1630 2014-03-27  Jonathan Wakely  <jwakely@redhat.com>
1632         PR libstdc++/60612
1633         * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1634         compatible with __cxa_exception.
1635         * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1636         Fix typos in comments.
1637         * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1638         * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1640 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
1642         PR libstdc++/60658
1643         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1644         Use sizeof pointer type not the element type.
1645         * testsuite/29_atomics/atomic/60658.cc: New.
1647 2014-03-24  Jakub Jelinek  <jakub@redhat.com>
1649         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1650         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1651         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1652         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1653         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1654         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1655         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1656         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1657         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1658         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1659         entries.
1661 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
1663         * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1665 2014-03-23  François Dumont  <fdumont@gcc.gnu.org>
1667         * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1668         to delegated constructor.
1669         (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1670         (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1671         Likewise.
1672         (_Hashtable(
1673         initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1675 2014-03-23  John David Anglin  <danglin@gcc.gnu.org>
1677         PR libstdc++/60623
1678         * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1680 2014-03-21  Jonathan Wakely  <jwakely@redhat.com>
1682         PR libstdc++/60587
1683         * include/debug/functions.h (_Is_contiguous_sequence): Define.
1684         (__foreign_iterator): Accept additional iterator. Do not dispatch on
1685         iterator category.
1686         (__foreign_iterator_aux2): Likewise. Add overload for iterators
1687         from different types of debug container. Use _Is_contiguous_sequence
1688         instead of is_lvalue_reference.
1689         (__foreign_iterator_aux3): Accept additional iterator. Avoid
1690         dereferencing past-the-end iterator.
1691         (__foreign_iterator_aux4): Use const value_type* instead of
1692         potentially user-defined const_pointer type.
1693         * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1694         and pass end iterator to __gnu_debug::__foreign_iterator.
1695         (__glibcxx_check_insert_range_after): Likewise.
1696         (__glibcxx_check_max_load_factor): Fix comment.
1697         * include/debug/vector (_Is_contiguous_sequence): Define partial
1698         specializations.
1699         * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1700         -std=gnu++11 option and unused header.
1701         * testsuite/23_containers/vector/debug/60587.cc: New.
1702         * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1704 2014-03-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
1706         * crossconfig.m4: Support spu-*-elf* targets.
1707         * configure: Regenerate.
1709 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
1711         PR libstdc++/60564
1712         * include/std/future (__future_base::_Task_state<>): Change
1713         constructors to template functions using perfect forwarding.
1714         (__create_task_state): Use decayed type as stored task.
1715         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1716         * testsuite/30_threads/packaged_task/60564.cc: New.
1718 2014-03-16  François Dumont  <fdumont@gcc.gnu.org>
1720         * scripts/create_testsuite_files: Add testsuite/experimental in
1721         the list of folders to search for tests.
1723 2014-03-15  Andreas Schwab  <schwab@linux-m68k.org>
1725         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1727 2014-03-15  Tim Shen  <timshen91@gmail.com>
1729         * include/bits/regex.h: Add/modify comments.
1730         * include/bits/regex_compiler.h: Likewise.
1731         * include/bits/regex_executor.h: Likewise.
1732         * include/bits/regex_executor.tcc: Likewise.
1733         * include/bits/regex_scanner.h: Likewise.
1735 2014-03-14  Jonathan Wakely  <jwakely@redhat.com>
1737         PR ipa/58721
1738         * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1739         _ZNSt12system_errorC* symbols which are not exported on any target.
1741 2014-03-12  Roland McGrath  <mcgrathr@google.com>
1742             Mark Seaborn  <mseaborn@google.com>
1744         PR libstdc++/59392
1745         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1746         the address of a null pointer, not with a null pointer to pointer.
1747         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1748         * testsuite/18_support/bad_exception/59392.cc: New file.
1750 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
1752         PR libstdc++/60499
1753         * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1754         Uglify name.
1755         * include/debug/map (map::operator=(map&&)): Likewise.
1756         * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1757         * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1758         * include/debug/set (set::operator=(set&&)): Likewise.
1759         * include/debug/unordered_map
1760         (unordered_map::operator=(unordered_map&&)): Likewise.
1761         (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1762         * include/debug/unordered_set
1763         (unordered_set::operator=(unordered_set&&)): Likewise.
1764         (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1765         * include/debug/vector (vector::operator=(vector&&)): Likewise.
1766         * testsuite/23_containers/forward_list/debug/60499.cc: New
1767         * testsuite/23_containers/map/debug/60499.cc: New
1768         * testsuite/23_containers/multimap/debug/60499.cc: New
1769         * testsuite/23_containers/multiset/debug/60499.cc: New
1770         * testsuite/23_containers/set/debug/60499.cc: New
1771         * testsuite/23_containers/unordered_map/debug/60499.cc: New
1772         * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1773         * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1774         * testsuite/23_containers/unordered_set/debug/60499.cc: New
1775         * testsuite/23_containers/vector/debug/60499.cc: New
1777 2014-03-05  Ed Smith-Rowland  <3dw4rd@verizon.net>
1779         * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1780         for filesystem and fundamentals TS work items.
1782 2014-03-04  Paolo Carlini  <paolo.carlini@oracle.com>
1784         PR c++/60376
1785         * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1786         Adjust dg-error directives.
1788 2014-02-26  Tim Shen  <timshen91@gmail.com>
1790         * include/bits/regex.tcc (match_results<>::format,
1791         regex_replace<>): Update __out after calling std::copy.
1792         * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1793         Add testcase.
1794         * testsuite/28_regex/match_results/format.cc: Likewise.
1796 2014-02-22  Marc Glisse  <marc.glisse@inria.fr>
1798         PR libstdc++/60308
1799         * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1800         allocator_type&)): Remove redundant call to _M_initialize_map.
1801         (deque::deque(const allocator_type&)): Initialize _Base with a
1802         constructor that calls _M_initialize_map.
1804         Partial revert:
1806         2013-09-20  Marc Glisse  <marc.glisse@inria.fr>
1807         PR libstdc++/58338
1808         (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1809         _M_initialize_map.
1811 2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
1813         Rename testsuite directory shared_mutex to shared_timed_mutex
1814         for consistency.
1815         * testsuite/30_threads/shared_mutex: Moved to...
1816         * testsuite/30_threads/shared_timed_mutex: ...here
1818 2014-02-20  Ed Smith-Rowland  <3dw4rd@verizon.net>
1820         Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1821         * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1822         * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1823         * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1824         * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1825         * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1826         * testsuite/30_threads/shared_lock/requirements/
1827         explicit_instantiation.cc: Ditto.
1828         * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1829         * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1830         * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1831         * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1832         * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1833         * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1834         * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1835         * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1836         * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1837         * testsuite/30_threads/shared_mutex/requirements/
1838         standard_layout.cc: Ditto.
1839         * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1840         * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1841         * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1842         * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1843         * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1845 2014-02-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1847         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1848         execution on i?86-*-solaris2.9, remove comment.
1849         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1851 2014-02-09  Richard Sandiford  <rdsandiford@googlemail.com>
1853         * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1854         * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1855         * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1857 2014-01-29  Jonathan Wakely  <jwakely@redhat.com>
1859         * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1860         not use varargs when argument could be non-POD.
1861         (__alloctr_rebind_helper): Eliminate static const bool member by
1862         using true_type and false_type.
1863         (allocator_traits::__allocate_helper): Likewise.
1864         (allocator_traits::__construct_helper): Likewise.
1865         (allocator_traits::__destroy_helper): Likewise.
1866         (allocator_traits::__maxsize_helper): Likewise.
1867         (allocator_traits::__select_helper): Likewise.
1868         * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1869         * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1870         Remove redundant condition.
1871         * include/bits/stl_vector.h (vector::operator=(const vector&)):
1872         Likewise.
1873         (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1874         indirection through __alloc_traits.
1875         * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1876         Eliminate static const bool members by using true_type and false_type.
1877         (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1878         * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1879         * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1880         New.
1881         * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1883         PR libstdc++/59829
1884         * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1885         (vector::_M_data_ptr): New overloaded functions to ensure empty
1886         vectors do not dereference the pointer.
1887         * testsuite/23_containers/vector/59829.cc: New.
1888         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1889         Adjust dg-error line number.
1890         * testsuite/23_containers/vector/requirements/dr438/
1891         constructor_1_neg.cc: Likewise.
1892         * testsuite/23_containers/vector/requirements/dr438/
1893         constructor_2_neg.cc: Likewise.
1894         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1895         Likewise.
1897         PR libstdc++/21609
1898         * include/ext/array_allocator.h: Add deprecated attribute.
1900         PR libstdc++/57226
1901         * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1902         installation and use of python printers.
1903         * doc/xml/manual/status_cxx2011.xml: Update.
1904         * doc/html/*: Regenerate.
1906 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
1907             Kyle Lippincott  <spectral@google.com>
1909         PR libstdc++/59656
1910         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1911         constructor and grant friendship to weak_ptr.
1912         (weak_ptr::lock()): Use new constructor.
1913         * include/bits/shared_ptr_base.h
1914         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1915         and define specializations.
1916         (__shared_count): Add new non-throwing constructor.
1917         (__shared_ptr): Add new non-throwing constructor and grant friendship
1918         to __weak_ptr.
1919         (__weak_ptr::lock()): Use new constructor.
1920         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1921         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1923 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
1925         PR libstdc++/59215
1926         * include/bits/shared_ptr_base.h
1927         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1928         load.
1930 2014-01-27  Jason Merrill  <jason@redhat.com>
1932         Core DR 475
1933         PR c++/41174
1934         PR c++/59224
1935         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1936         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1937         (__cxa_allocate_exception): Don't set it here.
1939 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
1941         * include/bits/stl_map.h: Remove anachronistic comment.
1942         * include/bits/stl_multimap.h: Add whitespace.
1943         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1944         -std=gnu++11 instead of -std=c++11.
1945         * testsuite/23_containers/map/operators/2.cc: Likewise.
1946         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1947         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1948         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1950         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1951         * configure: Regenerate.
1953 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1955         PR libstdc++/59531
1956         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1957         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1959 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1960             Peter A. Bigot <pab@pabigot.com>
1962         PR libstdc++/59531
1963         * include/experimental/string_view
1964         (copy(_CharT*, size_type, size_type) const): Correct throw string.
1965         Correct copy start location.
1967 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1968             Peter A. Bigot <pab@pabigot.com>
1970         PR libstdc++/59530
1971         * include/experimental/string_view (operator[](size_type) const):
1972         Fix one-off index error in debug check.
1973         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1974         test basic_string_view at size().
1975         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1977 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
1978             Peter A. Bigot <pab@pabigot.com>
1980         PR libstdc++/59529
1981         * include/experimental/string_view
1982         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1983         * testsuite/experimental/string_view/operations/substr/char/1.cc:
1984         Comment out catch of out_of_range; No terminating null
1985         in basic_string_view.  Check begin == end.
1986         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1987         Ditto.
1989 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
1991         PR libstdc++/59548
1992         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1993         constructor to prevent it being implicitly defined as deleted, but
1994         do not copy anything.
1995         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1996         Define copy and move constructors similar to _Safe_sequence_base's.
1997         * testsuite/23_containers/unordered_map/59548.cc: New.
1999 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
2000             Steve Ellcey  <sellcey@mips.com>
2002         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2003         function.
2004         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2005         * (configure, config.h.in): Regenerate.
2006         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2008 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
2010         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2011         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2013         PR libstdc++/59872
2014         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2015         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2016         Likewise.
2017         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2018         Likewise.
2019         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2020         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2021         functions to perform moving or copying of elements from rvalue tree.
2022         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2023         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2024         * testsuite/23_containers/map/59872.cc: New.
2025         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2027 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
2029         * include/bits/stl_deque.h (_Deque_impl): Move comment.
2031         PR libstdc++/58764
2032         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2033         Split into separate default constructor and constructor taking
2034         allocator.
2035         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2036         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2037         Likewise.
2038         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2039         * include/debug/list (list::list(const _Allocator&)): Likewise.
2040         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2041         Likewise.
2042         * include/debug/multimap.h
2043         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2044         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2045         Likewise.
2046         * include/debug/multiset.h
2047         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2048         * include/debug/vector (vector::vector(const allocator_type&)):
2049         Likewise.
2050         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2051         * include/profile/list (list::list(const _Allocator&)): Likewise.
2052         * include/profile/map.h
2053         (map::map(const _Compare&, const _Allocator&)): Likewise.
2054         * include/profile/multimap.h
2055         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2056         * include/profile/set.h
2057         (set::set(const _Compare&, const _Allocator&)): Likewise.
2058         * include/profile/multiset.h
2059         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2060         * include/profile/vector (vector::vector(const _Allocator&)):
2061         Likewise.
2062         * testsuite/23_containers/deque/58764.cc: New.
2063         * testsuite/23_containers/list/58764.cc: New.
2064         * testsuite/23_containers/map/58764.cc: New.
2065         * testsuite/23_containers/multimap/58764.cc: New.
2066         * testsuite/23_containers/set/58764.cc: New.
2067         * testsuite/23_containers/multiset/58764.cc: New.
2068         * testsuite/23_containers/vector/58764.cc: New.
2069         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2070         Adjust dg-error line number.
2071         * testsuite/23_containers/deque/requirements/dr438/
2072         constructor_1_neg.cc: Likewise.
2073         * testsuite/23_containers/deque/requirements/dr438/
2074         constructor_2_neg.cc: Likewise.
2075         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2076         Likewise.
2077         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2078         Likewise.
2079         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2080         Likewise.
2081         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2082         Likewise.
2083         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2084         Likewise.
2085         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2086         Likewise.
2087         * testsuite/23_containers/vector/requirements/dr438/
2088         constructor_1_neg.cc: Likewise.
2089         * testsuite/23_containers/vector/requirements/dr438/
2090         constructor_2_neg.cc: Likewise.
2091         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2092         Likewise.
2094         PR libstdc++/58764 (again)
2095         * include/bits/stl_list.h (list): Make default constructor's exception
2096         specification conditional.
2097         * include/bits/stl_vector.h (vector): Likewise.
2098         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2099         to default constructor.
2100         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2101         Adjust dg-error line number.
2102         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2103         Likewise.
2104         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2105         Likewise.
2106         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2107         Likewise.
2108         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2109         Likewise.
2110         * testsuite/23_containers/vector/requirements/dr438/
2111         constructor_1_neg.cc: Likewise.
2112         * testsuite/23_containers/vector/requirements/dr438/
2113         constructor_2_neg.cc: Likewise.
2114         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2115         Likewise.
2117 2014-01-21  Tim Shen  <timshen91@gmail.com>
2119         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2120         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2121         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2123 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
2125         PR libstdc++/56267
2126         * include/bits/hashtable.h (__cache_default): Do not depend on
2127         whether the hash function is DefaultConstructible or CopyAssignable.
2128         (_Hashtable): Adjust static assertions.
2129         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2130         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2131         dg-error line number.
2132         * testsuite/23_containers/unordered_set/
2133         not_default_constructible_hash_neg.cc: Remove.
2135 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
2137         * scripts/create_testsuite_files: Add testsuite/experimental in
2138         the list of folders to search for tests.
2139         * include/experimental/string_view
2140         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2141         incompatible with constexpr qualifier.
2142         (basic_string_view<>::front()): Likewise.
2143         (basic_string_view<>::back()): Likewise.
2144         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2145         Merge dg-options directives into one.
2146         * testsuite/experimental/string_view/element_access/char/2.cc:
2147         Likewise. Remove invalid experimental namespace scope on
2148         string_view_type.
2150 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
2152         PR libstdc++/56267
2153         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2154         friendship to _Local_iterator_base<..., false>.
2155         (_Local_iterator_base): Give protected access to all existing members.
2156         (_Local_iterator_base::_M_curr()): New public accessor.
2157         (_Local_iterator_base::_M_get_bucket()): New public accessor.
2158         (_Local_iterator_base<..., false>::_M_init()): New function to manage
2159         the lifetime of the _Hash_code_base explicitly.
2160         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2161         (_Local_iterator_base<..., false>): Define copy constructor and copy
2162         assignment operator that use new functions to manage _Hash_code_base.
2163         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2164         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2165         Use public API for _Local_iterator_base.
2166         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2167         * include/debug/unordered_map (__debug::unordered_map::erase(),
2168         __debug::unordered_multimap::erase()): Likewise.
2169         * include/debug/unordered_set (__debug::unordered_set::erase(),
2170         __debug::unordered_multiset::erase()): Likewise.
2171         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2173 2014-01-19  Tim Shen  <timshen91@gmail.com>
2175         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2176         Fix parse error of multiple consecutive quantifiers like "a**".
2177         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2178         Likewise.
2179         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2181 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
2183         * include/profile/set.h (set): Implement C++11 allocator-aware
2184         container requirements.
2185         * include/profile/map.h (map): Likewise.
2186         * include/profile/multiset.h (multiset): Likewise.
2187         * include/profile/multimap.h (multimap): Likewise.
2188         * include/profile/set.h
2189         (set::operator=(const set&)): Define as default in C++11 mode.
2190         (set::operator=(set&&)): Likewise.
2191         * include/profile/map.h
2192         (map::operator=(const map&)): Likewise.
2193         (map::operator=(map&&)): Likewise.
2194         * include/profile/multiset.h
2195         (multiset::operator=(const multiset&)): Likewise.
2196         (multiset::operator=(multiset&&)): Likewise.
2197         * include/profile/multimap.h
2198         (multimap::operator=(const multimap&)): Likewise.
2199         (multimap::operator=(multimap&&)): Likewise.
2200         * include/profile/set.h (set::operator=(std::initializer_list<>)):
2201         Rely on the same operator from normal mode.
2202         * include/profile/map.h (map::operator=(std::initializer_list<>)):
2203         Likewise.
2204         * include/profile/multiset.h
2205         (multiset::operator=(std::initializer_list<>)): Likewise.
2206         * include/profile/multimap.h
2207         (multimap::operator=(std::initializer_list<>)): Likewise.
2208         * include/profile/set.h (set::swap(set&)): Add noexcept
2209         specification.
2210         * include/profile/map.h (map::swap(map&)): Likewise.
2211         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2212         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2214 2014-01-17  Tim Shen  <timshen91@gmail.com>
2216         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2217         use std::map.
2218         * include/bits/regex_automaton.h: Do not use std::set.
2219         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2220         _BracketMatcher<>::_M_add_collating_element(),
2221         _BracketMatcher<>::_M_add_equivalence_class(),
2222         _BracketMatcher<>::_M_make_range()): Likewise.
2223         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2224         Likewise.
2225         * include/bits/regex_executor.h: Do not use std::queue.
2226         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2227         _Executor<>::_M_dfs()): Likewise.
2228         * include/std/regex: Remove <map>, <set> and <queue>.
2230 2014-01-17  Tim Shen  <timshen91@gmail.com>
2232         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2233         basic_regex<>::assign()): Change __compile_nfa to accept
2234         const _CharT* only.
2235         * include/bits/regex_compiler.h: Change _Compiler's template
2236         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2237         * include/bits/regex_compiler.tcc: Likewise.
2239 2014-01-17  Tim Shen  <timshen91@gmail.com>
2241         * include/bits/regex_compiler.h: Change _ScannerT into char-type
2242         templated.
2243         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2244         _ScannerBase from _Scanner; Change _Scanner's template argument from
2245         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2246         instead.
2247         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2248         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2249         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2250         Likewise.
2251         * include/std/regex: Add <cstring> for using strchr.
2253 2014-01-17  Tim Shen  <timshen91@gmail.com>
2255         * bits/regex_automaton.tcc: Indentation fix.
2256         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2257         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2258         _BracketMatcher<>): Add bool option template parameters and
2259         specializations to make matching more efficient and space saving.
2260         * bits/regex_compiler.tcc: Likewise.
2262 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
2264         PR libstdc++/59712
2265         * include/bits/hashtable_policy.h: Fix some long lines.
2266         * include/bits/hashtable.h (__hash_code_base_access): Define and
2267         use it to check its _M_bucket_index noexcept qualification. Use
2268         also in place of...
2269         (__access_protected_ctor): ...this.
2270         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2271         Adapt line number.
2272         * testsuite/23_containers/unordered_set/
2273         not_default_constructible_hash_neg.cc: Likewise.
2275 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
2277         * include/debug/set.h (set): Implement C++11 allocator-aware
2278         container requirements.
2279         * include/debug/map.h (map): Likewise.
2280         * include/debug/multiset.h (multiset): Likewise.
2281         * include/debug/multimap.h (multimap): Likewise.
2282         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2283         fix implementation regarding management of safe iterators.
2284         * include/debug/map.h (map::operator=(map&&)): Likewise.
2285         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2286         * include/debug/multimap.h (multimap::operator=(multimap&&)):
2287         Likewise.
2288         * include/debug/set.h (set::operator=(std::initializer_list<>)):
2289         Rely on the same operator from normal mode.
2290         * include/debug/map.h (map::operator=(std::initializer_list<>)):
2291         Likewise.
2292         * include/debug/multiset.h
2293         (multiset::operator=(std::initializer_list<>)): Likewise.
2294         * include/debug/multimap.h
2295         (multimap::operator=(std::initializer_list<>)): Likewise.
2296         * include/debug/set.h (set::swap(set&)): Add noexcept
2297         specification, add allocator equality check.
2298         * include/debug/map.h (map::swap(map&)): Likewise.
2299         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2300         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2302 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
2304         PR libstdc++/59698
2305         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2306         and stylistic improvements.
2307         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2308         and update for C++11.
2309         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2311         PR libstdc++/59687
2312         * doc/xml/manual/backwards_compatibility.xml
2313         (backwards.third.nocreate_noreplace): Correct and expand.
2315         PR libstdc++/59699
2316         * doc/xml/manual/support.xml (std.support.types.null): Update links.
2318 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
2320         PR libstdc++/59738
2321         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2322         support for non-Movable types.
2324         PR libstdc++/59680
2325         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2327 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
2329         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2330         *this allocator instance when building temporary vector instance
2331         so that *this allocator does not get moved.
2332         * include/debug/safe_base.h
2333         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2334         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2335         move constructor from _Safe_sequence_base.
2336         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2337         safe iterators if the instance is moved.
2338         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2339         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2340         check on a vector iterator.
2341         * testsuite/23_containers/vector/allocator/move_assign.cc
2342         (test02): Likewise.
2343         (test03): New, test with a non-propagating allocator.
2344         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2346 2014-01-07  Tim Shen  <timshen91@gmail.com>
2348         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2349         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2350         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2351         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2352         _BracketMatcher<>::_M_add_char(),
2353         _BracketMatcher<>::_M_add_collating_element(),
2354         _BracketMatcher<>::_M_add_equivalence_class(),
2355         _BracketMatcher<>::_M_add_character_class(),
2356         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2357         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2358         Fix _AnyMatcher behavior of POSIX style and move _M_flags
2359         to template parameter; Add cache for _BracketMatcher. Adjust
2360         declarations from here...
2361         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2362         imbuing a regex will trigger a recompilation to rebuild the cache.
2363         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2364         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2365         different template bool parameters.
2366         * include/bits/regex_executor.h: Remove unnecessary declarations.
2367         * include/std/regex: Adjust including orders.
2368         * testsuite/28_regex/traits/char/user_defined.cc: New.
2369         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2371 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2373         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2374         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2375         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2376         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2377         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2379 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2381         Update copyright years
2383 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
2385         * testsuite/18_support/new_handler.cc,
2386         testsuite/18_support/terminate_handler.cc,
2387         testsuite/18_support/unexpected_handler.cc: Use the standard form for
2388         the copyright notice.
2390 Copyright (C) 2014 Free Software Foundation, Inc.
2392 Copying and distribution of this file, with or without modification,
2393 are permitted in any medium without royalty provided the copyright
2394 notice and this notice are preserved.