Imported Upstream version 4.8.1
[platform/upstream/gcc48.git] / libstdc++-v3 / ChangeLog
1 2013-05-31  Release Manager
2
3         * GCC 4.8.1 released.
4
5 2013-05-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
6
7         * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
8         !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
9         calling non-existent from_time_t.
10
11 2013-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12
13         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
14         Regenerate.
15
16 2013-05-26  Jakub Jelinek  <jakub@redhat.com>
17
18         Backported from mainline
19         2013-05-24  Benjamin Kosnik  <bkoz@redhat.com>
20
21         * include/std/chrono: Wrap clocks in inline namespace _V2.
22         * src/c++11/chrono.cc: Same.
23         * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
24         file, with default configure macros selected.
25
26         * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
27         namespace.
28         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
29
30         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
31         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
32         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
33         Regenerated.
34         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
35         Regenerated.
36         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
37         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
38         Regenerated.
39         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
40         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
41         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
42         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
43         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
44         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
45         Regenerated.
46         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
47         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
48
49 2013-05-24  Jakub Jelinek  <jakub@redhat.com>
50
51         * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
52         include unistd.h and sys/syscall.h.  If _GLIBCXX_COMPATIBILITY_CXX0X,
53         don't define system_clock::is_steady, system_clock::now() and
54         steady_clock::is_steady.
55         (std::chrono::system_clock::now()): If
56         _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
57         syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
58         (std::chrono::system_clock::now()): Likewise.  Add weak attribute
59         if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
60         be non-empty.
61         * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
62         (compatibility-chrono.lo, compatibility-chrono.o): New goals.
63         * src/c++11/compatibility-chrono.cc: New file.
64         * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
65         syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
66         * testsuite/util/testsuite_abi.cc (check_version): Add
67         GLIBCXX_3.4.19 version and make it the latest.
68         * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
69         also @@GLIBCXX_3.4.19.
70         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
71         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
72         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
73         Regenerated.
74         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
75         Regenerated.
76         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
77         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
78         Regenerated.
79         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
80         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
81         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
82         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
83         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
84         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
85         Regenerated.
86         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
87         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
88         * config.h.in: Regenerated.
89         * src/Makefile.in: Regenerated.
90         * configure: Regenerated.
91
92 2013-05-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
93
94         PR libstdc++/57336
95         * include/std/functional (__invoke): Do not form function types with
96         abstract return type.
97         * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
98
99 2013-05-15  Jonathan Wakely  <jwakely.gcc@gmail.com>
100
101         * include/bits/basic_string.h (getline): Fix doxygen comments.
102
103 2013-05-14  Evgeniy Stepanov  <eugenis@google.com>
104
105         * src/c++11/system_error.cc (generic_category_instance): Add
106         initializer.
107         (system_category_instance): Likewise.
108         * src/c++11/future.cc (__fec): Likewise.
109
110 2013-05-08  Andoni Morales Alastruey <ylatuya@gmail.com>
111
112         PR libstdc++/57212
113         * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
114         to __MINGW32__.
115         * include/Makefile.in: Regenerated.
116
117 2013-04-27  François Dumont  <fdumont@gcc.gnu.org>
118
119         * include/bits/hashtable_policy.h
120         (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
121         * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
122
123 2013-04-22  Paolo Carlini  <paolo.carlini@oracle.com>
124
125         PR libstdc++/57010
126         * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
127         * testsuite/25_algorithms/pop_heap/57010.cc: New.
128
129 2013-04-09  Tom Tromey  <tromey@redhat.com>
130
131         * configure, config.h.in: Rebuild.
132         * configure.ac: Use GLIBCXX_CHECK_SDT_H.  Don't check for
133         sys/sdt.h.
134         * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
135
136 2013-04-04  Gerald Pfeifer  <gerald@pfeifer.com>
137
138         * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
139
140         * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
141         Coding Standards.
142
143         * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
144
145         * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
146
147         * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
148
149         * doc/xml/manual/messages.xml: Adjust link to Java API specs.
150
151         * doc/xml/manual/policy_data_structures: Remove direct link to
152         IBM Haifa Research Labs.
153
154         * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
155         for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
156
157         * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
158         papers.
159
160         * doc/xml/manual/shared_ptr.xml: Use canonical address for
161         www.boost.org.
162
163 2013-04-03  Paolo Carlini  <paolo.carlini@oracle.com>
164
165         PR libstdc++/56834
166         * include/debug/array (tuple_size, tuple_element): Do not declare.
167         * include/profile/array: Likewise.
168         * testsuite/23_containers/array/tuple_interface/
169         tuple_element_debug_neg.cc: Adjust dg-error line number.
170
171 2013-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
172
173         PR libstdc++/55977 (partial, std::vector and std::deque bits)
174         * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
175         _InputIterator, std::input_iterator_tag)): Use emplace_back.
176         * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
177         _InputIterator, std::input_iterator_tag)): Likewise.
178         * testsuite/23_containers/vector/cons/55977.cc: New.
179         * testsuite/23_containers/deque/cons/55977.cc: Likewise.
180         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
181         Adjust dg-error line number.
182         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
183         Likewise.
184
185 2013-03-27  Paolo Carlini  <paolo.carlini@oracle.com>
186
187         PR libstdc++/55979
188         * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
189         _InputIterator, __false_type)): Use emplace_back.
190         * testsuite/23_containers/list/cons/55979.cc: New.
191         * testsuite/23_containers/list/modifiers/1.h: Adjust.
192         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
193         Adjust dg-error line number.
194
195 2013-03-24  Jonathan Wakely  <jwakely.gcc@gmail.com>
196
197         PR libstdc++/56002
198         * include/std/mutex (lock_guard, unique_lock, lock): Define without
199         depending on _GLIBCXX_HAS_GTHREADS.
200         * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
201
202 2013-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
203
204         PR libstdc++/56678
205         * include/std/chrono (__is_ratio): Uglify T.
206
207 2013-03-22  Release Manager
208
209         * GCC 4.8.0 released.
210
211 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
212
213         PR libstdc++/56468
214         * libsupc++/exception_ptr.h (type_info): Declare.
215
216 2013-03-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
217
218         PR libstdc++/56492
219         * include/std/future (__future_base::_Result): Add result_type
220         typedef.
221         (__future_base::_S_allocate_result): Overload for std::allocator.
222         (__future_base::_Task_setter): Use _Result::result_type instead of
223         deducing the type from the task.
224         (__future_base::_Task_state): Store allocator to allow shared state
225         to be reset.  Replace std::function with member of target object type
226         accessed via ...
227         (__future_base::_Task_state_base): New abstract base class.
228         (__future_base::_Task_state_base::_M_run): New virtual function to
229         invoke type-erased target object.
230         (__future_base::_Task_state_base::_M_reset): New virtual function to
231         create new shared_state using same target object and allocator.
232         (__future_base::__create_task_state): Allocate a new _Task_state.
233         (packaged_task::packaged_task): Use __create_task_state.
234         (packaged_task::reset): Use _Task_state_base::_M_reset.
235         * testsuite/30_threads/packaged_task/cons/56492.cc: New.
236
237 2013-03-15  Tom Tromey  <tromey@redhat.com>
238
239         * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
240         (PROBE2): New macro.
241         * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
242         * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
243         * configure.ac: Check for sys/sdt.h.
244         * configure, config.h.in: Rebuild.
245
246 2013-03-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
247
248         PR libstdc++/56613
249         * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
250         allocator_traits instead of calling construct directly.
251         * testsuite/23_containers/map/56613.cc: New.
252
253 2013-03-13  Benjamin Kosnik  <bkoz@redhat.com>
254
255         * doc/html/*: Regenerate.
256
257 2013-03-13  Paolo Carlini  <paolo.carlini@oracle.com>
258
259         PR libstdc++/56609
260         * include/std/type_traits (is_fundamental): Add std::nullptr_t.
261         * testsuite/20_util/is_fundamental/value.cc: Extend.
262         * testsuite/20_util/is_compound/value.cc: Likewise.
263
264 2013-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
265
266         * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
267         -Wunused warnings.
268
269 2013-03-08  Benjamin Kosnik  <bkoz@redhat.com>
270
271         * include/bits/memoryfwd.h: New. Centralize forward declarations.
272         * include/bits/algorithmfwd.h: Consistent comments.
273         * include/bits/localefwd.h: Same.
274         * include/ext/vstring_fwd.h: Same.
275         * include/parallel/algorithmfwd.h: Same.
276         * include/parallel/numericfwd.h: Same.
277         * include/std/iosfwd: Same.
278
279         * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
280         forward decl.
281         * include/ext/alloc_traits.h: Remove allocator forward decl.
282         * include/bits/stl_construct.h: Same.
283         * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
284         forward decl. Consistent comments.
285
286         * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
287
288         * include/Makefile.am (bits_headers): Add memoryfwd.h.
289         * include/Makefile.in: Regenerate.
290         * configure: Same.
291
292 2013-03-08  François Dumont  <fdumont@gcc.gnu.org>
293
294         * include/bits/vector.tcc (vector<>operator=(const vector<>&):
295         Reset pointers after deallocation when memory can be reused.
296         * testsuite/23_containers/vector/allocator/minimal.cc: Insert
297         elements to really challenge C++11 allocator integration.
298         * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
299         * testsuite/23_containers/vector/allocator/copy_assign.cc:
300         Likewise.
301         * testsuite/23_containers/vector/allocator/move_assign.cc:
302         Likewise.
303         * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
304         swap vector back before checks on memory/personality mapping are
305         performed.
306         * testsuite/23_containers/forward_list/allocator/minimal.cc:
307         Insert element to really challenge C++11 allocator integration.
308         * testsuite/23_containers/forward_list/allocator/copy.cc:
309         Likewise.
310         * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
311         Likewise.
312         * testsuite/23_containers/forward_list/allocator/move_assign.cc:
313         Likewise.
314         * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
315         and swap forward_list back before checks on memory/personality
316         mapping are performed.
317
318 2013-03-07  Jakub Jelinek  <jakub@redhat.com>
319
320         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
321         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
322         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
323         Likewise.
324         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
325         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
326         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
327         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
328         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
329         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
330
331 2013-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
332
333         * scripts/extract_symvers.pl: Omit symbols bound to base
334         versions.
335         * scripts/extract_symvers.in: Likewise.
336         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
337         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
338         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
339         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
340         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
341
342 2013-03-04  Ulrich Drepper  <drepper@gmail.com>
343
344         * include/ext/random (__gnu_cxx::von_mises_distribution<>):
345         Optimize generation function by pulling computation of __r into the
346         constructor for param_type.  Also compare _M_mu in operator==.
347         Fix comment.
348
349 2013-03-02  Ulrich Drepper  <drepper@gmail.com>
350
351         Add triangular and von Mises distributions.
352         * include/ext/random: Include <ext/cmath>.
353         Add __gnu_cxx::triangular_distribution<> and
354         __gnu_cxx::von_mises_distribution<> classes.
355         * include/ext/random.tcc: Add out-of-line functions for
356         __gnu_cxx::triangular_distribution<> and
357         __gnu_cxx::von_mises_distribution<>.
358         * testsuite/ext/triangular_distribution/cons/default.cc: New file.
359         * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
360         * testsuite/ext/triangular_distribution/operators/serialize.cc:
361         New file.
362         * testsuite/ext/triangular_distribution/operators/equal.cc:
363         New file.
364         * testsuite/ext/triangular_distribution/operators/inequal.cc:
365         New file.
366         * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
367         New file.
368         * testsuite/ext/triangular_distribution/requirements/
369         explicit_instantiation/1.cc: New file.
370         * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
371         * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
372         * testsuite/ext/von_mises_distribution/operators/serialize.cc:
373         New file.
374         * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
375         * testsuite/ext/von_mises_distribution/operators/inequal.cc:
376         New file.
377         * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
378         New file.
379         * testsuite/ext/von_mises_distribution/requirements/
380         explicit_instantiation/1.cc: New file.
381
382         Add math constants.
383         * include/Makefile.am (ext_headers): Add cmath.
384         * include/Makefile.in: Regenerated.
385         * include/ext/cmath: New file.
386
387 2013-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
388
389         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
390         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
391         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
392         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
393         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
394
395 2013-02-26  Jonathan Wakely  <jwakely.gcc@gmail.com>
396
397         PR libstdc++/56012
398         * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
399         * testsuite/29_atomics/atomic/operators/56012.cc: New.
400
401         PR libstdc++/56011
402         * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
403         missing overload.
404         * testsuite/29_atomics/atomic/operators/56011.cc: New.
405
406 2013-02-25  Jason Merrill  <jason@redhat.com>
407
408         * configure.ac: Check for __cxa_thread_atexit_impl.
409         * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
410         to it if available.
411         * config.h.in, configure: Regenerate.
412
413 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
414
415         * include/std/streambuf (basic_streambuf): Use injected class name
416         instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
417         group.
418
419 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
420
421         * doc/html/faq.html: Fix spelling.
422         * doc/xml/faq.xml: Likewise.
423         * include/bits/basic_ios.h: Likewise.
424         * include/bits/regex.h: Likewise.
425         * include/std/istream: Likewise.
426         * include/std/streambuf: Likewise.
427
428 2013-02-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
429
430         * testsuite/23_containers/unordered_set/55043.cc: Add missing
431         namespace qualification.
432         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
433
434 2013-02-19  Benjamin Kosnik  <bkoz@redhat.com>
435
436         * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
437         _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
438         AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
439         * include/bits/stl_pair.h: Add to utilities group.
440         * include/std/tuple: Same.
441         * include/std/typeindex: Same.
442
443         * include/bits/stringfwd.h: Fix markup.
444         * include/std/limits: Same.
445         * include/std/type_traits: Same.
446         * include/tr1/memory: Same.
447         * include/tr1/regex: Same.
448         * scripts/run_doxygen: Comment.
449         * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
450
451 2013-02-14  Jason Merrill  <jason@redhat.com>
452
453         * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
454         test if unsupported.
455
456 2013-02-13  Marc Glisse  <marc.glisse@inria.fr>
457
458         PR libstdc++/56111
459         * include/std/complex (complex): Undefine.
460         * include/c_compatibility/complex.h (complex): Only undefine if
461         <complex> has been included.
462         * testsuite/26_numerics/complex/56111.cc: New testcase.
463
464 2013-02-13  François Dumont  <fdumont@gcc.gnu.org>
465
466         * include/bits/hashtable_policy.h (_Hash_code_base): Restore
467         default constructor protected.
468         * include/bits/hashtable.h: static assert that _Hash_code_base has
469         a default constructor available through inheritance.
470
471 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
472
473         * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
474         C++11 mode.
475
476 2013-02-12  Julian Brown  <julian@codesourcery.com>
477
478         * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
479         Don't expect dots after abbreviated weekday names for ru_RU for
480         glibc versions >= 2.17.
481         * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
482         Likewise.
483
484 2013-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
485
486         * include/bits/random.tcc (__transform): Remove.
487         (__normalize): Add.
488         (discrete_distribution<>::param_type::_M_initialize): Adjust.
489         (piecewise_constant_distribution<>::param_type::_M_initialize):
490         Likewise.
491         (piecewise_linear_distribution<>::param_type::_M_initialize):
492         Likewise.
493
494 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
495
496         * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
497         Use -fimplicit-templates.
498         * src/c++11/Makefile.in: Regenerate.
499         * src/c++11/hashtable_c++0x.cc: Remove instantiation for
500         std::lower_bound template.
501
502 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
503
504         * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
505         * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
506         in C++11 mode and if available in the underlying C library.
507         * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
508         -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
509         _GLIBCXX_HAVE_QUICK_EXIT.
510
511 2013-02-11  Benjamin Kosnik  <bkoz@redhat.com>
512
513         * doc/html/*: Regenerate.
514
515 2013-02-11  Jason Merrill  <jason@redhat.com>
516
517         * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
518         (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
519         * config.h.in, configure: Regenerate.
520         * include/c_std/cstdlib: Add atexit and at_quick_exit.
521         * include/c_global/cstdlib: Add atexit and at_quick_exit.
522         * testsuite/18_support/quick_exit/quick_exit.cc: New.
523
524 2013-02-11  Paolo Carlini  <paolo.carlini@oracle.com>
525
526         PR libstdc++/56282
527         Revert:
528         2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
529
530         PR libstdc++/56193
531         * include/bits/basic_ios.h: Replace operator void*() const
532         with explicit operator bool() const in C++11 and greater.
533         * testsuite/27_io/basic_ios/pr56193.cc: New file.
534
535 2013-02-10  François Dumont  <fdumont@gcc.gnu.org>
536             Jonathan Wakely  <jwakely.gcc@gmail.com>
537
538         * doc/xml/manual/containers.xml: Add section on unordered containers.
539         * doc/xml/manual/using.xml: Fix incomplete sentence.
540
541 2013-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
542
543         PR libstdc++/56267
544         * include/bits/hashtable.h (__cache_default): Check if hash function
545         is copy assignable.
546         * testsuite/23_containers/unordered_set/56267.cc: New.
547         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
548         dg-error line number.
549         * testsuite/23_containers/unordered_set/
550         not_default_constructible_hash_neg.cc: Likewise.
551
552         PR libstdc++/56278
553         * include/bits/hashtable_policy.h (_Hash_code_base): Make default
554         constructor public.
555         * testsuite/23_containers/unordered_set/56278.cc: New.
556
557 2013-02-09  François Dumont  <fdumont@gcc.gnu.org>
558
559         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
560         simplification.
561
562 2013-02-08  Edward Smith-Rowland  <3dw4rd@verizon.net>
563
564         PR libstdc++/56216
565         * include/tr1/special_function_util.h: Remove spurious const
566         from numeric arguments.
567         * include/tr1/riemann_zeta.tcc: Likewise.
568         * include/tr1/exp_integral.tcc: Likewise.
569         * include/tr1/bessel_function.tcc: Likewise.
570         * include/tr1/hypergeometric.tcc: Likewise.
571         * include/tr1/modified_bessel_func.tcc: Likewise.
572         * include/tr1/poly_laguerre.tcc: Likewise.
573         * include/tr1/gamma.tcc: Likewise.
574         * include/tr1/legendre_function.tcc: Likewise.
575         * include/tr1/poly_hermite.tcc: Likewise.
576         * include/tr1/ell_integral.tcc: Likewise.
577         * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
578         If argument is zero return function value.
579         * testsuite/tr1/5_numerical_facilities/special_functions/
580         08_cyl_bessel_i/pr56216.cc: New.
581
582 2013-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
583
584         * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
585
586 2013-02-06  Edward Smith-Rowland  <3dw4rd@verizon.net>
587
588         PR libstdc++/56193
589         * include/bits/basic_ios.h: Replace operator void*() const
590         with explicit operator bool() const in C++11 and greater.
591         * testsuite/27_io/basic_ios/pr56193.cc: New file.
592
593 2013-02-04  Dodji Seketeli  <dodji@redhat.com>
594
595         Add missing explicit instantiation for std::lower_bound template
596         * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
597         missing instantiation for std::lower_bound template.
598
599 2013-02-04  François Dumont  <fdumont@gcc.gnu.org>
600
601         * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
602         * include/bits/basic_string.h: Specialize previous to mark
603         std::hash for string types as slow.
604         * include/bits/hashtable.h (__cache_default): Replace is_integral
605         with __is_fast_hash.
606         * src/c++11/hash_c++0x.cc: Add type_traits include.
607         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
608         Adapt dg-error line number.
609         * testsuite/23_containers/unordered_set/
610         not_default_constructible_hash_neg.cc: Likewise.
611
612 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
613             Paolo Carlini  <paolo.carlini@oracle.com>
614
615         PR libstdc++/56202 (again)
616         * include/bits/random.tcc (binomial_distribution<>::
617         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
618         in previous commit.
619
620         * include/bits/random.h: Fix comment typo.
621
622 2013-02-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
623             Paolo Carlini  <paolo.carlini@oracle.com>
624
625         PR libstdc++/56202
626         * include/bits/random.tcc (binomial_distribution<>::
627         _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
628         division by zero.
629
630 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
631
632         Update copyright years.
633         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
634         testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
635         testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
636         testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
637         testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
638         testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
639         testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
640         testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
641         testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
642         testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
643         testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
644         testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
645         testsuite/29_atomics/atomic/cons/assign_neg.cc,
646         testsuite/29_atomics/atomic/cons/copy_neg.cc,
647         testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
648         testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
649         testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
650         testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
651         testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
652         Update lines in dg error matches.
653
654 2013-02-03  Richard Sandiford  <rdsandiford@googlemail.com>
655
656         * config/os/mingw32/ctype_inline.h: Fix copyright typo.
657
658 2013-02-01  François Dumont  <fdumont@gcc.gnu.org>
659
660         * include/bits/hashtable_policy.h
661         (_Prime_rehash_policy::_M_next_bkt)
662         (_Prime_rehash_policy::_M_need_rehash): Move definition...
663         * src/c++11/hashtable_c++0x.cc: ... here.
664         * src/shared/hashtable-aux.cc: Remove c++config.h include.
665         * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
666         symbols.
667
668 2013-01-29  Jason Merrill  <jason@redhat.com>
669
670         PR libstdc++/54314
671         * config/abi/pre/gnu.ver: Don't export construction vtables.
672         * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
673
674 2013-01-28  Jonathan Wakely  <jwakely.gcc@gmail.com>
675
676         PR libstdc++/56112
677         * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
678         to construct value_type explicitly before trying to extract the key.
679         * testsuite/23_containers/unordered_map/cons/56112.cc: New.
680
681 2013-01-28  François Dumont  <fdumont@gcc.gnu.org>
682
683         * include/bits/hashtable_policy.h (_Local_iterator_base): Use
684         _Hashtable_ebo_helper to embed functors into the local_iterator
685         when necessary. Pass information about functors involved in hash
686         code by copy.
687         * include/bits/hashtable.h (__cache_default): Do not cache for
688         builtin integral types unless the hash functor is not noexcept
689         qualified or is not default constructible. Adapt static assertions
690         and local iterator instantiations.
691         * include/debug/unordered_set
692         (std::__debug::unordered_set<>::erase): Detect local iterators to
693         invalidate using contained node rather than generating a dummy
694         local_iterator instance.
695         (std::__debug::unordered_multiset<>::erase): Likewise.
696         * include/debug/unordered_map
697         (std::__debug::unordered_map<>::erase): Likewise.
698         (std::__debug::unordered_multimap<>::erase): Likewise.
699         * testsuite/performance/23_containers/insert_erase/41975.cc: Test
700         std::tr1 and std versions of unordered_set regardless of any
701         macro. Add test on default cache behavior.
702         * testsuite/performance/23_containers/insert/54075.cc: Likewise.
703         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
704         Adapt line number.
705         * testsuite/23_containers/unordered_set/
706         not_default_constructible_hash_neg.cc: New.
707         * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
708
709 2013-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
710
711         PR libstdc++/56085
712         * include/std/complex (pow(const complex<>&, int)): Avoid __n
713         signed overflow.
714
715 2013-01-22  Jakub Jelinek  <jakub@redhat.com>
716
717         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
718         Tightten scan-assembler-times regexps, add dg-additional-options for
719         ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
720         dg-options.
721
722 2013-01-12  Andi Kleen  <ak@linux.intel.com>
723             Jonathan Wakely  <jwakely.gcc@gmail.com>
724
725         PR libstdc++/55233
726         * include/bits/atomic_base.h (__memory_order_modifier): Add
727         __memory_order_mask, __memory_order_modifier_mask,
728         __memory_order_hle_acquire, __memory_order_hle_release.
729         (operator|,operator&): Add.
730         (__cmpexch_failure_order):  Rename to __cmpexch_failure_order2.
731         (__cmpexch_failure_order): Add.
732         (clear, store, load, compare_exchange_weak, compare_exchange_strong):
733         Handle flags.
734         * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
735         Add.
736
737 2013-01-19  Jonathan Wakely  <jwakely.gcc@gmail.com>
738
739         PR libstdc++/55861
740         * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
741         Fix return type.
742         (__basic_future::_M_get_result()): Const qualify.
743         (shared_future::get()): Likewise.
744         * testsuite/30_threads/shared_future/members/get.cc: Use const
745         objects.
746
747 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
748
749         PR libstdc++/55043 (again)
750         * include/bits/alloc_traits.h (allocator_traits::construct): Disable
751         unless construction would be well-formed.
752         (__allow_copy_cons, __check_copy_constructible): Define.
753         * include/bits/unordered_map.h (__check_copy_constructible): Use as
754         base class so copy constructor will be deleted if appropriate.
755         (is_copy_constructible): Remove specialization.
756         * include/bits/unordered_set.h: Likewise.
757         * include/debug/unordered_map.h: Undo previous commit. Default copy
758         and move constructors.
759         * include/debug/unordered_set.h: Likewise.
760         * include/profile/unordered_map.h: Undo previous commit.
761         * include/profile/unordered_set.h: Likewise.
762         * testsuite/23_containers/unordered_map/55043.cc: Fix test.
763         * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
764         * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
765         * testsuite/23_containers/unordered_set/55043.cc: Likewise.
766         * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
767         cannot support incomplete types.
768         * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
769         Likewise.
770
771 2013-01-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
772
773         PR libstdc++/55043
774         * include/std/unordered_map: Include alloc_traits.h
775         * include/std/unordered_set: Likewise.
776         * include/bits/alloc_traits.h: Define __is_copy_insertable.
777         * include/bits/unordered_map.h: Use it.
778         * include/bits/unordered_set.h: Likewise.
779         * include/debug/unordered_map.h: Likewise.
780         * include/debug/unordered_set.h: Likewise.
781         * include/profile/unordered_map.h: Likewise.
782         * include/profile/unordered_set.h: Likewise.
783         * include/bits/hashtable.h: Fix comment typos.
784         * testsuite/23_containers/unordered_map/55043.cc: New.
785         * testsuite/23_containers/unordered_multimap/55043.cc: New.
786         * testsuite/23_containers/unordered_multiset/55043.cc: New.
787         * testsuite/23_containers/unordered_set/55043.cc: New.
788
789 2013-01-03  Janis Johnson  <janisjo@codesourcery.com>
790
791         * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
792         gdb command.
793
794 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
795
796         * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
797
798 2013-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
799
800         PR libstdc++/55908
801         * include/std/functional (_Mem_fn::operator()): Fix constraints to
802         avoid ambiguity.
803         * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
804         * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
805
806 2013-01-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
807
808         PR libstdc++/55594
809         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
810         Solaris targets.
811         * configure: Regenerate.
812
813 2013-01-07  Jonathan Wakely  <jwakely.gcc@gmail.com>
814
815         PR libstdc++/55847
816         * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
817         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
818         string.
819
820         PR libstdc++/55728
821         * include/std/functional (bad_function_call::what()): Declare.
822         * src/c++11/functional.cc (bad_function_call::what()): Define.
823         * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
824         * testsuite/20_util/bad_function_call/what.cc: New.
825
826 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
827
828         * include/bits/unordered_map.h: Fix typo in comments.
829         * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
830         counts for unordered associative containers.
831
832 2013-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
833
834         * doc/xml/manual/abi.xml: Update library and symbol versions.
835
836 2013-01-06  Richard Sandiford  <rdsandiford@googlemail.com>
837
838         * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
839         in copyright years.
840         * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
841
842 \f
843 Copyright (C) 2013 Free Software Foundation, Inc.
844
845 Copying and distribution of this file, with or without modification,
846 are permitted in any medium without royalty provided the copyright
847 notice and this notice are preserved.