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