Support unsigned __int20 in checks for size_t mangling
[gcc.git] / libstdc++-v3 / ChangeLog
1 2017-01-20 Joe Seymour <joe.s@somniumtech.com>
2
3 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
4 * configure: Regenerate.
5
6 2017-01-20 Jonathan Wakely <jwakely@redhat.com>
7
8 PR libstdc++/69240
9 * include/bits/random.h (uniform_real_distribution::param_type)
10 (normal_distribution::param_type, lognormal_distribution::param_type)
11 (gamma_distribution::param_type, chi_squared_distribution::param_type)
12 (cauchy_distribution::param_type, fisher_f_distribution::param_type)
13 (student_t_distribution::param_type)
14 (bernoulli_distribution::param_type, binomial_distribution::param_type)
15 (geometric_distribution::param_type)
16 (negative_binomial_distribution::param_type)
17 (poisson_distribution::param_type)
18 (exponential_distribution::param_type)
19 (weibull_distribution::param_type)
20 (extreme_value_distribution::param_type)
21 (discrete_distribution::param_type)
22 (piecewise_constant_distribution::param_type)
23 (piecewise_linear_distribution::param_type): Define operator!=.
24 * include/bits/uniform_int_dist.h
25 (uniform_int_distribution::param_type): Likewise.
26 * include/ext/random (beta_distribution::param_type)
27 (rice_distribution::param_type, nakagami_distribution::param_type)
28 (pareto_distribution::param_type, k_distribution::param_type)
29 (arcsine_distribution::param_type, hoyt_distribution::param_type)
30 (triangular_distribution::param_type)
31 (von_mises_distribution::param_type)
32 (hypergeometric_distribution::param_type)
33 (logistic_distribution::param_type)
34 (uniform_on_sphere_distribution::param_type)
35 (uniform_inside_sphere_distribution::param_type): Likewise.
36 * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
37 Test construction with param_type.
38 * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
39 Likewise.
40 * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
41 Likewise.
42 * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
43 Likewise.
44 * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
45 Likewise.
46 * testsuite/26_numerics/random/extreme_value_distribution/cons/
47 parms.cc: Likewise.
48 * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
49 Likewise.
50 * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
51 Likewise.
52 * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
53 Likewise.
54 * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
55 Likewise.
56 * testsuite/26_numerics/random/negative_binomial_distribution/cons/
57 parms.cc: Likewise.
58 * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
59 Likewise.
60 * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
61 Likewise.
62 * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
63 Likewise.
64 * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
65 Likewise.
66 * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
67 Likewise.
68 * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
69 Likewise.
70 * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
71 * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
72 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
73 * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
74 Likewise.
75 * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
76 * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
77 * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
78 * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
79 * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
80 * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
81 * testsuite/ext/random/triangular_distribution/cons/parms.cc:
82 Likewise.
83 * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
84 parms.cc: Likewise.
85 * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
86
87 PR libstdc++/72792
88 * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
89 (__allocator_traits_base::__size_type): Remove.
90 (allocator_traits::_Ptr): New class template to detect const and void
91 pointer types without instantiating pointer_traits::rebind
92 unnecessarily.
93 (allocator_traits::_Diff): Likewise for detecting difference_type.
94 (allocator_traits::_Size): New class template to detect size_type
95 without instantiating make_unsigned unnecessarily.
96 * include/bits/ptr_traits.h (pointer_traits::element_type): Use
97 __detected_or_t instead of __detected_or_t_.
98 * include/std/type_traits (__detected_or_t_): Remove.
99 * testsuite/20_util/allocator_traits/members/pointers.cc: New test.
100
101 PR libstdc++/72792
102 PR libstdc++/72793
103 * include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
104 Replace with class template using void_t.
105 (__alloc_rebind): Define in terms of
106 __allocator_traits_base::__rebind.
107 (allocator_traits): Remove unconditional static_assert for
108 rebind_alloc.
109 * include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
110 (pointer_traits::__rebind): Replace with class template using void_t.
111 (pointer_traits::rebind): Define in terms of __rebind.
112 (pointer_traits): Remove unconditional static_assert for rebind.
113 * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
114 * testsuite/20_util/pointer_traits/rebind.cc: New test.
115
116 PR libstdc++/69321
117 * include/experimental/any (__any_caster): Avoid instantiating
118 manager function for types that can't be stored in any.
119 * include/std/any (__any_caster): Likewise.
120 * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
121 * testsuite/experimental/any/misc/any_cast.cc: Likewise.
122
123 PR libstdc++/64903
124 * include/bits/stl_algo.h (is_partitioned): Use increment instead of
125 std::advance.
126
127 2017-01-19 Jonathan Wakely <jwakely@redhat.com>
128
129 PR libstdc++/79156
130 * include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
131 Fix return type.
132 (__enable_shared_from_this): Declare __shared_ptr as a friend.
133 * testsuite/ext/shared_ptr/1.cc: New test.
134
135 PR libstdc++/64903
136 * include/bits/stl_algo.h (is_partitioned): Don't retest the partition
137 point.
138 * testsuite/25_algorithms/is_partitioned/2.cc: New test.
139
140 * doc/xml/manual/abi.xml: Fix typo.
141 * doc/html/manual/abi.html: Likewise.
142
143 PR libstdc++/67085
144 * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
145 converting constructors from _Iter_less_iter.
146 (_Iter_comp_val, _Val_comp_iter): Add converting constructors from
147 _Iter_comp_iter.
148 (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
149 (__val_comp_iter(_Iter_comp_iter<C>): Likewise.
150 * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
151 (__make_heap, __sort_heap): Change _Compare parameters to references.
152 (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
153 (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
154 functions as lvalues.
155 (is_heap): Call __is_heap_until directly to avoid copying __comp.
156 * testsuite/23_containers/priority_queue/67085.cc: Adjust test to
157 count copies during construction with empty sequence.
158
159 PR libstdc++/67085
160 * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
161 (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
162 * testsuite/23_containers/priority_queue/67085.cc: Adjust expected
163 number of copies.
164 * testsuite/25_algorithms/make_heap/movable.cc: New test.
165
166 PR libstdc++/67085
167 * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
168 (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
169 _GLIBCXX_MOVE when passing comparison function to other functions.
170 (is_heap_until, is_heap): Use std::move when passing comparison
171 function.
172 * testsuite/23_containers/priority_queue/67085.cc: New test.
173
174 PR libstdc++/78905
175 * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
176 macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
177 Document that the deprecated _GLIBCXX_VERSION macro was removed for
178 the 4.0.0 release.
179 * doc/html/*: Regenerate.
180 * include/Makefile.am (_GLIBCXX_RELEASE): Set value.
181 * include/Makefile.in: Regenerate.
182 * include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
183 * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
184 dg-error.
185
186 2017-01-18 Jonathan Wakely <jwakely@redhat.com>
187
188 PR libstdc++/69301
189 * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
190 aligned buffer instead of default-initialized variable.
191 * testsuite/29_atomics/atomic/69301.cc: New test.
192 * include/experimental/memory (observer_ptr::release): Use reserved
193 name.
194 * include/ext/pointer.h (_Pointer_adapter::operator++(int))
195 (_Pointer_adapter::operator--(int)): Likewise.
196
197 PR libstdc++/68925
198 * include/experimental/random (randint): Use temporary instead of
199 thread_local static.
200
201 2017-01-17 Joshua Conner <joshconner@google.com>
202
203 * crossconfig.m4: Add fuchsia OS.
204 * configure: Regenerate.
205
206 2017-01-17 Jonathan Wakely <jwakely@redhat.com>
207
208 PR libstdc++/69699
209 * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
210 __GLIBCXX__ macro is not useful. Remove redundant date information
211 and link to the GCC release timeline.
212 (abi.versioning.active): Move partial sentence into the previous
213 paragraph.
214 * doc/html/*: Regenerate.
215
216 PR libstdc++/79114
217 * libsupc++/nested_exception.h (throw_with_nested): Use decay instead
218 of remove_reference.
219 * testsuite/18_support/nested_exception/79114.cc: New test.
220
221 2017-01-17 Jakub Jelinek <jakub@redhat.com>
222
223 PR other/79046
224 * configure.ac: Add GCC_BASE_VER.
225 * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
226 get version from BASE-VER file.
227 * po/Makefile.in: Regenerated.
228 * libsupc++/Makefile.in: Regenerated.
229 * testsuite/Makefile.in: Regenerated.
230 * src/Makefile.in: Regenerated.
231 * configure: Regenerated.
232 * Makefile.in: Regenerated.
233 * include/Makefile.in: Regenerated.
234 * doc/Makefile.in: Regenerated.
235 * python/Makefile.in: Regenerated.
236 * src/c++11/Makefile.in: Regenerated.
237 * src/c++98/Makefile.in: Regenerated.
238 * src/filesystem/Makefile.in: Regenerated.
239
240 2017-01-16 Jonathan Wakely <jwakely@redhat.com>
241
242 PR libstdc++/66145
243 * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
244 exceptions.
245 * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
246 for test, so new ios::failure can be caught.
247 * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
248 * testsuite/27_io/basic_istream/extractors_arithmetic/char/
249 exceptions_failbit.cc: Likewise.
250 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
251 exceptions_failbit.cc: Likewise.
252 * testsuite/27_io/basic_istream/extractors_other/char/
253 exceptions_null.cc: Likewise.
254 * testsuite/27_io/basic_istream/extractors_other/wchar_t/
255 exceptions_null.cc: Likewise.
256 * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
257 * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
258 * testsuite/27_io/basic_ostream/inserters_other/char/
259 exceptions_null.cc: Likewise.
260 * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
261 exceptions_null.cc: Likewise.
262 * testsuite/27_io/ios_base/storage/2.cc: Likewise.
263
264 PR libstdc++/78702
265 * include/bits/locale_classes.h (locale::facet::__shim): Change from
266 private to protected.
267 * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
268 make locale::facet::__shim accessible.
269
270 2017-01-16 Ville Voutilainen <ville.voutilainen@gmail.com>
271
272 PR libstdc++/78389
273 * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
274 (merge(list&&, _StrictWeakOrdering)): Likewise.
275 * testsuite/23_containers/list/operations/78389.cc: Add
276 better test for the sizes.
277
278 2017-01-14 Jonathan Wakely <jwakely@redhat.com>
279
280 * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
281 Skip test when -D_GLIBCXX_PROFILE mode is included in options.
282 * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
283 * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
284 Likewise.
285 * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
286 * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
287 * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
288 * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
289 * testsuite/23_containers/unordered_map/modifiers/extract.cc:
290 Likewise.
291 * testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
292 Likewise.
293 * testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
294 Likewise.
295 * testsuite/23_containers/unordered_set/modifiers/extract.cc:
296 Likewise.
297 * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
298 Likewise.
299 * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
300 * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
301 * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
302 * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
303 * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
304 * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
305 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
306 * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
307 * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
308 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
309 * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
310 * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
311 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
312
313 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
314
315 PR libstdc++/65411
316 * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
317 retry fclose on EINTR.
318
319 * include/profile/base.h: Remove unused header that leads to header
320 cycle in C++17 mode.
321
322 PR libstdc++/79075
323 * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
324 Make _If_sv private.
325 [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
326 basic_string_view arguments.
327
328 PR libstdc++/79075
329 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
330 redundant option from cxxflags.
331 (check_effective_target_cxx11-abi): Define.
332 * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
333 effective target.
334 * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
335 * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
336 Likewise.
337 * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
338 Likewise.
339 * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
340 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
341 Likewise.
342 * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
343 Likewise.
344 * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
345 * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
346 Likewise.
347 * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
348 Likewise.
349 * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
350 Likewise.
351 * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
352 Likewise.
353 * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
354 Likewise.
355 * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
356 Likewise.
357 * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
358 Likewise.
359 * testsuite/23_containers/list/61347.cc: Likewise.
360 * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
361 * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
362
363 2017-01-13 Ville Voutilainen <ville.voutilainen@gmail.com>
364
365 PR libstdc++/78389
366 * include/bits/list.tcc (merge(list&&)):
367 Adjust list sizes if the comparator throws.
368 (merge(list&&, _StrictWeakOrdering)): Likewise.
369 (sort()): Splice elements back from the scratch buffers
370 if the comparator throws.
371 (sort(_StrictWeakOrdering)): Likewise.
372 * testsuite/23_containers/list/operations/78389.cc: New.
373
374 2017-01-13 Jonathan Wakely <jwakely@redhat.com>
375
376 * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
377 XFAIL for C++17 until node reinsertion supports fancy pointers.
378
379 PR libstdc++/78361
380 * testsuite/20_util/add_pointer/value.cc: Test forming function
381 pointers.
382
383 2017-01-13 Michael Brune <lucdanton@free.fr>
384
385 PR libstdc++/78361
386 * include/std/type_traits (__is_referenceable): Handle noexcept
387 function types.
388
389 2017-01-12 Jonathan Wakely <jwakely@redhat.com>
390
391 PR libstdc++/77528
392 * include/bits/stl_queue.h (queue, priority_queue): Remove default
393 member-initializers and define default constructors as templates with
394 constraints.
395 * include/bits/stl_stack.h (stack): Likewise.
396 * testsuite/23_containers/priority_queue/requirements/constructible.cc:
397 New.
398 * testsuite/23_containers/priority_queue/requirements/
399 explicit_instantiation/1.cc: Test more instantiations.
400 * testsuite/23_containers/priority_queue/requirements/
401 explicit_instantiation/1_c++98.cc: Likewise.
402 * testsuite/23_containers/queue/requirements/constructible.cc: New.
403 * testsuite/23_containers/stack/requirements/constructible.cc: New.
404
405 PR libstdc++/66284
406 * doc/xml/manual/intro.xml: Document LWG 2781 change.
407 * doc/html/*: Regenerate.
408 * include/std/functional (_Function_base::_Ref_manager): Remove.
409 (_Function_handler): Remove partial specializations for
410 reference_wrapper.
411 (function::target): Remove special case for const qualification.
412 * testsuite/20_util/function/6.cc: Adjust tests for target type.
413 * testsuite/20_util/function/7.cc: Likewise.
414 * testsuite/20_util/function/8.cc: Likewise.
415
416 2017-01-11 Jonathan Wakely <jwakely@redhat.com>
417
418 PR libstdc++/78134
419 * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
420 (map::equal_range): Fix return type of heterogeneous overloads.
421 * include/bits/stl_multimap.h (multimap::lower_bound)
422 (multimap::upper_bound, multimap::equal_range): Likewise.
423 * include/bits/stl_multiset.h (multiset::lower_bound)
424 (multiset::upper_bound, multiset::equal_range): Likewise.
425 * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
426 (set::equal_range): Likewise.
427 * testsuite/23_containers/map/operations/2.cc
428 * testsuite/23_containers/multimap/operations/2.cc
429 * testsuite/23_containers/multiset/operations/2.cc
430 * testsuite/23_containers/set/operations/2.cc
431
432 PR libstdc++/78273
433 * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
434 the heterogeneous comparison can only find one match.
435 * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
436 * testsuite/23_containers/map/operations/2.cc: Test count works with
437 comparison function that just partitions rather than sorting.
438 * testsuite/23_containers/set/operations/2.cc: Likewise.
439
440 2017-01-11 Ville Voutilainen <ville.voutilainen@gmail.com>
441
442 Reduce the size of variant, it doesn't need an index of
443 type size_t internally.
444 * include/std/variant (parse_numbers.h): New include.
445 (__select_index): New.
446 (_Variant_storage<false, _Types...>::_M_reset_impl): Use
447 _index_type for comparison with variant_npos.
448 (_Variant_storage<false, _Types...>::__index_type): New.
449 (_Variant_storage<false, _Types...>::_M_index): Change the
450 type from size_t to __index_type.
451 (_Variant_storage<true, _Types...>::__index_type): New.
452 (_Variant_storage<true, _Types...>::_M_index): Change the
453 type from size_t to __index_type.
454 (_Variant_base::_M_valid): Use _Storage::__index_type
455 for comparison with variant_npos.
456 (variant::index): Use _Base::_Storage::__index_type
457 for comparison with variant_npos.
458 * testsuite/20_util/variant/index_type.cc: New.
459
460 2017-01-10 Jonathan Wakely <jwakely@redhat.com>
461
462 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
463 effective target selector to prevent running in C++17 mode.
464
465 PR libstdc++/77528
466 * include/bits/stl_queue.h (queue::c): Add default member initializer.
467 (queue::queue()): Add constructor and define as defaulted.
468 (queue::queue(_Sequence&&)): Remove default argument.
469 (priority_queue::c, priority_queue::comp): Add default member
470 initializers.
471 (priority_queue::priority_queue()): Add constructor and define as
472 defaulted.
473 (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
474 Remove default argument for first parameter.
475 * include/bits/stl_stack.h (stack::c): Add default member initializer.
476 (stack::stack()): Add constructor and define as defaulted.
477 (stack::stack(const _Sequence&)): Remove default argument.
478 * testsuite/23_containers/priority_queue/requirements/
479 explicit_instantiation/1.cc: Test explicit instantiation with
480 non-DefaultConstructible sequence.
481 * testsuite/23_containers/priority_queue/77528.cc: New test.
482 * testsuite/23_containers/priority_queue/requirements/
483 explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
484 * testsuite/23_containers/queue/77528.cc: New test.
485 * testsuite/23_containers/queue/requirements/explicit_instantiation/
486 1.cc: Test explicit instantiation with non-DefaultConstructible
487 sequence.
488 * testsuite/23_containers/queue/requirements/explicit_instantiation/
489 1_c++0x.cc: Replace with 1_c++98.cc.
490 * testsuite/23_containers/stack/77528.cc: New test.
491 * testsuite/23_containers/stack/requirements/explicit_instantiation/
492 1.cc: Test explicit instantiation with non-DefaultConstructible
493 sequence.
494 * testsuite/23_containers/stack/requirements/explicit_instantiation/
495 1_c++0x.cc: Replace with 1_c++98.cc.
496
497 2017-01-10 Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
498
499 * include/bits/locale_facets_nonio.tcc
500 (time_get::_M_extract_via_format): Avoid compilation errors with
501 non-standard struct tm.
502
503 2017-01-10 François Dumont <fdumont@gcc.gnu.org>
504 Jonathan Wakely <jwakely@redhat.com>
505
506 * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
507 (is_specialization, strip_versioned_namespace): New helpers functions
508 to work with symbols in the versioned namespace.
509 (Printer.add_version): Add second name using versioned namespace.
510 (add_one_template_type_printer, add_one_type_printer): Add second
511 type printers using versioned namespace.
512 (register_type_printers): Add template type printer for basic_string.
513 (build_libstdcxx_dictionary): Remove dead code.
514 * python/libstdcxx/v6/xmethods.py: Make all matchers look for
515 versioned namespace.
516 * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
517 results.
518 * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
519
520 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
521
522 PR libstdc++/79017
523 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
524 functions separately on darwin and if they're missing define
525 _GLIBCXX_NO_C99_ROUNDING_FUNCS.
526 * config.h.in: Regenerate.
527 * configure: Regenerate.
528 * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
529 (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
530
531 * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
532 to detect correct thread_local destructors.
533 * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
534 Define.
535
536 2017-01-09 Jonathan Wakely <jwakely@redhat.com>
537 Aditya Kumar <hiraditya@msn.com>
538
539 PR libstdc++/66414
540 * include/bits/basic_string.tcc
541 (basic_string::find(const CharT*, size_type, size_type)): Optimize.
542
543 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
544
545 * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
546 * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
547
548 * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
549 Include <cassert> header.
550
551 PR libstdc++/78968
552 * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
553 * configure: Regenerate.
554
555 2017-01-06 Barrett Adair <barrettellisadair@gmail.com>
556 Jonathan Wakely <jwakely@redhat.com>
557
558 * include/std/variant (variant, swap): Replace __and_ usage with fold
559 expressions.
560
561 2017-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
562
563 PR go/78978
564 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
565 * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
566 GLIBCXX_CHECK_ASSEMBLER_HWCAP.
567 * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
568 HWCAP_FLAGS.
569 * aclocal.m4: Regenerate.
570 * configure: Regenerate.
571 * Makefile.in, doc/Makefile.in, include/Makefile.in,
572 libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
573 src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
574 src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
575
576 2017-01-06 Jonathan Wakely <jwakely@redhat.com>
577
578 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
579
580 PR libstdc++/78991
581 * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
582 (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
583 (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
584 move function objects.
585 (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
586 (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
587 * testsuite/25_algorithms/sort/78991.cc: New test.
588
589 2017-01-05 Jonathan Wakely <jwakely@redhat.com>
590
591 * include/bits/std_function.h (function::_Signature_type): Remove.
592 (function::function(_Functor)): Adjust.
593
594 2017-01-05 Tim Shen <timshen@google.com>
595
596 PR libstdc++/78996
597 * include/std/variant (__gen_vtable_impl): rename __unused to
598 __dimensions to avoid naming conflict.
599
600 2017-01-04 Jonathan Wakely <jwakely@redhat.com>
601
602 PR libstdc++/78968
603 * config.h.in: Regenerate.
604 * configure: Likewise.
605 * configure.ac: Check for __cxa_thread_atexit.
606 * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
607 Don't define __cxa_thread_atexit if libc provides it.
608
609 2017-01-04 Ville Voutilainen <ville.voutilainen@gmail.com>
610
611 Implement 2801, Default-constructibility of unique_ptr.
612 * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
613 (unique_ptr::_DeleterConstraint): Likewise.
614 (unique_ptr()): Constrain.
615 (unique_ptr(pointer)): Likewise.
616 (unique_ptr(nullptr_t)): Likewise.
617 (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
618 (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
619 (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
620 (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
621 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
622 * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
623 * testsuite/20_util/unique_ptr/cons/default.cc: New.
624 * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
625
626 2017-01-04 Pauli Nieminen <suokkos@gmail.com>
627 Jonathan Wakely <jwakely@redhat.com>
628
629 PR libstdc++/64735
630 * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
631 * config.h.in: Regenerate.
632 * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
633 (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
634 exports for exception_ptr, nested_exception, and future conditional.
635 [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
636 exports for exception_ptr, nested_exception, and future conditional.
637 * configure: Regenerate.
638 * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
639 * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
640 * libsupc++/eh_atomics.h: New file for internal use only.
641 (__eh_atomic_inc, __eh_atomic_dec): New.
642 * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
643 (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
644 (rethrow_exception): Use eh_atomics.h reference counting helpers.
645 * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
646 * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
647 * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
648 * libsupc++/exception_ptr.h: Likewise.
649 * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
650 * libsupc++/nested_exception.cc: Remove check for
651 ATOMIC_INT_LOCK_FREE.
652 * libsupc++/nested_exception.h: Likewise.
653 * src/c++11/future.cc: Likewise.
654 * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
655 * testsuite/18_support/nested_exception/*: Likewise.
656 * testsuite/30_threads/async/*: Likewise.
657 * testsuite/30_threads/future/*: Likewise.
658 * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
659 * testsuite/30_threads/packaged_task/*: Likewise.
660 * testsuite/30_threads/promise/*: Likewise.
661 * testsuite/30_threads/shared_future/*: Likewise.
662
663 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
664
665 * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
666 defaults to https; adjust reference.
667
668 2017-01-03 Jonathan Wakely <jwakely@redhat.com>
669
670 PR libstdc++/78956
671 * include/std/thread (thread(const thread&&)): Add deleted
672 constructor.
673 * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
674
675 * doc/xml/manual/spine.xml: Update copyright years.
676 * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
677 * doc/xml/manual/test.xml: Likewise.
678 * doc/html/*: Regenerate.
679
680 2017-01-01 Gerald Pfeifer <gerald@pfeifer.com>
681
682 * doc/xml/faq.xml: Update address of C++ ABI link.
683 * doc/xml/manual/abi.xml: Ditto.
684
685 2017-01-01 Jakub Jelinek <jakub@redhat.com>
686
687 Update copyright years.
688 \f
689 Copyright (C) 2017 Free Software Foundation, Inc.
690
691 Copying and distribution of this file, with or without modification,
692 are permitted in any medium without royalty provided the copyright
693 notice and this notice are preserved.