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