Merge from branches/gcc-4_8-branch up to rev 207411.
[official-gcc.git] / gcc-4_8-branch / libstdc++-v3 / ChangeLog
blobb6d9bcfd9c8ac8b94de2a01b4c4bc072541ee075
1 2014-01-27  Jason Merrill  <jason@redhat.com>
3         Core DR 475
4         PR c++/41174
5         PR c++/59224
6         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
7         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
8         (__cxa_allocate_exception): Don't set it here.
10 2013-12-15  H.J. Lu  <hongjiu.lu@intel.com>
12         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
14 2013-11-22  Jonathan Wakely  <jwakely.gcc@gmail.com>
16         * acinclude.m4 (libtool_VERSION): Bump.
17         * configure: Regenerate.
18         * doc/xml/manual/abi.xml: Update version information.
20 2013-11-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
22         * doc/xml/manual/status_cxx2011.xml: Document aligned_union as
23         missing.
25         * doc/xml/manual/spine.xml: Update copyright years.
26         * doc/html/*: Regenerate.
28 2013-11-01  Paolo Carlini  <paolo.carlini@oracle.com>
30         PR libstdc++/58952
31         * include/c_global/cstdio: Undef getchar.
33 2013-10-31  Jonathan Wakely  <jwakely.gcc@gmail.com>
35         * testsuite/20_util/shared_ptr/cons/58839.cc: Do not use
36         default_delete<void>.
38 2013-10-30  Chris Studholme  <cvs@cs.utoronto.ca>
40         PR libstdc++/58912
41         * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Remove
42         unnecessary initialization of storage buffer.
44 2013-10-29  Jonathan Wakely  <jwakely.gcc@gmail.com>
46         PR libstdc++/58839
47         * include/bits/shared_ptr_base.h
48         (__shared_ptr<T>::__shared_ptr(unique_ptr<U,D>&&)): Do not dereference
49         pointer.
50         * testsuite/20_util/shared_ptr/cons/58839.cc: New.
52 2013-10-20  Chris Jefferson  <chris@bubblescope.net>
53             Paolo Carlini  <paolo.carlini@oracle.com>
55         PR libstdc++/58800
56         * include/bits/stl_algo.h (__unguarded_partition_pivot): Change
57         __last - 2 to __last - 1.
58         * testsuite/25_algorithms/nth_element/58800.cc: New
60 2013-10-16  François Dumont  <fdumont@gcc.gnu.org>
62         PR libstdc++/58191
63         * include/debug/macros.h (__glibcxx_check_partitioned_lower): Add
64         __gnu_debug::__base calls on iterators passed to internal debug
65         check.
66         (__glibcxx_check_partitioned_lower_pred): Likewise.
67         (__glibcxx_check_partitioned_upper): Likewise.
68         (__glibcxx_check_partitioned_upper_pred): Likewise.
69         * include/debug/functions.h (__check_partitioned_lower):
70         Remove code to detect safe iterators.
71         (__check_partitioned_upper): Likewise.
73 2013-10-16  Release Manager
75         * GCC 4.8.2 released.
77 2013-10-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
79         * testsuite/20_util/shared_ptr/cons/58659.cc: Use VERIFY instead of
80         aborting.
82 2013-10-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
84         PR libstdc++/58659
85         * include/bits/shared_ptr_base.h (__shared_count::__shared_count(P,D)):
86         Delegate to constructor taking allocator.
87         (__shared_count::_S_create_from_up): Inline into ...
88         (__shared_count::__shared_count(unique_ptr<Y,D>&&): Here. Use
89         std::conditional instead of constrained overloads. Allocate memory
90         using the allocator type that will be used for deallocation.
91         * testsuite/20_util/shared_ptr/cons/58659.cc: New.
92         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust.
94 2013-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
96         PR libstdc++/57641
97         * include/std/mutex (timed_mutex, recursive_timed_mutex): Add
98         overloaded _M_try_lock_until to handle conversion between different
99         clocks. Replace constrained __try_lock_for_impl overloads with
100         conditional increment.
101         * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: New.
103 2013-10-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
105         PR libstdc++/57465
106         * include/std/functional
107         (_Function_base::_Base_manager::_M_not_empty_function): Fix overload
108         for pointers.
109         * testsuite/20_util/function/cons/57465.cc: New.
111 2013-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>
112             Daniel Krugler  <daniel.kruegler@gmail.com>
114         PR libstdc++/58569
115         * include/std/functional (function::_CheckResult): Move to namespace
116         scope and rename to __check_func_return_type.
117         * testsuite/20_util/function/58569.cc: New.
119 2013-09-30  Chris Jefferson  <chris@bubblescope.net>
121         PR libstdc++/58437
122         * include/bits/stl_algo.h (__move_median_first): Rename to
123         __move_median_to_first, change to take an addition argument.
124         (__unguarded_partition_pivot): Adjust.
125         * testsuite/performance/25_algorithms/sort.cc: New.
126         * testsuite/performance/25_algorithms/sort_heap.cc: Likewise.
127         * testsuite/performance/25_algorithms/stable_sort.cc: Likewise.
129 2013-09-19  Mitsuru Kariya  <kariya_mitsuru@hotmail.com>
130             Chris Jefferson  <chris@bubblescope.net>
132         PR libstdc++/58358
133         * include/bits/stl_algo.h (search_n): Fix to guarantee a number
134         of comparisons <= number of elements in the range.
135         * testsuite/25_algorithms/search_n/58358.cc: New.
136         * testsuite/25_algorithms/search_n/iterator.cc: Extend.
138 2013-09-13  Paolo Carlini  <paolo.carlini@oracle.com>
140         PR libstdc++/58415
141         * include/ext/sso_string_base.h (__sso_string_base<>::
142         __sso_string_base(__sso_string_base&&)): Fix thinkos about
143         _M_length vs _M_set_length.
144         * testsuite/ext/vstring/cons/58415-1.cc: New.
145         * testsuite/ext/vstring/cons/58415-2.cc: Likewise.
147 2013-09-10  Kai Tietz  <ktietz@redhat.com>
149         Backport from trunk.
150         PR libstdc++/54314
151         * config/abi/pre/gnu-versioned-namespace.ver: Add thunk _ZTv0_n12_NS*
152         like in gnu.ver.
154 2013-09-07  Paolo Carlini  <paolo.carlini@oracle.com>
156         PR libstdc++/58341
157         * include/bits/stl_algobase.h (copy_backward): Fix documentation
158         per DR 1206.
160 2013-09-03  Paolo Carlini  <paolo.carlini@oracle.com>
162         PR libstdc++/58302
163         * include/bits/random.tcc (negative_binomial_distribution<>::
164         operator()(_UniformRandomNumberGenerator&, const param_type&):
165         Fix typo in template argument.
166         * testsuite/26_numerics/random/negative_binomial_distribution/
167         operators/58302.cc: New.
169 2013-08-16  Uros Bizjak  <ubizjak@gmail.com>
171         * src/c++98/compatibility.cc (_ZTIe): Use
172         reinterpret_cast<const cast *> to avoid -Wcast-qual warnings.
173         (_ZTIPe): Ditto.
174         (ZTIPKe): Ditto.
176 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
178         * include/ext/atomicity.h: Add #pragma GCC system_header.
180 2013-08-07  Paolo Carlini  <paolo.carlini@oracle.com>
182         PR libstdc++/58098
183         * include/bits/random.h (cauchy_distribution<>::min,
184         extreme_value_distribution<>::min, normal_distribution<>::min,
185         student_t_distribution<>::min): Fix.
186         * include/ext/random (normal_mv_distribution<>::min): Likewise.
187         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
188         Adjust.
189         testsuite/26_numerics/random/cauchy_distribution/cons/default.cc:
190         Likewise.
191         * testsuite/26_numerics/random/extreme_value_distribution/cons/
192         parms.cc: Likewise.
193         testsuite/26_numerics/random/extreme_value_distribution/cons/
194         default.cc: Likewise.
195         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
196         Likewise.
197         * testsuite/26_numerics/random/normal_distribution/cons/default.cc:
198         Likewise.
199         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
200         Likewise.
201         * testsuite/26_numerics/random/student_t_distribution/cons/default.cc:
202         Likewise.
203         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
204         * testsuite/ext/random/normal_mv_distribution/cons/default.cc: Likewise.
206         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
207         Minor tweak.
208         * testsuite/26_numerics/random/exponential_distribution/cons/default.cc:
209         Likewise.
211         * testsuite/ext/von_mises_distribution/*: Move to...
212         * testsuite/ext/random/von_mises_distribution/*: ... here.
213         * testsuite/ext/triangular_distribution/*: Move to...
214         * testsuite/ext/random/triangular_distribution/*: ... here.
216 2013-07-31  François Dumont  <fdumont@gcc.gnu.org>
218         * include/profile/unordered_base.h: New.
219         * include/Makefile.am: Add new profile header.
220         * include/Makefile.in: Regenerate.
221         * include/profile/impl/profiler.h
222         (__profcxx_inefficient_hash_is_on): New macro.
223         * include/profile/unordered_map (std::profile::unordered_map<>):
224         Use new _Unordered_profile base class. Use default implementations
225         for special functions.
226         (std::profile::unordered_multimap<>): Likewise.
227         * include/profile/unordered_set (std::profile::unordered_set<>):
228         Likewise.
229         (std::profile::unordered_multiset<>): Likewise.
230         * testsuite/23_containers/unordered_multiset/55043.cc: Fix
231         MoveOnly equality operator signature.
233 2013-07-31  Paolo Carlini  <paolo.carlini@oracle.com>
235         PR libstdc++/56627
236         * include/bits/stl_bvector.h: Use friend struct hash intead of
237         friend class hash to work around useless warnings produced by
238         some compilers.
239         * include/std/bitset: Likewise.
241 2013-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
243         Revert last commit.
245 2013-07-29  Paolo Carlini  <paolo.carlini@oracle.com>
247         * include/profile/unordered_map (unordered_map<>,
248         unordered_multimap<>): Clean-up constructors and assignment
249         operators to match debug-mode.
250         * include/profile/unordered_set (unordered_set<>,
251         unordered_multiset<>): Likewise.
253 2013-07-22  Jason Merrill  <jason@redhat.com>
255         PR libstdc++/57914
256         * libsupc++/atexit_thread.cc (run): Delete cleanup elts.
258 2013-06-27  Paolo Carlini  <paolo.carlini@oracle.com>
260         * include/profile/vector (emplace(iterator, _Args&&...)): Define.
262 2013-06-25  Paolo Carlini  <paolo.carlini@oracle.com>
264         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: Avoid
265         spurious fails with check-debug.
266         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc:
267         Likewise.
268         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: Likewise.
269         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc:
270         Likewise.
272 2013-06-22  Paolo Carlini  <paolo.carlini@oracle.com>
274         PR libstdc++/57674
275         * include/bits/random.h (binomial_distribution<>::_M_waiting):
276         Add double parameter.
277         * include/bits/random.tcc (binomial_distribution<>::operator()
278         (_UniformRandomNumberGenerator&, const param_type&)): Pass
279         __param._M_q to _M_waiting.
280         (_M_waiting): Adjust.
281         * testsuite/26_numerics/random/binomial_distribution/
282         operators/values.cc: Add tests.
284 2013-06-21  Paolo Carlini  <paolo.carlini@oracle.com>
286         PR libstdc++/57666
287         * include/std/valarray (valarray<>::operator=(const _Expr<>&)):
288         Implement correctly C++11 26.6.2.3/1.
289         * testsuite/26_numerics/valarray/dr630-3.C: New.
291 2013-06-19  Alan Modra  <amodra@gmail.com>
293         Apply mainline patch
294         2013-06-14  Alan Modra  <amodra@gmail.com>
295         * configure.host (abi_baseline_pair): Match powerpc64*.
297 2013-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
299         PR libstdc++/57619
300         * include/bits/unordered_map.h (unordered_map<>::insert,
301         unordered_multimap<>::insert): Use std::forward, not std::move.
302         * testsuite/23_containers/unordered_map/insert/57619.C: New.
303         * testsuite/23_containers/unordered_multimap/insert/57619.C: Likewise.
305 2013-06-12  Benjamin Kosnik  <bkoz@redhat.com>
307         * include/bits/c++config (_GLIBCXX_ABI_TAG_CXX11): Add.
308         * include/bits/stl_map.h (erase): Use abi_tag when C++11.
309         * include/bits/stl_multimap.h: Same.
310         * include/bits/stl_multiset.h: Same.
311         * include/bits/stl_set.h: Same.
312         * include/bits/stl_tree.h: Same.
313         * include/std/complex (real, imag): Use macro for abi_tag.
315         * testsuite/lib/libstdc++.exp: Disable inlinling with -fno-inline.
316         * testsuite/util/testsuite_containers.h (erase_external): New
317         declarations.
318         (erase_external_iterators): Same.
319         (linkage_check_cxx98_cxx11_erase): Same.
320         (linkage_check_cxx98_cxx11_erase_iterators): Same.
321         * testsuite/util/testsuite_shared.cc: Define.
322         * testsuite/23_containers/map/modifiers/erase/abi_tag.cc: New.
323         * testsuite/23_containers/map/modifiers/erase/
324         dr130-linkage-check.cc: New.
325         * testsuite/23_containers/multimap/modifiers/erase/abi_tag.cc: New.
326         * testsuite/23_containers/multimap/modifiers/erase/
327         dr130-linkage-check.cc: New.
328         * testsuite/23_containers/multiset/modifiers/erase/abi_tag.cc: New.
329         * testsuite/23_containers/multiset/modifiers/erase/
330         dr130-linkage-check.cc: New.
331         * testsuite/23_containers/set/modifiers/erase/abi_tag.cc: New.
332         * testsuite/23_containers/set/modifiers/erase/dr130-linkage-check.cc:
333         New.
334         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line number.
336         * testsuite/23_containers/map/dr130.cc: Move...
337         * testsuite/23_containers/map/modifiers/dr130.cc: ...here.
338         * testsuite/23_containers/multimap/dr130.cc: Move ...
339         * testsuite/23_containers/multimap/modifiers/dr130.cc: ...here.
340         * testsuite/23_containers/multiset/dr130.cc: Move...
341         * testsuite/23_containers/multiset/modifiers/dr130.cc: ...here.
342         * testsuite/23_containers/set/dr130.cc: Move...
343         * testsuite/23_containers/set/modifiers/dr130.cc: ...here.
345 2013-06-11  Matthias Klose  <doko@ubuntu.com>
347         * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
348         (ext_headers): Remove ${ext_host_headers}.
349         (stamp-${host_alias}): Create ${host_builddir}/../ext.
350         (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
351         (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
352         * include/Makefile.in: Regenerate.
353         * include/ext/random: Include ext/opt_random.h.
355 2013-06-07  Uros Bizjak  <ubizjak@gmail.com>
357         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
359 2013-05-31  Release Manager
361         * GCC 4.8.1 released.
363 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
365         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
366         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
367         calling non-existent from_time_t.
369 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
371         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
372         Regenerate.
374 2013-05-26  Jakub Jelinek  <jakub@redhat.com>
376         Backported from mainline
377         2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
379         * include/std/chrono: Wrap clocks in inline namespace _V2.
380         * src/c++11/chrono.cc: Same.
381         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
382         file, with default configure macros selected.
384         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
385         namespace.
386         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
388         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
389         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
390         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
391         Regenerated.
392         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
393         Regenerated.
394         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
395         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
396         Regenerated.
397         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
398         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
399         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
400         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
401         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
402         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
403         Regenerated.
404         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
405         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
407 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
409         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
410         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
411         don't define system_clock::is_steady, system_clock::now() and
412         steady_clock::is_steady.
413         (std::chrono::system_clock::now()): If
414         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
415         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
416         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
417         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
418         be non-empty.
419         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
420         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
421         * src/c++11/compatibility-chrono.cc: New file.
422         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
423         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
424         * testsuite/util/testsuite_abi.cc (check_version): Add
425         GLIBCXX_3.4.19 version and make it the latest.
426         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
427         also @@GLIBCXX_3.4.19.
428         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
429         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
430         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
431         Regenerated.
432         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
433         Regenerated.
434         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
435         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
436         Regenerated.
437         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
438         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
439         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
440         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
441         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
442         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
443         Regenerated.
444         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
445         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
446         * config.h.in: Regenerated.
447         * src/Makefile.in: Regenerated.
448         * configure: Regenerated.
450 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
452         PR libstdc++/57336
453         * include/std/functional (__invoke): Do not form function types with
454         abstract return type.
455         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
457 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
459         * include/bits/basic_string.h (getline): Fix doxygen comments.
461 2013-05-14  Evgeniy Stepanov  <eugenis@google.com>
463         * src/c++11/system_error.cc (generic_category_instance): Add
464         initializer.
465         (system_category_instance): Likewise.
466         * src/c++11/future.cc (__fec): Likewise.
468 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
470         PR libstdc++/57212
471         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
472         to __MINGW32__.
473         * include/Makefile.in: Regenerated.
475 2013-04-27  François Dumont  <fdumont@gcc.gnu.org>
477         * include/bits/hashtable_policy.h
478         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
479         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
481 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
483         PR libstdc++/57010
484         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
485         * testsuite/25_algorithms/pop_heap/57010.cc: New.
487 2013-04-09  Tom Tromey  <tromey@redhat.com>
489         * configure, config.h.in: Rebuild.
490         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
491         sys/sdt.h.
492         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
494 2013-04-04  Gerald Pfeifer  <gerald@pfeifer.com>
496         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
498         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
499         Coding Standards.
501         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
503         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
505         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
507         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
509         * doc/xml/manual/policy_data_structures: Remove direct link to
510         IBM Haifa Research Labs.
512         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
513         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
515         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
516         papers.
518         * doc/xml/manual/shared_ptr.xml: Use canonical address for
519         www.boost.org.
521 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
523         PR libstdc++/56834
524         * include/debug/array (tuple_size, tuple_element): Do not declare.
525         * include/profile/array: Likewise.
526         * testsuite/23_containers/array/tuple_interface/
527         tuple_element_debug_neg.cc: Adjust dg-error line number.
529 2013-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
531         PR libstdc++/55977 (partial, std::vector and std::deque bits)
532         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
533         _InputIterator, std::input_iterator_tag)): Use emplace_back.
534         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
535         _InputIterator, std::input_iterator_tag)): Likewise.
536         * testsuite/23_containers/vector/cons/55977.cc: New.
537         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
538         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
539         Adjust dg-error line number.
540         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
541         Likewise.
543 2013-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
545         PR libstdc++/55979
546         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
547         _InputIterator, __false_type)): Use emplace_back.
548         * testsuite/23_containers/list/cons/55979.cc: New.
549         * testsuite/23_containers/list/modifiers/1.h: Adjust.
550         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
551         Adjust dg-error line number.
553 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
555         PR libstdc++/56002
556         * include/std/mutex (lock_guard, unique_lock, lock): Define without
557         depending on _GLIBCXX_HAS_GTHREADS.
558         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
560 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
562         PR libstdc++/56678
563         * include/std/chrono (__is_ratio): Uglify T.
565 2013-03-22  Release Manager
567         * GCC 4.8.0 released.
569 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
571         PR libstdc++/56468
572         * libsupc++/exception_ptr.h (type_info): Declare.
574 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
576         PR libstdc++/56492
577         * include/std/future (__future_base::_Result): Add result_type
578         typedef.
579         (__future_base::_S_allocate_result): Overload for std::allocator.
580         (__future_base::_Task_setter): Use _Result::result_type instead of
581         deducing the type from the task.
582         (__future_base::_Task_state): Store allocator to allow shared state
583         to be reset.  Replace std::function with member of target object type
584         accessed via ...
585         (__future_base::_Task_state_base): New abstract base class.
586         (__future_base::_Task_state_base::_M_run): New virtual function to
587         invoke type-erased target object.
588         (__future_base::_Task_state_base::_M_reset): New virtual function to
589         create new shared_state using same target object and allocator.
590         (__future_base::__create_task_state): Allocate a new _Task_state.
591         (packaged_task::packaged_task): Use __create_task_state.
592         (packaged_task::reset): Use _Task_state_base::_M_reset.
593         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
595 2013-03-15  Tom Tromey  <tromey@redhat.com>
597         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
598         (PROBE2): New macro.
599         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
600         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
601         * configure.ac: Check for sys/sdt.h.
602         * configure, config.h.in: Rebuild.
604 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
606         PR libstdc++/56613
607         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
608         allocator_traits instead of calling construct directly.
609         * testsuite/23_containers/map/56613.cc: New.
611 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
613         * doc/html/*: Regenerate.
615 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
617         PR libstdc++/56609
618         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
619         * testsuite/20_util/is_fundamental/value.cc: Extend.
620         * testsuite/20_util/is_compound/value.cc: Likewise.
622 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
624         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
625         -Wunused warnings.
627 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
629         * include/bits/memoryfwd.h: New. Centralize forward declarations.
630         * include/bits/algorithmfwd.h: Consistent comments.
631         * include/bits/localefwd.h: Same.
632         * include/ext/vstring_fwd.h: Same.
633         * include/parallel/algorithmfwd.h: Same.
634         * include/parallel/numericfwd.h: Same.
635         * include/std/iosfwd: Same.
637         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
638         forward decl.
639         * include/ext/alloc_traits.h: Remove allocator forward decl.
640         * include/bits/stl_construct.h: Same.
641         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
642         forward decl. Consistent comments.
644         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
646         * include/Makefile.am (bits_headers): Add memoryfwd.h.
647         * include/Makefile.in: Regenerate.
648         * configure: Same.
650 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
652         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
653         Reset pointers after deallocation when memory can be reused.
654         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
655         elements to really challenge C++11 allocator integration.
656         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
657         * testsuite/23_containers/vector/allocator/copy_assign.cc:
658         Likewise.
659         * testsuite/23_containers/vector/allocator/move_assign.cc:
660         Likewise.
661         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
662         swap vector back before checks on memory/personality mapping are
663         performed.
664         * testsuite/23_containers/forward_list/allocator/minimal.cc:
665         Insert element to really challenge C++11 allocator integration.
666         * testsuite/23_containers/forward_list/allocator/copy.cc:
667         Likewise.
668         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
669         Likewise.
670         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
671         Likewise.
672         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
673         and swap forward_list back before checks on memory/personality
674         mapping are performed.
676 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
678         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
679         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
680         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
681         Likewise.
682         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
683         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
684         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
685         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
686         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
687         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
689 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
691         * scripts/extract_symvers.pl: Omit symbols bound to base
692         versions.
693         * scripts/extract_symvers.in: Likewise.
694         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
695         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
696         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
697         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
698         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
700 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
702         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
703         Optimize generation function by pulling computation of __r into the
704         constructor for param_type.  Also compare _M_mu in operator==.
705         Fix comment.
707 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
709         Add triangular and von Mises distributions.
710         * include/ext/random: Include <ext/cmath>.
711         Add __gnu_cxx::triangular_distribution<> and
712         __gnu_cxx::von_mises_distribution<> classes.
713         * include/ext/random.tcc: Add out-of-line functions for
714         __gnu_cxx::triangular_distribution<> and
715         __gnu_cxx::von_mises_distribution<>.
716         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
717         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
718         * testsuite/ext/triangular_distribution/operators/serialize.cc:
719         New file.
720         * testsuite/ext/triangular_distribution/operators/equal.cc:
721         New file.
722         * testsuite/ext/triangular_distribution/operators/inequal.cc:
723         New file.
724         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
725         New file.
726         * testsuite/ext/triangular_distribution/requirements/
727         explicit_instantiation/1.cc: New file.
728         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
729         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
730         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
731         New file.
732         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
733         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
734         New file.
735         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
736         New file.
737         * testsuite/ext/von_mises_distribution/requirements/
738         explicit_instantiation/1.cc: New file.
740         Add math constants.
741         * include/Makefile.am (ext_headers): Add cmath.
742         * include/Makefile.in: Regenerated.
743         * include/ext/cmath: New file.
745 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
747         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
748         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
749         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
750         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
751         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
753 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
755         PR libstdc++/56012
756         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
757         * testsuite/29_atomics/atomic/operators/56012.cc: New.
759         PR libstdc++/56011
760         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
761         missing overload.
762         * testsuite/29_atomics/atomic/operators/56011.cc: New.
764 2013-02-25  Jason Merrill  <jason@redhat.com>
766         * configure.ac: Check for __cxa_thread_atexit_impl.
767         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
768         to it if available.
769         * config.h.in, configure: Regenerate.
771 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
773         * include/std/streambuf (basic_streambuf): Use injected class name
774         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
775         group.
777 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
779         * doc/html/faq.html: Fix spelling.
780         * doc/xml/faq.xml: Likewise.
781         * include/bits/basic_ios.h: Likewise.
782         * include/bits/regex.h: Likewise.
783         * include/std/istream: Likewise.
784         * include/std/streambuf: Likewise.
786 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
788         * testsuite/23_containers/unordered_set/55043.cc: Add missing
789         namespace qualification.
790         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
792 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
794         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
795         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
796         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
797         * include/bits/stl_pair.h: Add to utilities group.
798         * include/std/tuple: Same.
799         * include/std/typeindex: Same.
801         * include/bits/stringfwd.h: Fix markup.
802         * include/std/limits: Same.
803         * include/std/type_traits: Same.
804         * include/tr1/memory: Same.
805         * include/tr1/regex: Same.
806         * scripts/run_doxygen: Comment.
807         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
809 2013-02-14  Jason Merrill  <jason@redhat.com>
811         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
812         test if unsupported.
814 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
816         PR libstdc++/56111
817         * include/std/complex (complex): Undefine.
818         * include/c_compatibility/complex.h (complex): Only undefine if
819         <complex> has been included.
820         * testsuite/26_numerics/complex/56111.cc: New testcase.
822 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
824         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
825         default constructor protected.
826         * include/bits/hashtable.h: static assert that _Hash_code_base has
827         a default constructor available through inheritance.
829 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
831         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
832         C++11 mode.
834 2013-02-12  Julian Brown  <julian@codesourcery.com>
836         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
837         Don't expect dots after abbreviated weekday names for ru_RU for
838         glibc versions >= 2.17.
839         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
840         Likewise.
842 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
844         * include/bits/random.tcc (__transform): Remove.
845         (__normalize): Add.
846         (discrete_distribution<>::param_type::_M_initialize): Adjust.
847         (piecewise_constant_distribution<>::param_type::_M_initialize):
848         Likewise.
849         (piecewise_linear_distribution<>::param_type::_M_initialize):
850         Likewise.
852 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
854         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
855         Use -fimplicit-templates.
856         * src/c++11/Makefile.in: Regenerate.
857         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
858         std::lower_bound template.
860 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
862         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
863         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
864         in C++11 mode and if available in the underlying C library.
865         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
866         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
867         _GLIBCXX_HAVE_QUICK_EXIT.
869 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
871         * doc/html/*: Regenerate.
873 2013-02-11  Jason Merrill  <jason@redhat.com>
875         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
876         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
877         * config.h.in, configure: Regenerate.
878         * include/c_std/cstdlib: Add atexit and at_quick_exit.
879         * include/c_global/cstdlib: Add atexit and at_quick_exit.
880         * testsuite/18_support/quick_exit/quick_exit.cc: New.
882 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
884         PR libstdc++/56282
885         Revert:
886         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
888         PR libstdc++/56193
889         * include/bits/basic_ios.h: Replace operator void*() const
890         with explicit operator bool() const in C++11 and greater.
891         * testsuite/27_io/basic_ios/pr56193.cc: New file.
893 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
894             Jonathan Wakely  <jwakely.gcc@gmail.com>
896         * doc/xml/manual/containers.xml: Add section on unordered containers.
897         * doc/xml/manual/using.xml: Fix incomplete sentence.
899 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
901         PR libstdc++/56267
902         * include/bits/hashtable.h (__cache_default): Check if hash function
903         is copy assignable.
904         * testsuite/23_containers/unordered_set/56267.cc: New.
905         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
906         dg-error line number.
907         * testsuite/23_containers/unordered_set/
908         not_default_constructible_hash_neg.cc: Likewise.
910         PR libstdc++/56278
911         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
912         constructor public.
913         * testsuite/23_containers/unordered_set/56278.cc: New.
915 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
917         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
918         simplification.
920 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
922         PR libstdc++/56216
923         * include/tr1/special_function_util.h: Remove spurious const
924         from numeric arguments.
925         * include/tr1/riemann_zeta.tcc: Likewise.
926         * include/tr1/exp_integral.tcc: Likewise.
927         * include/tr1/bessel_function.tcc: Likewise.
928         * include/tr1/hypergeometric.tcc: Likewise.
929         * include/tr1/modified_bessel_func.tcc: Likewise.
930         * include/tr1/poly_laguerre.tcc: Likewise.
931         * include/tr1/gamma.tcc: Likewise.
932         * include/tr1/legendre_function.tcc: Likewise.
933         * include/tr1/poly_hermite.tcc: Likewise.
934         * include/tr1/ell_integral.tcc: Likewise.
935         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
936         If argument is zero return function value.
937         * testsuite/tr1/5_numerical_facilities/special_functions/
938         08_cyl_bessel_i/pr56216.cc: New.
940 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
942         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
944 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
946         PR libstdc++/56193
947         * include/bits/basic_ios.h: Replace operator void*() const
948         with explicit operator bool() const in C++11 and greater.
949         * testsuite/27_io/basic_ios/pr56193.cc: New file.
951 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
953         Add missing explicit instantiation for std::lower_bound template
954         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
955         missing instantiation for std::lower_bound template.
957 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
959         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
960         * include/bits/basic_string.h: Specialize previous to mark
961         std::hash for string types as slow.
962         * include/bits/hashtable.h (__cache_default): Replace is_integral
963         with __is_fast_hash.
964         * src/c++11/hash_c++0x.cc: Add type_traits include.
965         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
966         Adapt dg-error line number.
967         * testsuite/23_containers/unordered_set/
968         not_default_constructible_hash_neg.cc: Likewise.
970 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
971             Paolo Carlini  <paolo.carlini@oracle.com>
973         PR libstdc++/56202 (again)
974         * include/bits/random.tcc (binomial_distribution<>::
975         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
976         in previous commit.
978         * include/bits/random.h: Fix comment typo.
980 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
981             Paolo Carlini  <paolo.carlini@oracle.com>
983         PR libstdc++/56202
984         * include/bits/random.tcc (binomial_distribution<>::
985         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
986         division by zero.
988 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
990         Update copyright years.
991         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
992         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
993         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
994         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
995         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
996         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
997         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
998         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
999         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
1000         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
1001         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
1002         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
1003         testsuite/29_atomics/atomic/cons/assign_neg.cc,
1004         testsuite/29_atomics/atomic/cons/copy_neg.cc,
1005         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
1006         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
1007         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
1008         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
1009         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1010         Update lines in dg error matches.
1012 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
1014         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
1016 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
1018         * include/bits/hashtable_policy.h
1019         (_Prime_rehash_policy::_M_next_bkt)
1020         (_Prime_rehash_policy::_M_need_rehash): Move definition...
1021         * src/c++11/hashtable_c++0x.cc: ... here.
1022         * src/shared/hashtable-aux.cc: Remove c++config.h include.
1023         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
1024         symbols.
1026 2013-01-29  Jason Merrill  <jason@redhat.com>
1028         PR libstdc++/54314
1029         * config/abi/pre/gnu.ver: Don't export construction vtables.
1030         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1032 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
1034         PR libstdc++/56112
1035         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
1036         to construct value_type explicitly before trying to extract the key.
1037         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
1039 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
1041         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
1042         _Hashtable_ebo_helper to embed functors into the local_iterator
1043         when necessary. Pass information about functors involved in hash
1044         code by copy.
1045         * include/bits/hashtable.h (__cache_default): Do not cache for
1046         builtin integral types unless the hash functor is not noexcept
1047         qualified or is not default constructible. Adapt static assertions
1048         and local iterator instantiations.
1049         * include/debug/unordered_set
1050         (std::__debug::unordered_set<>::erase): Detect local iterators to
1051         invalidate using contained node rather than generating a dummy
1052         local_iterator instance.
1053         (std::__debug::unordered_multiset<>::erase): Likewise.
1054         * include/debug/unordered_map
1055         (std::__debug::unordered_map<>::erase): Likewise.
1056         (std::__debug::unordered_multimap<>::erase): Likewise.
1057         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
1058         std::tr1 and std versions of unordered_set regardless of any
1059         macro. Add test on default cache behavior.
1060         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
1061         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1062         Adapt line number.
1063         * testsuite/23_containers/unordered_set/
1064         not_default_constructible_hash_neg.cc: New.
1065         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
1067 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
1069         PR libstdc++/56085
1070         * include/std/complex (pow(const complex<>&, int)): Avoid __n
1071         signed overflow.
1073 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
1075         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1076         Tightten scan-assembler-times regexps, add dg-additional-options for
1077         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
1078         dg-options.
1080 2013-01-12  Andi Kleen  <ak@linux.intel.com>
1081             Jonathan Wakely  <jwakely.gcc@gmail.com>
1083         PR libstdc++/55233
1084         * include/bits/atomic_base.h (__memory_order_modifier): Add
1085         __memory_order_mask, __memory_order_modifier_mask,
1086         __memory_order_hle_acquire, __memory_order_hle_release.
1087         (operator|,operator&): Add.
1088         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
1089         (__cmpexch_failure_order): Add.
1090         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
1091         Handle flags.
1092         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1093         Add.
1095 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
1097         PR libstdc++/55861
1098         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
1099         Fix return type.
1100         (__basic_future::_M_get_result()): Const qualify.
1101         (shared_future::get()): Likewise.
1102         * testsuite/30_threads/shared_future/members/get.cc: Use const
1103         objects.
1105 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1107         PR libstdc++/55043 (again)
1108         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
1109         unless construction would be well-formed.
1110         (__allow_copy_cons, __check_copy_constructible): Define.
1111         * include/bits/unordered_map.h (__check_copy_constructible): Use as
1112         base class so copy constructor will be deleted if appropriate.
1113         (is_copy_constructible): Remove specialization.
1114         * include/bits/unordered_set.h: Likewise.
1115         * include/debug/unordered_map.h: Undo previous commit. Default copy
1116         and move constructors.
1117         * include/debug/unordered_set.h: Likewise.
1118         * include/profile/unordered_map.h: Undo previous commit.
1119         * include/profile/unordered_set.h: Likewise.
1120         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
1121         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
1122         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1123         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
1124         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
1125         cannot support incomplete types.
1126         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1127         Likewise.
1129 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
1131         PR libstdc++/55043
1132         * include/std/unordered_map: Include alloc_traits.h
1133         * include/std/unordered_set: Likewise.
1134         * include/bits/alloc_traits.h: Define __is_copy_insertable.
1135         * include/bits/unordered_map.h: Use it.
1136         * include/bits/unordered_set.h: Likewise.
1137         * include/debug/unordered_map.h: Likewise.
1138         * include/debug/unordered_set.h: Likewise.
1139         * include/profile/unordered_map.h: Likewise.
1140         * include/profile/unordered_set.h: Likewise.
1141         * include/bits/hashtable.h: Fix comment typos.
1142         * testsuite/23_containers/unordered_map/55043.cc: New.
1143         * testsuite/23_containers/unordered_multimap/55043.cc: New.
1144         * testsuite/23_containers/unordered_multiset/55043.cc: New.
1145         * testsuite/23_containers/unordered_set/55043.cc: New.
1147 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
1149         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
1150         gdb command.
1152 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1154         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
1156 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
1158         PR libstdc++/55908
1159         * include/std/functional (_Mem_fn::operator()): Fix constraints to
1160         avoid ambiguity.
1161         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
1162         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
1164 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1166         PR libstdc++/55594
1167         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
1168         Solaris targets.
1169         * configure: Regenerate.
1171 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
1173         PR libstdc++/55847
1174         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
1175         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
1176         string.
1178         PR libstdc++/55728
1179         * include/std/functional (bad_function_call::what()): Declare.
1180         * src/c++11/functional.cc (bad_function_call::what()): Define.
1181         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
1182         * testsuite/20_util/bad_function_call/what.cc: New.
1184 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1186         * include/bits/unordered_map.h: Fix typo in comments.
1187         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
1188         counts for unordered associative containers.
1190 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
1192         * doc/xml/manual/abi.xml: Update library and symbol versions.
1194 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
1196         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
1197         in copyright years.
1198         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
1201 Copyright (C) 2013 Free Software Foundation, Inc.
1203 Copying and distribution of this file, with or without modification,
1204 are permitted in any medium without royalty provided the copyright
1205 notice and this notice are preserved.