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