2014-04-04 Richard Biener <rguenther@suse.de>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob26ad5e00694cc9230e09aba8d124d2c7cdf86c7d
1 2014-03-26  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/59548
4         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
5         Define copy and move constructors that handle iterators correctly.
6         * testsuite/23_containers/unordered_map/59548.cc: New.
8 2014-03-25  Jonathan Wakely  <jwakely@redhat.com>
10         PR libstdc++/60658
11         * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
12         Use sizeof pointer type not the element type.
13         * testsuite/29_atomics/atomic/60658.cc: New.
15 2014-03-18  Jonathan Wakely  <jwakely@redhat.com>
17         PR libstdc++/60564
18         * include/std/future (__future_base::_Task_state<>): Change
19         constructors to template functions using perfect forwarding.
20         (__create_task_state): Use decayed type as stored task.
21         (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
22         * testsuite/30_threads/packaged_task/60564.cc: New.
24 2014-03-12  Roland McGrath  <mcgrathr@google.com>
25             Mark Seaborn  <mseaborn@google.com>
27         PR libstdc++/59392
28         * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
29         the address of a null pointer, not with a null pointer to pointer.
30         Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
31         * testsuite/18_support/bad_exception/59392.cc: New file.
33 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
35         Backport from mainline.
36         2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
38         PR libstdc++/59680
39         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
41 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
43         Backport from mainline.
44         2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
46         PR libstdc++/59215
47         * include/bits/shared_ptr_base.h
48         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
49         load.
51 2014-03-11  Jonathan Wakely  <jwakely@redhat.com>
53         Backport from mainline.
55         2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
57         PR libstdc++/59738
58         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
59         support for non-Movable types.
61         2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
63         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
64         *this allocator instance when building temporary vector instance
65         so that *this allocator does not get moved.
66         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
67         check on a vector iterator.
68         * testsuite/23_containers/vector/allocator/move_assign.cc
69         (test02): Likewise.
70         (test03): New, test with a non-propagating allocator.
72         2013-11-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
74         * testsuite/23_containers/vector/allocator/move.cc: New
76 2014-01-27  Jason Merrill  <jason@redhat.com>
78         Core DR 475
79         PR c++/41174
80         PR c++/59224
81         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
82         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
83         (__cxa_allocate_exception): Don't set it here.
85 2013-12-15  H.J. Lu  <hongjiu.lu@intel.com>
87         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
89 2013-11-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
91         * acinclude.m4 (libtool_VERSION): Bump.
92         * configure: Regenerate.
93         * doc/xml/manual/abi.xml: Update version information.
95 2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
97         * doc/xml/manual/status_cxx2011.xml: Document aligned_union as
98         missing.
100         * doc/xml/manual/spine.xml: Update copyright years.
101         * doc/html/*: Regenerate.
103 2013-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
105         PR libstdc++/58952
106         * include/c_global/cstdio: Undef getchar.
108 2013-10-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
110         * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
111         default_delete<void>.
113 2013-10-30  Chris Studholme  <cvs@cs.utoronto.ca>
115         PR libstdc++/58912
116         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Remove
117         unnecessary initialization of storage buffer.
119 2013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
121         PR libstdc++/58839
122         * include/bits/shared_ptr_base.h
123         (__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Do not dereference
124         pointer.
125         * testsuite/20_util/shared_ptr/cons/58839.cc: New.
127 2013-10-20  Chris Jefferson  <chris@bubblescope.net>
128             Paolo Carlini  <paolo.carlini@oracle.com>
130         PR libstdc++/58800
131         * include/bits/stl_algo.h (__unguarded_partition_pivot): Change
132         __last - 2 to __last - 1.
133         * testsuite/25_algorithms/nth_element/58800.cc: New
135 2013-10-16  François Dumont  <fdumont@gcc.gnu.org>
137         PR libstdc++/58191
138         * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
139         __gnu_debug::__base calls on iterators passed to internal debug
140         check.
141         (__glibcxx_check_partitioned_lower_pred): Likewise.
142         (__glibcxx_check_partitioned_upper): Likewise.
143         (__glibcxx_check_partitioned_upper_pred): Likewise.
144         * include/debug/functions.h (__check_partitioned_lower):
145         Remove code to detect safe iterators.
146         (__check_partitioned_upper): Likewise.
148 2013-10-16  Release Manager
150         * GCC 4.8.2 released.
152 2013-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
154         * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
155         aborting.
157 2013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
159         PR libstdc++/58659
160         * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
161         Delegate to constructor taking allocator.
162         (__shared_count::_S_create_from_up): Inline into ...
163         (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
164         std::conditional instead of constrained overloads. Allocate memory
165         using the allocator type that will be used for deallocation.
166         * testsuite/20_util/shared_ptr/cons/58659.cc: New.
167         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
169 2013-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
171         PR libstdc++/57641
172         * include/std/mutex (timed_mutex, recursive_timed_mutex): Add
173         overloaded _M_try_lock_until to handle conversion between different
174         clocks. Replace constrained __try_lock_for_impl overloads with
175         conditional increment.
176         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
178 2013-10-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
180         PR libstdc++/57465
181         * include/std/functional
182         (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
183         for pointers.
184         * testsuite/20_util/function/cons/57465.cc: New.
186 2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
187             Daniel Krugler  <daniel.kruegler@gmail.com>
189         PR libstdc++/58569
190         * include/std/functional (function::_CheckResult): Move to namespace
191         scope and rename to __check_func_return_type.
192         * testsuite/20_util/function/58569.cc: New.
194 2013-09-30  Chris Jefferson  <chris@bubblescope.net>
196         PR libstdc++/58437
197         * include/bits/stl_algo.h (__move_median_first): Rename to
198         __move_median_to_first, change to take an addition argument.
199         (__unguarded_partition_pivot): Adjust.
200         * testsuite/performance/25_algorithms/sort.cc: New.
201         * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
202         * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
204 2013-09-19  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
205             Chris Jefferson  <chris@bubblescope.net>
207         PR libstdc++/58358
208         * include/bits/stl_algo.h (search_n): Fix to guarantee a number
209         of comparisons <= number of elements in the range.
210         * testsuite/25_algorithms/search_n/58358.cc: New.
211         * testsuite/25_algorithms/search_n/iterator.cc: Extend.
213 2013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
215         PR libstdc++/58415
216         * include/ext/sso_string_base.h (__sso_string_base<>::
217         __sso_string_base(__sso_string_base&&)): Fix thinkos about
218         _M_length vs _M_set_length.
219         * testsuite/ext/vstring/cons/58415-1.cc: New.
220         * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
222 2013-09-10  Kai Tietz  <ktietz@redhat.com>
224         Backport from trunk.
225         PR libstdc++/54314
226         * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
227         like in gnu.ver.
229 2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
231         PR libstdc++/58341
232         * include/bits/stl_algobase.h (copy_backward): Fix documentation
233         per DR 1206.
235 2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
237         PR libstdc++/58302
238         * include/bits/random.tcc (negative_binomial_distribution<>::
239         operator()(_UniformRandomNumberGenerator&, const param_type&):
240         Fix typo in template argument.
241         * testsuite/26_numerics/random/negative_binomial_distribution/
242         operators/58302.cc: New.
244 2013-08-16  Uros Bizjak  <ubizjak@gmail.com>
246         * src/c++98/compatibility.cc (_ZTIe): Use
247         reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
248         (_ZTIPe): Ditto.
249         (ZTIPKe): Ditto.
251 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
253         * include/ext/atomicity.h: Add #pragma GCC system_header.
255 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
257         PR libstdc++/58098
258         * include/bits/random.h (cauchy_distribution<>::min,
259         extreme_value_distribution<>::min, normal_distribution<>::min,
260         student_t_distribution<>::min): Fix.
261         * include/ext/random (normal_mv_distribution<>::min): Likewise.
262         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
263         Adjust.
264         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
265         Likewise.
266         * testsuite/26_numerics/random/extreme_value_distribution/cons/
267         parms.cc: Likewise.
268         testsuite/26_numerics/random/extreme_value_distribution/cons/
269         default.cc: Likewise.
270         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
271         Likewise.
272         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
273         Likewise.
274         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
275         Likewise.
276         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
277         Likewise.
278         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
279         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
281         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
282         Minor tweak.
283         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
284         Likewise.
286         * testsuite/ext/von_mises_distribution/*: Move to...
287         * testsuite/ext/random/von_mises_distribution/*: ... here.
288         * testsuite/ext/triangular_distribution/*: Move to...
289         * testsuite/ext/random/triangular_distribution/*: ... here.
291 2013-07-31  François Dumont  <fdumont@gcc.gnu.org>
293         * include/profile/unordered_base.h: New.
294         * include/Makefile.am: Add new profile header.
295         * include/Makefile.in: Regenerate.
296         * include/profile/impl/profiler.h
297         (__profcxx_inefficient_hash_is_on): New macro.
298         * include/profile/unordered_map (std::profile::unordered_map<>):
299         Use new _Unordered_profile base class. Use default implementations
300         for special functions.
301         (std::profile::unordered_multimap<>): Likewise.
302         * include/profile/unordered_set (std::profile::unordered_set<>):
303         Likewise.
304         (std::profile::unordered_multiset<>): Likewise.
305         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
306         MoveOnly equality operator signature.
308 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
310         PR libstdc++/56627
311         * include/bits/stl_bvector.h: Use friend struct hash intead of
312         friend class hash to work around useless warnings produced by
313         some compilers.
314         * include/std/bitset: Likewise.
316 2013-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
318         Revert last commit.
320 2013-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
322         * include/profile/unordered_map (unordered_map<>,
323         unordered_multimap<>): Clean-up constructors and assignment
324         operators to match debug-mode.
325         * include/profile/unordered_set (unordered_set<>,
326         unordered_multiset<>): Likewise.
328 2013-07-22  Jason Merrill  <jason@redhat.com>
330         PR libstdc++/57914
331         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
333 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
335         * include/profile/vector (emplace(iterator, _Args&&...)): Define.
337 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
339         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
340         spurious fails with check-debug.
341         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
342         Likewise.
343         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
344         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
345         Likewise.
347 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
349         PR libstdc++/57674
350         * include/bits/random.h (binomial_distribution<>::_M_waiting):
351         Add double parameter.
352         * include/bits/random.tcc (binomial_distribution<>::operator()
353         (_UniformRandomNumberGenerator&, const param_type&)): Pass
354         __param._M_q to _M_waiting.
355         (_M_waiting): Adjust.
356         * testsuite/26_numerics/random/binomial_distribution/
357         operators/values.cc: Add tests.
359 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
361         PR libstdc++/57666
362         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
363         Implement correctly C++11 26.6.2.3/1.
364         * testsuite/26_numerics/valarray/dr630-3.C: New.
366 2013-06-19  Alan Modra  <amodra@gmail.com>
368         Apply mainline patch
369         2013-06-14  Alan Modra  <amodra@gmail.com>
370         * configure.host (abi_baseline_pair): Match powerpc64*.
372 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
374         PR libstdc++/57619
375         * include/bits/unordered_map.h (unordered_map<>::insert,
376         unordered_multimap<>::insert): Use std::forward, not std::move.
377         * testsuite/23_containers/unordered_map/insert/57619.C: New.
378         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
380 2013-06-12  Benjamin Kosnik  <bkoz@redhat.com>
382         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
383         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
384         * include/bits/stl_multimap.h: Same.
385         * include/bits/stl_multiset.h: Same.
386         * include/bits/stl_set.h: Same.
387         * include/bits/stl_tree.h: Same.
388         * include/std/complex (real, imag): Use macro for abi_tag.
390         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
391         * testsuite/util/testsuite_containers.h (erase_external): New
392         declarations.
393         (erase_external_iterators): Same.
394         (linkage_check_cxx98_cxx11_erase): Same.
395         (linkage_check_cxx98_cxx11_erase_iterators): Same.
396         * testsuite/util/testsuite_shared.cc: Define.
397         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
398         * testsuite/23_containers/map/modifiers/erase/
399         dr130-linkage-check.cc: New.
400         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
401         * testsuite/23_containers/multimap/modifiers/erase/
402         dr130-linkage-check.cc: New.
403         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
404         * testsuite/23_containers/multiset/modifiers/erase/
405         dr130-linkage-check.cc: New.
406         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
407         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
408         New.
409         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
411         * testsuite/23_containers/map/dr130.cc: Move...
412         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
413         * testsuite/23_containers/multimap/dr130.cc: Move ...
414         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
415         * testsuite/23_containers/multiset/dr130.cc: Move...
416         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
417         * testsuite/23_containers/set/dr130.cc: Move...
418         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
420 2013-06-11  Matthias Klose  <doko@ubuntu.com>
422         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
423         (ext_headers): Remove ${ext_host_headers}.
424         (stamp-${host_alias}): Create ${host_builddir}/../ext.
425         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
426         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
427         * include/Makefile.in: Regenerate.
428         * include/ext/random: Include ext/opt_random.h.
430 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
432         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
434 2013-05-31  Release Manager
436         * GCC 4.8.1 released.
438 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
440         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
441         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
442         calling non-existent from_time_t.
444 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
446         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
447         Regenerate.
449 2013-05-26  Jakub Jelinek  <jakub@redhat.com>
451         Backported from mainline
452         2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
454         * include/std/chrono: Wrap clocks in inline namespace _V2.
455         * src/c++11/chrono.cc: Same.
456         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
457         file, with default configure macros selected.
459         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
460         namespace.
461         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
463         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
464         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
465         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
466         Regenerated.
467         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
468         Regenerated.
469         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
470         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
471         Regenerated.
472         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
473         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
474         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
475         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
476         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
477         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
478         Regenerated.
479         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
480         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
482 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
484         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
485         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
486         don't define system_clock::is_steady, system_clock::now() and
487         steady_clock::is_steady.
488         (std::chrono::system_clock::now()): If
489         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
490         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
491         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
492         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
493         be non-empty.
494         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
495         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
496         * src/c++11/compatibility-chrono.cc: New file.
497         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
498         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
499         * testsuite/util/testsuite_abi.cc (check_version): Add
500         GLIBCXX_3.4.19 version and make it the latest.
501         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
502         also @@GLIBCXX_3.4.19.
503         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
504         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
505         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
506         Regenerated.
507         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
508         Regenerated.
509         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
510         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
511         Regenerated.
512         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
513         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
514         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
515         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
516         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
517         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
518         Regenerated.
519         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
520         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
521         * config.h.in: Regenerated.
522         * src/Makefile.in: Regenerated.
523         * configure: Regenerated.
525 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
527         PR libstdc++/57336
528         * include/std/functional (__invoke): Do not form function types with
529         abstract return type.
530         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
532 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
534         * include/bits/basic_string.h (getline): Fix doxygen comments.
536 2013-05-14  Evgeniy Stepanov  <eugenis@google.com>
538         * src/c++11/system_error.cc (generic_category_instance): Add
539         initializer.
540         (system_category_instance): Likewise.
541         * src/c++11/future.cc (__fec): Likewise.
543 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
545         PR libstdc++/57212
546         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
547         to __MINGW32__.
548         * include/Makefile.in: Regenerated.
550 2013-04-27  François Dumont  <fdumont@gcc.gnu.org>
552         * include/bits/hashtable_policy.h
553         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
554         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
556 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
558         PR libstdc++/57010
559         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
560         * testsuite/25_algorithms/pop_heap/57010.cc: New.
562 2013-04-09  Tom Tromey  <tromey@redhat.com>
564         * configure, config.h.in: Rebuild.
565         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
566         sys/sdt.h.
567         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
569 2013-04-04  Gerald Pfeifer  <gerald@pfeifer.com>
571         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
573         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
574         Coding Standards.
576         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
578         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
580         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
582         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
584         * doc/xml/manual/policy_data_structures: Remove direct link to
585         IBM Haifa Research Labs.
587         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
588         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
590         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
591         papers.
593         * doc/xml/manual/shared_ptr.xml: Use canonical address for
594         www.boost.org.
596 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
598         PR libstdc++/56834
599         * include/debug/array (tuple_size, tuple_element): Do not declare.
600         * include/profile/array: Likewise.
601         * testsuite/23_containers/array/tuple_interface/
602         tuple_element_debug_neg.cc: Adjust dg-error line number.
604 2013-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
606         PR libstdc++/55977 (partial, std::vector and std::deque bits)
607         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
608         _InputIterator, std::input_iterator_tag)): Use emplace_back.
609         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
610         _InputIterator, std::input_iterator_tag)): Likewise.
611         * testsuite/23_containers/vector/cons/55977.cc: New.
612         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
613         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
614         Adjust dg-error line number.
615         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
616         Likewise.
618 2013-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
620         PR libstdc++/55979
621         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
622         _InputIterator, __false_type)): Use emplace_back.
623         * testsuite/23_containers/list/cons/55979.cc: New.
624         * testsuite/23_containers/list/modifiers/1.h: Adjust.
625         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
626         Adjust dg-error line number.
628 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
630         PR libstdc++/56002
631         * include/std/mutex (lock_guard, unique_lock, lock): Define without
632         depending on _GLIBCXX_HAS_GTHREADS.
633         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
635 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
637         PR libstdc++/56678
638         * include/std/chrono (__is_ratio): Uglify T.
640 2013-03-22  Release Manager
642         * GCC 4.8.0 released.
644 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
646         PR libstdc++/56468
647         * libsupc++/exception_ptr.h (type_info): Declare.
649 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
651         PR libstdc++/56492
652         * include/std/future (__future_base::_Result): Add result_type
653         typedef.
654         (__future_base::_S_allocate_result): Overload for std::allocator.
655         (__future_base::_Task_setter): Use _Result::result_type instead of
656         deducing the type from the task.
657         (__future_base::_Task_state): Store allocator to allow shared state
658         to be reset.  Replace std::function with member of target object type
659         accessed via ...
660         (__future_base::_Task_state_base): New abstract base class.
661         (__future_base::_Task_state_base::_M_run): New virtual function to
662         invoke type-erased target object.
663         (__future_base::_Task_state_base::_M_reset): New virtual function to
664         create new shared_state using same target object and allocator.
665         (__future_base::__create_task_state): Allocate a new _Task_state.
666         (packaged_task::packaged_task): Use __create_task_state.
667         (packaged_task::reset): Use _Task_state_base::_M_reset.
668         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
670 2013-03-15  Tom Tromey  <tromey@redhat.com>
672         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
673         (PROBE2): New macro.
674         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
675         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
676         * configure.ac: Check for sys/sdt.h.
677         * configure, config.h.in: Rebuild.
679 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
681         PR libstdc++/56613
682         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
683         allocator_traits instead of calling construct directly.
684         * testsuite/23_containers/map/56613.cc: New.
686 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
688         * doc/html/*: Regenerate.
690 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
692         PR libstdc++/56609
693         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
694         * testsuite/20_util/is_fundamental/value.cc: Extend.
695         * testsuite/20_util/is_compound/value.cc: Likewise.
697 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
699         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
700         -Wunused warnings.
702 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
704         * include/bits/memoryfwd.h: New. Centralize forward declarations.
705         * include/bits/algorithmfwd.h: Consistent comments.
706         * include/bits/localefwd.h: Same.
707         * include/ext/vstring_fwd.h: Same.
708         * include/parallel/algorithmfwd.h: Same.
709         * include/parallel/numericfwd.h: Same.
710         * include/std/iosfwd: Same.
712         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
713         forward decl.
714         * include/ext/alloc_traits.h: Remove allocator forward decl.
715         * include/bits/stl_construct.h: Same.
716         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
717         forward decl. Consistent comments.
719         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
721         * include/Makefile.am (bits_headers): Add memoryfwd.h.
722         * include/Makefile.in: Regenerate.
723         * configure: Same.
725 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
727         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
728         Reset pointers after deallocation when memory can be reused.
729         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
730         elements to really challenge C++11 allocator integration.
731         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
732         * testsuite/23_containers/vector/allocator/copy_assign.cc:
733         Likewise.
734         * testsuite/23_containers/vector/allocator/move_assign.cc:
735         Likewise.
736         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
737         swap vector back before checks on memory/personality mapping are
738         performed.
739         * testsuite/23_containers/forward_list/allocator/minimal.cc:
740         Insert element to really challenge C++11 allocator integration.
741         * testsuite/23_containers/forward_list/allocator/copy.cc:
742         Likewise.
743         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
744         Likewise.
745         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
746         Likewise.
747         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
748         and swap forward_list back before checks on memory/personality
749         mapping are performed.
751 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
753         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
754         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
755         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
756         Likewise.
757         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
758         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
759         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
760         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
761         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
762         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
764 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
766         * scripts/extract_symvers.pl: Omit symbols bound to base
767         versions.
768         * scripts/extract_symvers.in: Likewise.
769         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
770         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
771         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
772         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
773         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
775 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
777         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
778         Optimize generation function by pulling computation of __r into the
779         constructor for param_type.  Also compare _M_mu in operator==.
780         Fix comment.
782 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
784         Add triangular and von Mises distributions.
785         * include/ext/random: Include <ext/cmath>.
786         Add __gnu_cxx::triangular_distribution<> and
787         __gnu_cxx::von_mises_distribution<> classes.
788         * include/ext/random.tcc: Add out-of-line functions for
789         __gnu_cxx::triangular_distribution<> and
790         __gnu_cxx::von_mises_distribution<>.
791         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
792         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
793         * testsuite/ext/triangular_distribution/operators/serialize.cc:
794         New file.
795         * testsuite/ext/triangular_distribution/operators/equal.cc:
796         New file.
797         * testsuite/ext/triangular_distribution/operators/inequal.cc:
798         New file.
799         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
800         New file.
801         * testsuite/ext/triangular_distribution/requirements/
802         explicit_instantiation/1.cc: New file.
803         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
804         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
805         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
806         New file.
807         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
808         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
809         New file.
810         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
811         New file.
812         * testsuite/ext/von_mises_distribution/requirements/
813         explicit_instantiation/1.cc: New file.
815         Add math constants.
816         * include/Makefile.am (ext_headers): Add cmath.
817         * include/Makefile.in: Regenerated.
818         * include/ext/cmath: New file.
820 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
822         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
823         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
824         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
825         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
826         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
828 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
830         PR libstdc++/56012
831         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
832         * testsuite/29_atomics/atomic/operators/56012.cc: New.
834         PR libstdc++/56011
835         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
836         missing overload.
837         * testsuite/29_atomics/atomic/operators/56011.cc: New.
839 2013-02-25  Jason Merrill  <jason@redhat.com>
841         * configure.ac: Check for __cxa_thread_atexit_impl.
842         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
843         to it if available.
844         * config.h.in, configure: Regenerate.
846 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
848         * include/std/streambuf (basic_streambuf): Use injected class name
849         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
850         group.
852 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
854         * doc/html/faq.html: Fix spelling.
855         * doc/xml/faq.xml: Likewise.
856         * include/bits/basic_ios.h: Likewise.
857         * include/bits/regex.h: Likewise.
858         * include/std/istream: Likewise.
859         * include/std/streambuf: Likewise.
861 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
863         * testsuite/23_containers/unordered_set/55043.cc: Add missing
864         namespace qualification.
865         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
867 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
869         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
870         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
871         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
872         * include/bits/stl_pair.h: Add to utilities group.
873         * include/std/tuple: Same.
874         * include/std/typeindex: Same.
876         * include/bits/stringfwd.h: Fix markup.
877         * include/std/limits: Same.
878         * include/std/type_traits: Same.
879         * include/tr1/memory: Same.
880         * include/tr1/regex: Same.
881         * scripts/run_doxygen: Comment.
882         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
884 2013-02-14  Jason Merrill  <jason@redhat.com>
886         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
887         test if unsupported.
889 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
891         PR libstdc++/56111
892         * include/std/complex (complex): Undefine.
893         * include/c_compatibility/complex.h (complex): Only undefine if
894         <complex> has been included.
895         * testsuite/26_numerics/complex/56111.cc: New testcase.
897 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
899         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
900         default constructor protected.
901         * include/bits/hashtable.h: static assert that _Hash_code_base has
902         a default constructor available through inheritance.
904 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
906         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
907         C++11 mode.
909 2013-02-12  Julian Brown  <julian@codesourcery.com>
911         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
912         Don't expect dots after abbreviated weekday names for ru_RU for
913         glibc versions >= 2.17.
914         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
915         Likewise.
917 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
919         * include/bits/random.tcc (__transform): Remove.
920         (__normalize): Add.
921         (discrete_distribution<>::param_type::_M_initialize): Adjust.
922         (piecewise_constant_distribution<>::param_type::_M_initialize):
923         Likewise.
924         (piecewise_linear_distribution<>::param_type::_M_initialize):
925         Likewise.
927 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
929         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
930         Use -fimplicit-templates.
931         * src/c++11/Makefile.in: Regenerate.
932         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
933         std::lower_bound template.
935 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
937         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
938         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
939         in C++11 mode and if available in the underlying C library.
940         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
941         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
942         _GLIBCXX_HAVE_QUICK_EXIT.
944 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
946         * doc/html/*: Regenerate.
948 2013-02-11  Jason Merrill  <jason@redhat.com>
950         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
951         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
952         * config.h.in, configure: Regenerate.
953         * include/c_std/cstdlib: Add atexit and at_quick_exit.
954         * include/c_global/cstdlib: Add atexit and at_quick_exit.
955         * testsuite/18_support/quick_exit/quick_exit.cc: New.
957 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
959         PR libstdc++/56282
960         Revert:
961         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
963         PR libstdc++/56193
964         * include/bits/basic_ios.h: Replace operator void*() const
965         with explicit operator bool() const in C++11 and greater.
966         * testsuite/27_io/basic_ios/pr56193.cc: New file.
968 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
969             Jonathan Wakely  <jwakely.gcc@gmail.com>
971         * doc/xml/manual/containers.xml: Add section on unordered containers.
972         * doc/xml/manual/using.xml: Fix incomplete sentence.
974 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
976         PR libstdc++/56267
977         * include/bits/hashtable.h (__cache_default): Check if hash function
978         is copy assignable.
979         * testsuite/23_containers/unordered_set/56267.cc: New.
980         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
981         dg-error line number.
982         * testsuite/23_containers/unordered_set/
983         not_default_constructible_hash_neg.cc: Likewise.
985         PR libstdc++/56278
986         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
987         constructor public.
988         * testsuite/23_containers/unordered_set/56278.cc: New.
990 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
992         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
993         simplification.
995 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
997         PR libstdc++/56216
998         * include/tr1/special_function_util.h: Remove spurious const
999         from numeric arguments.
1000         * include/tr1/riemann_zeta.tcc: Likewise.
1001         * include/tr1/exp_integral.tcc: Likewise.
1002         * include/tr1/bessel_function.tcc: Likewise.
1003         * include/tr1/hypergeometric.tcc: Likewise.
1004         * include/tr1/modified_bessel_func.tcc: Likewise.
1005         * include/tr1/poly_laguerre.tcc: Likewise.
1006         * include/tr1/gamma.tcc: Likewise.
1007         * include/tr1/legendre_function.tcc: Likewise.
1008         * include/tr1/poly_hermite.tcc: Likewise.
1009         * include/tr1/ell_integral.tcc: Likewise.
1010         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
1011         If argument is zero return function value.
1012         * testsuite/tr1/5_numerical_facilities/special_functions/
1013         08_cyl_bessel_i/pr56216.cc: New.
1015 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
1017         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
1019 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
1021         PR libstdc++/56193
1022         * include/bits/basic_ios.h: Replace operator void*() const
1023         with explicit operator bool() const in C++11 and greater.
1024         * testsuite/27_io/basic_ios/pr56193.cc: New file.
1026 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
1028         Add missing explicit instantiation for std::lower_bound template
1029         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
1030         missing instantiation for std::lower_bound template.
1032 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
1034         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
1035         * include/bits/basic_string.h: Specialize previous to mark
1036         std::hash for string types as slow.
1037         * include/bits/hashtable.h (__cache_default): Replace is_integral
1038         with __is_fast_hash.
1039         * src/c++11/hash_c++0x.cc: Add type_traits include.
1040         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1041         Adapt dg-error line number.
1042         * testsuite/23_containers/unordered_set/
1043         not_default_constructible_hash_neg.cc: Likewise.
1045 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1046             Paolo Carlini  <paolo.carlini@oracle.com>
1048         PR libstdc++/56202 (again)
1049         * include/bits/random.tcc (binomial_distribution<>::
1050         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
1051         in previous commit.
1053         * include/bits/random.h: Fix comment typo.
1055 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
1056             Paolo Carlini  <paolo.carlini@oracle.com>
1058         PR libstdc++/56202
1059         * include/bits/random.tcc (binomial_distribution<>::
1060         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
1061         division by zero.
1063 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1065         Update copyright years.
1066         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
1067         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
1068         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
1069         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
1070         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
1071         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
1072         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
1073         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
1074         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
1075         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
1076         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
1077         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
1078         testsuite/29_atomics/atomic/cons/assign_neg.cc,
1079         testsuite/29_atomics/atomic/cons/copy_neg.cc,
1080         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
1081         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
1082         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
1083         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
1084         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1085         Update lines in dg error matches.
1087 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1089         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
1091 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
1093         * include/bits/hashtable_policy.h
1094         (_Prime_rehash_policy::_M_next_bkt)
1095         (_Prime_rehash_policy::_M_need_rehash): Move definition...
1096         * src/c++11/hashtable_c++0x.cc: ... here.
1097         * src/shared/hashtable-aux.cc: Remove c++config.h include.
1098         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
1099         symbols.
1101 2013-01-29  Jason Merrill  <jason@redhat.com>
1103         PR libstdc++/54314
1104         * config/abi/pre/gnu.ver: Don't export construction vtables.
1105         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1107 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1109         PR libstdc++/56112
1110         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
1111         to construct value_type explicitly before trying to extract the key.
1112         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
1114 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
1116         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
1117         _Hashtable_ebo_helper to embed functors into the local_iterator
1118         when necessary. Pass information about functors involved in hash
1119         code by copy.
1120         * include/bits/hashtable.h (__cache_default): Do not cache for
1121         builtin integral types unless the hash functor is not noexcept
1122         qualified or is not default constructible. Adapt static assertions
1123         and local iterator instantiations.
1124         * include/debug/unordered_set
1125         (std::__debug::unordered_set<>::erase): Detect local iterators to
1126         invalidate using contained node rather than generating a dummy
1127         local_iterator instance.
1128         (std::__debug::unordered_multiset<>::erase): Likewise.
1129         * include/debug/unordered_map
1130         (std::__debug::unordered_map<>::erase): Likewise.
1131         (std::__debug::unordered_multimap<>::erase): Likewise.
1132         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
1133         std::tr1 and std versions of unordered_set regardless of any
1134         macro. Add test on default cache behavior.
1135         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
1136         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1137         Adapt line number.
1138         * testsuite/23_containers/unordered_set/
1139         not_default_constructible_hash_neg.cc: New.
1140         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
1142 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
1144         PR libstdc++/56085
1145         * include/std/complex (pow(const complex<>&, int)): Avoid __n
1146         signed overflow.
1148 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
1150         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1151         Tightten scan-assembler-times regexps, add dg-additional-options for
1152         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
1153         dg-options.
1155 2013-01-12  Andi Kleen  <ak@linux.intel.com>
1156             Jonathan Wakely  <jwakely.gcc@gmail.com>
1158         PR libstdc++/55233
1159         * include/bits/atomic_base.h (__memory_order_modifier): Add
1160         __memory_order_mask, __memory_order_modifier_mask,
1161         __memory_order_hle_acquire, __memory_order_hle_release.
1162         (operator|,operator&): Add.
1163         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
1164         (__cmpexch_failure_order): Add.
1165         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
1166         Handle flags.
1167         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1168         Add.
1170 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1172         PR libstdc++/55861
1173         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
1174         Fix return type.
1175         (__basic_future::_M_get_result()): Const qualify.
1176         (shared_future::get()): Likewise.
1177         * testsuite/30_threads/shared_future/members/get.cc: Use const
1178         objects.
1180 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1182         PR libstdc++/55043 (again)
1183         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
1184         unless construction would be well-formed.
1185         (__allow_copy_cons, __check_copy_constructible): Define.
1186         * include/bits/unordered_map.h (__check_copy_constructible): Use as
1187         base class so copy constructor will be deleted if appropriate.
1188         (is_copy_constructible): Remove specialization.
1189         * include/bits/unordered_set.h: Likewise.
1190         * include/debug/unordered_map.h: Undo previous commit. Default copy
1191         and move constructors.
1192         * include/debug/unordered_set.h: Likewise.
1193         * include/profile/unordered_map.h: Undo previous commit.
1194         * include/profile/unordered_set.h: Likewise.
1195         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
1196         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
1197         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1198         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
1199         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
1200         cannot support incomplete types.
1201         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1202         Likewise.
1204 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1206         PR libstdc++/55043
1207         * include/std/unordered_map: Include alloc_traits.h
1208         * include/std/unordered_set: Likewise.
1209         * include/bits/alloc_traits.h: Define __is_copy_insertable.
1210         * include/bits/unordered_map.h: Use it.
1211         * include/bits/unordered_set.h: Likewise.
1212         * include/debug/unordered_map.h: Likewise.
1213         * include/debug/unordered_set.h: Likewise.
1214         * include/profile/unordered_map.h: Likewise.
1215         * include/profile/unordered_set.h: Likewise.
1216         * include/bits/hashtable.h: Fix comment typos.
1217         * testsuite/23_containers/unordered_map/55043.cc: New.
1218         * testsuite/23_containers/unordered_multimap/55043.cc: New.
1219         * testsuite/23_containers/unordered_multiset/55043.cc: New.
1220         * testsuite/23_containers/unordered_set/55043.cc: New.
1222 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
1224         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
1225         gdb command.
1227 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1229         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
1231 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1233         PR libstdc++/55908
1234         * include/std/functional (_Mem_fn::operator()): Fix constraints to
1235         avoid ambiguity.
1236         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
1237         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
1239 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1241         PR libstdc++/55594
1242         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
1243         Solaris targets.
1244         * configure: Regenerate.
1246 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1248         PR libstdc++/55847
1249         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
1250         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
1251         string.
1253         PR libstdc++/55728
1254         * include/std/functional (bad_function_call::what()): Declare.
1255         * src/c++11/functional.cc (bad_function_call::what()): Define.
1256         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
1257         * testsuite/20_util/bad_function_call/what.cc: New.
1259 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1261         * include/bits/unordered_map.h: Fix typo in comments.
1262         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
1263         counts for unordered associative containers.
1265 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1267         * doc/xml/manual/abi.xml: Update library and symbol versions.
1269 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
1271         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
1272         in copyright years.
1273         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
1276 Copyright (C) 2013 Free Software Foundation, Inc.
1278 Copying and distribution of this file, with or without modification,
1279 are permitted in any medium without royalty provided the copyright
1280 notice and this notice are preserved.