Wunused-var-15.c: Add -fno-common additional option on hppa*-*-hpux*.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob0d6f5d018a3da3a87871a042e2e7008c59867b95
1 2017-02-03  Jonathan Wakely  <jwakely@redhat.com>
3         PR libstdc++/66145
4         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Restore ABI override
5         so new ios::failure can be caught even when old ABI is the default.
6         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
7         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
8         exceptions_failbit.cc: Likewise.
9         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
10         exceptions_failbit.cc: Likewise.
11         * testsuite/27_io/basic_istream/extractors_other/char/
12         exceptions_null.cc: Likewise.
13         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
14         exceptions_null.cc: Likewise.
15         * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
16         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
17         * testsuite/27_io/basic_ostream/inserters_other/char/
18         exceptions_null.cc: Likewise.
19         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
20         exceptions_null.cc: Likewise.
21         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
23         PR libstdc++/60936
24         * src/c++11/Makefile.am: Add new files.
25         * src/c++11/Makefile.in: Regenerate.
26         * src/c++11/cow-string-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
27         (operator<<, operator>>, getline): Move explicit instantiations to ...
28         * src/c++11/cow-string-io-inst.cc: ... new file.
29         * src/c++11/cow-wstring-inst.cc [!_GLIBCXX_USE_CXX11_ABI]
30         (operator<<, operator>>, getline): Move explicit instantiations to ...
31         * src/c++11/cow-wstring-io-inst.cc: ... new file.
32         * src/c++11/functexcept.cc (__throw_ios_failure, __throw_system_error)
33         (__throw_future_error, __throw_bad_function_call):
34         (__throw_regex_error): Move functions for C++11 exceptions to the
35         files that define the exception types.
36         * src/c++11/functional.cc (__throw_bad_function_call): Move here.
37         * src/c++11/future.cc (__throw_future_error): Likewise.
38         * src/c++11/ios.cc (__throw_ios_failure): Likewise.
39         * src/c++11/regex.cc (__throw_regex_error): Likewise.
40         * src/c++11/snprintf_lite.cc (__concat_size_t): Print decimal
41         representation directly instead of calling __int_to_char.
42         * src/c++11/sso_string.cc (__sso_string): New file for definition
43         of __sso_string type.
44         * src/c++11/string-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
45         explicit instantiations of narrow string I/O functions.
46         * src/c++11/system_error.cc (__throw_system_error): Move here.
47         (__sso_string): Move to new file.
48         * src/c++11/wstring-io-inst.cc [_GLIBCXX_USE_CXX11_ABI]: New file for
49         explicit instantiations of wide string I/O functions.
50         * src/c++98/misc-inst.cc [_GLIBCXX_USE_CXX11_ABI] (operator<<)
51         (operator>>, getline): Remove explicit instantiations from here.
53 2017-02-02  H.J. Lu  <hongjiu.lu@intel.com>
55         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
57 2017-02-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
59         * configure.host: Separate Solaris/SPARC and x86 baselines.
60         * config/abi/post/solaris2.10/baseline_symbols.txt: Move ...
61         * config/abi/post/sparc-solaris2.10/baseline_symbols.txt: ... here.
62         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Move ...
63         * config/abi/post/sparc-solaris2.10/sparcv9/baseline_symbols.txt:
64         ... here.
65         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Move ...
66         * config/abi/post/i386-solaris2.10/amd64/baseline_symbols.txt: ... here.
67         * config/abi/post/i386-solaris2.10/baseline_symbols.txt: New file.
68         * config/abi/post/solaris2.11/baseline_symbols.txt: Move ...
69         * config/abi/post/sparc-solaris2.11/baseline_symbols.txt: ... here.
70         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Move ...
71         * config/abi/post/sparc-solaris2.11/sparcv9/baseline_symbols.txt:
72         ... here.
73         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Move ...
74         * config/abi/post/i386-solaris2.11/amd64/baseline_symbols.txt: ... here.
75         * config/abi/post/i386-solaris2.11/baseline_symbols.txt: New file.
77         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
78         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
79         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
80         * config/abi/post/solaris2.11/baseline_symbols.txt: Likewise.
81         * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: Likewise.
82         * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: Likewise.
84 2017-02-01  Jonathan Wakely  <jwakely@redhat.com>
86         PR libstdc++/78346
87         * include/bits/predefined_ops.h (_Iter_equals_iter): Store iterator
88         not its referent.
89         (_Iter_comp_to_iter): Likewise.
90         * testsuite/25_algorithms/search/78346.cc: New test.
92         PR libstdc++/79254
93         * config/abi/pre/gnu.ver: Remove recently added symbols.
94         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
95         (basic_string::_M_copy_assign): Remove.
96         (basic_string::operator=(const basic_string&)): Don't dispatch to
97         _M_copy_assign. If source object is small just deallocate, otherwise
98         perform new allocation before making any changes.
99         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
100         (basic_string::_M_copy_assign(const basic_string&, true_type)):
101         Remove.
102         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
103         Test cases where the allocators are equal or the string is small.
104         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
105         Likewise.
107 2017-01-30  Ville Voutilainen  <ville.voutilainen@gmail.com>
109         Implement LWG 2825, LWG 2756 breaks class template argument
110         deduction for optional.
111         * include/std/optional: Add a deduction guide.
112         * testsuite/20_util/optional/cons/deduction_guide.cc: New.
114 2017-01-27  Jonathan Wakely  <jwakely@redhat.com>
116         PR libstdc++/79254
117         * config/abi/pre/gnu.ver: Add new symbols.
118         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI]
119         (basic_string::_M_copy_assign): New overloaded functions to perform
120         copy assignment.
121         (basic_string::operator=(const basic_string&)): Dispatch to
122         _M_copy_assign.
123         * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI]
124         (basic_string::_M_copy_assign(const basic_string&, true_type)):
125         Define, performing rollback on exception.
126         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
127         Test exception-safety guarantee.
128         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
129         Likewise.
130         * testsuite/util/testsuite_allocator.h (uneq_allocator::swap): Make
131         std::swap visible.
133 2017-01-26  Jonathan Wakely  <jwakely@redhat.com>
135         PR libstdc++/70607
136         * include/tr1/complex (conj): Remove using-declaration and restore
137         overloads, reverting previous change.
139         * testsuite/23_containers/list/operations/78389.cc: Fix for C++11
140         mode.
141         * testsuite/23_containers/priority_queue/requirements/constructible.cc:
142         Mark as unsupported in C++98 mode.
143         * testsuite/23_containers/queue/requirements/constructible.cc:
144         Likewise.
145         * testsuite/23_containers/stack/requirements/constructible.cc:
146         Likewise.
147         * testsuite/25_algorithms/make_heap/movable.cc: Fix for C++11 mode.
149         PR libstdc++/79243
150         * include/bits/c++config (literals::string_view_literals::__7): Add.
151         Only declare versioned namespaces for the relevant C++ dialects.
152         * include/experimental/bits/erase_if.h (fundamentals_v2::__detail):
153         Add versioning macros.
154         * include/experimental/bits/lfts_config.h:
155         (fundamentals_v1::__detail::__7, fundamentals_v2::__detail::__7): Add.
156         * include/experimental/string_view (fundamentals_v2::__detail):
157         Add versioning macros.
158         (fundamentals_v2::__detail::__identity): Remove.
159         (fundamentals_v2::__detail::__idt): Use common_type instead of
160         __detail::__identity.
161         * include/std/string_view (__detail::__identity, __detail::__idt):
162         Likewise.
163         (literals::string_view_literals): Fix nesting of versioning macros.
165         PR libstdc++/79190
166         * libsupc++/del_opa.cc (operator delete(void*, std::align_val_t))
167         [!_GLIBCXX_HAVE_ALIGNED_ALLOC && !_GLIBCXX_HAVE_POSIX_MEMALIGN
168         && !_GLIBCXX_HAVE_MEMALIGN && !_GLIBCXX_HAVE__ALIGNED_MALLOC]:
169         Retrieve original pointer value allocated by malloc.
170         * libsupc++/new_opa.cc [!_GLIBCXX_HAVE_ALIGNED_ALLOC
171         && !_GLIBCXX_HAVE_POSIX_MEMALIGN && !_GLIBCXX_HAVE_MEMALIGN
172         && !_GLIBCXX_HAVE__ALIGNED_MALLOC] (aligned_alloc(size_t, size_t)):
173         Define, adjusting pointer value allocated by malloc and storing for
174         retrieval by operator delete.
176 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
178         * libsupc++/eh_atomics.h: Update copyright years.
179         * testsuite/20_util/unique_ptr/cons/default.cc: Update copyright years.
181 2017-01-25  Jonathan Wakely  <jwakely@redhat.com>
183         PR libstdc++/61791
184         PR libstdc++/70607
185         * include/std/complex (real(T), imag(T)): Add _GLIBCXX_CONSTEXPR.
186         (proj(T), conj(T)): Change return types per DR 1522.
187         * include/tr1/complex (conj): Remove overloads and use std::conj.
188         * testsuite/26_numerics/complex/dr781_dr1137.cc: Rename to...
189         * testsuite/26_numerics/complex/dr781.cc: ... this, and update.
190         * testsuite/26_numerics/complex/value_operations/constexpr2.cc: Test
191         real(T) and imag(T). Allow testing for C++11 too.
193 2017-01-24  Jonathan Wakely  <jwakely@redhat.com>
195         PR libstdc++/79206
196         * include/experimental/string_view (operator==): Check sizes first.
197         * include/std/string_view (operator==): Likewise.
199 2017-01-23  Jonathan Wakely  <jwakely@redhat.com>
201         * testsuite/experimental/array/make_array.cc: Restore <functional>
202         inclusion.
204 2017-01-23  Thomas Preud'homme  <thomas.preudhomme@arm.com>
206         * testsuite/29_atomics/atomic/69301.cc: Require atomic builtins.
208 2017-01-23  Jonathan Wakely  <jwakely@redhat.com>
210         PR libstdc++/79195
211         * include/experimental/array (__make_array_elem): New class template
212         and partial specialization.
213         (__is_reference_wrapper): Move into __make_array_elem specialization.
214         (make_array): Use __make_array_elem to determine element type and move
215         static assertion into specialization. Qualify std::forward call.
216         (to_array): Add exception specifiation.
217         * testsuite/experimental/array/make_array.cc: Test argument types
218         without a common type.
219         * testsuite/experimental/array/neg.cc: Adjust expected error message.
221 2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
223         * doc/xml/manual/debug.xml: code.google.com uses https now.
225 2017-01-22  Gerald Pfeifer  <gerald@pfeifer.com>
226         
227         * doc/xml/manual/test.xml: Fix link into gccint online manual.
229 2017-01-21  Ville Voutilainen  <ville.voutilainen@gmail.com>
231         Make poisoned hashes SFINAE away the call operator of the hash.
232         * include/bits/functional_hash.h
233         (__poison_hash::__enable_hash_call): New.
234         * include/std/optional (__optional_hash_call_base): New.
235         (hash<optional<_Tp>>): Derive from the new base,
236         move the hash function into that base.
237         * include/std/variant (__variant_hash_call_base_impl): New.
238         (__variant_hash_call_base): Likewise.
239         (hash<variant<_Types...>>): Derive from the new base,
240         move the hash function into that base.
241         * testsuite/20_util/optional/hash.cc: Add tests for is_callable.
242         * testsuite/20_util/variant/hash.cc: Likewise.
244 2017-01-20  Joe Seymour  <joe.s@somniumtech.com>
246         * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): Support uint20_t.
247         * configure: Regenerate.
249 2017-01-20  Jonathan Wakely  <jwakely@redhat.com>
251         PR libstdc++/69240
252         * include/bits/random.h (uniform_real_distribution::param_type)
253         (normal_distribution::param_type, lognormal_distribution::param_type)
254         (gamma_distribution::param_type, chi_squared_distribution::param_type)
255         (cauchy_distribution::param_type, fisher_f_distribution::param_type)
256         (student_t_distribution::param_type)
257         (bernoulli_distribution::param_type, binomial_distribution::param_type)
258         (geometric_distribution::param_type)
259         (negative_binomial_distribution::param_type)
260         (poisson_distribution::param_type)
261         (exponential_distribution::param_type)
262         (weibull_distribution::param_type)
263         (extreme_value_distribution::param_type)
264         (discrete_distribution::param_type)
265         (piecewise_constant_distribution::param_type)
266         (piecewise_linear_distribution::param_type): Define operator!=.
267         * include/bits/uniform_int_dist.h
268         (uniform_int_distribution::param_type): Likewise.
269         * include/ext/random (beta_distribution::param_type)
270         (rice_distribution::param_type, nakagami_distribution::param_type)
271         (pareto_distribution::param_type, k_distribution::param_type)
272         (arcsine_distribution::param_type, hoyt_distribution::param_type)
273         (triangular_distribution::param_type)
274         (von_mises_distribution::param_type)
275         (hypergeometric_distribution::param_type)
276         (logistic_distribution::param_type)
277         (uniform_on_sphere_distribution::param_type)
278         (uniform_inside_sphere_distribution::param_type): Likewise.
279         * testsuite/26_numerics/random/bernoulli_distribution/cons/parms.cc:
280         Test construction with param_type.
281         * testsuite/26_numerics/random/binomial_distribution/cons/parms.cc:
282         Likewise.
283         * testsuite/26_numerics/random/cauchy_distribution/cons/parms.cc:
284         Likewise.
285         * testsuite/26_numerics/random/chi_squared_distribution/cons/parms.cc:
286         Likewise.
287         * testsuite/26_numerics/random/exponential_distribution/cons/parms.cc:
288         Likewise.
289         * testsuite/26_numerics/random/extreme_value_distribution/cons/
290         parms.cc: Likewise.
291         * testsuite/26_numerics/random/fisher_f_distribution/cons/parms.cc:
292         Likewise.
293         * testsuite/26_numerics/random/gamma_distribution/cons/parms.cc:
294         Likewise.
295         * testsuite/26_numerics/random/geometric_distribution/cons/parms.cc:
296         Likewise.
297         * testsuite/26_numerics/random/lognormal_distribution/cons/parms.cc:
298         Likewise.
299         * testsuite/26_numerics/random/negative_binomial_distribution/cons/
300         parms.cc: Likewise.
301         * testsuite/26_numerics/random/normal_distribution/cons/parms.cc:
302         Likewise.
303         * testsuite/26_numerics/random/poisson_distribution/cons/parms.cc:
304         Likewise.
305         * testsuite/26_numerics/random/student_t_distribution/cons/parms.cc:
306         Likewise.
307         * testsuite/26_numerics/random/uniform_int_distribution/cons/parms.cc:
308         Likewise.
309         * testsuite/26_numerics/random/uniform_real_distribution/cons/parms.cc:
310         Likewise.
311         * testsuite/26_numerics/random/weibull_distribution/cons/parms.cc:
312         Likewise.
313         * testsuite/ext/random/arcsine_distribution/cons/parms.cc: Likewise.
314         * testsuite/ext/random/beta_distribution/cons/parms.cc: Likewise.
315         * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
316         * testsuite/ext/random/hypergeometric_distribution/cons/parms.cc:
317         Likewise.
318         * testsuite/ext/random/k_distribution/cons/parms.cc: Likewise.
319         * testsuite/ext/random/logistic_distribution/cons/parms.cc: Likewise.
320         * testsuite/ext/random/nakagami_distribution/cons/parms.cc: Likewise.
321         * testsuite/ext/random/normal_mv_distribution/cons/parms.cc: Likewise.
322         * testsuite/ext/random/pareto_distribution/cons/parms.cc: Likewise.
323         * testsuite/ext/random/rice_distribution/cons/parms.cc: Likewise.
324         * testsuite/ext/random/triangular_distribution/cons/parms.cc:
325         Likewise.
326         * testsuite/ext/random/uniform_inside_sphere_distribution/cons/
327         parms.cc: Likewise.
328         * testsuite/ext/random/von_mises_distribution/cons/parms.cc: Likewise.
330         PR libstdc++/72792
331         * include/bits/alloc_traits.h (__allocator_traits_base::__diff_type)
332         (__allocator_traits_base::__size_type): Remove.
333         (allocator_traits::_Ptr): New class template to detect const and void
334         pointer types without instantiating pointer_traits::rebind
335         unnecessarily.
336         (allocator_traits::_Diff): Likewise for detecting difference_type.
337         (allocator_traits::_Size): New class template to detect size_type
338         without instantiating make_unsigned unnecessarily.
339         * include/bits/ptr_traits.h (pointer_traits::element_type): Use
340         __detected_or_t instead of __detected_or_t_.
341         * include/std/type_traits (__detected_or_t_): Remove.
342         * testsuite/20_util/allocator_traits/members/pointers.cc: New test.
344         PR libstdc++/72792
345         PR libstdc++/72793
346         * include/bits/alloc_traits.h (__allocator_traits_base::__rebind):
347         Replace with class template using void_t.
348         (__alloc_rebind): Define in terms of
349         __allocator_traits_base::__rebind.
350         (allocator_traits): Remove unconditional static_assert for
351         rebind_alloc.
352         * include/bits/ptr_traits.h (__replace_first_arg): Remove type member.
353         (pointer_traits::__rebind): Replace with class template using void_t.
354         (pointer_traits::rebind): Define in terms of __rebind.
355         (pointer_traits): Remove unconditional static_assert for rebind.
356         * testsuite/20_util/allocator_traits/members/rebind_alloc.cc: New test.
357         * testsuite/20_util/pointer_traits/rebind.cc: New test.
359         PR libstdc++/69321
360         * include/experimental/any (__any_caster): Avoid instantiating
361         manager function for types that can't be stored in any.
362         * include/std/any (__any_caster): Likewise.
363         * testsuite/20_util/any/misc/any_cast.cc: Test non-copyable type.
364         * testsuite/experimental/any/misc/any_cast.cc: Likewise.
366         PR libstdc++/64903
367         * include/bits/stl_algo.h (is_partitioned): Use increment instead of
368         std::advance.
370 2017-01-19  Jonathan Wakely  <jwakely@redhat.com>
372         PR libstdc++/79156
373         * include/bits/shared_ptr_base.h (__enable_shared_from_this_base):
374         Fix return type.
375         (__enable_shared_from_this): Declare __shared_ptr as a friend.
376         * testsuite/ext/shared_ptr/1.cc: New test.
378         PR libstdc++/64903
379         * include/bits/stl_algo.h (is_partitioned): Don't retest the partition
380         point.
381         * testsuite/25_algorithms/is_partitioned/2.cc: New test.
383         * doc/xml/manual/abi.xml: Fix typo.
384         * doc/html/manual/abi.html: Likewise.
386         PR libstdc++/67085
387         * include/bits/predefined_ops.h (_Iter_less_val, _Val_less_iter): Add
388         converting constructors from _Iter_less_iter.
389         (_Iter_comp_val, _Val_comp_iter): Add converting constructors from
390         _Iter_comp_iter.
391         (__iter_comp_val(_Iter_comp_iter<C>): Use converting constructor.
392         (__val_comp_iter(_Iter_comp_iter<C>): Likewise.
393         * include/bits/stl_heap.h (__is_heap_until, __push_heap, __pop_heap)
394         (__make_heap, __sort_heap): Change _Compare parameters to references.
395         (__is_heap, push_heap, __adjust_heap, __pop_heap, pop_heap)
396         (__make_heap, make_heap, sort_heap, is_heap_until): Pass comparison
397         functions as lvalues.
398         (is_heap): Call __is_heap_until directly to avoid copying __comp.
399         * testsuite/23_containers/priority_queue/67085.cc: Adjust test to
400         count copies during construction with empty sequence.
402         PR libstdc++/67085
403         * include/bits/stl_heap.h (__is_heap): Use _GLIBCXX_MOVE.
404         (__make_heap, __sort_heap): Don't use _GLIBCXX_MOVE inside loops.
405         * testsuite/23_containers/priority_queue/67085.cc: Adjust expected
406         number of copies.
407         * testsuite/25_algorithms/make_heap/movable.cc: New test.
409         PR libstdc++/67085
410         * include/bits/stl_heap.h (push_heap, __adjust_heap, __pop_heap)
411         (pop_heap, __make_heap, make_heap, __sort_heap, sort_heap): Use
412         _GLIBCXX_MOVE when passing comparison function to other functions.
413         (is_heap_until, is_heap): Use std::move when passing comparison
414         function.
415         * testsuite/23_containers/priority_queue/67085.cc: New test.
417         PR libstdc++/78905
418         * doc/xml/manual/abi.xml (abi.versioning.history): Add markup to
419         macro names, filenames, and literal values. Document _GLIBCXX_RELEASE.
420         Document that the deprecated _GLIBCXX_VERSION macro was removed for
421         the 4.0.0 release.
422         * doc/html/*: Regenerate.
423         * include/Makefile.am (_GLIBCXX_RELEASE): Set value.
424         * include/Makefile.in: Regenerate.
425         * include/bits/c++config (_GLIBCXX_RELEASE): Add #define.
426         * testsuite/ext/profile/mutex_extensions_neg.cc: Use lineno of 0 in
427         dg-error.
429 2017-01-18  Jonathan Wakely  <jwakely@redhat.com>
431         PR libstdc++/69301
432         * include/std/atomic (atomic<T>::load, atomic<T>::exchange): Use
433         aligned buffer instead of default-initialized variable.
434         * testsuite/29_atomics/atomic/69301.cc: New test.
435         * include/experimental/memory (observer_ptr::release): Use reserved
436         name.
437         * include/ext/pointer.h (_Pointer_adapter::operator++(int))
438         (_Pointer_adapter::operator--(int)): Likewise.
440         PR libstdc++/68925
441         * include/experimental/random (randint): Use temporary instead of
442         thread_local static.
444 2017-01-17  Joshua Conner  <joshconner@google.com>
446         * crossconfig.m4: Add fuchsia OS.
447         * configure: Regenerate. 
449 2017-01-17  Jonathan Wakely  <jwakely@redhat.com>
451         PR libstdc++/69699
452         * doc/xml/manual/abi.xml (abi.versioning.history): Explain why the
453         __GLIBCXX__ macro is not useful. Remove redundant date information
454         and link to the GCC release timeline.
455         (abi.versioning.active): Move partial sentence into the previous
456         paragraph.
457         * doc/html/*: Regenerate.
459         PR libstdc++/79114
460         * libsupc++/nested_exception.h (throw_with_nested): Use decay instead
461         of remove_reference.
462         * testsuite/18_support/nested_exception/79114.cc: New test.
464 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
466         PR other/79046
467         * configure.ac: Add GCC_BASE_VER.
468         * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
469         get version from BASE-VER file.
470         * po/Makefile.in: Regenerated.
471         * libsupc++/Makefile.in: Regenerated.
472         * testsuite/Makefile.in: Regenerated.
473         * src/Makefile.in: Regenerated.
474         * configure: Regenerated.
475         * Makefile.in: Regenerated.
476         * include/Makefile.in: Regenerated.
477         * doc/Makefile.in: Regenerated.
478         * python/Makefile.in: Regenerated.
479         * src/c++11/Makefile.in: Regenerated.
480         * src/c++98/Makefile.in: Regenerated.
481         * src/filesystem/Makefile.in: Regenerated.
483 2017-01-16  Jonathan Wakely  <jwakely@redhat.com>
485         PR libstdc++/66145
486         * src/c++11/functexcept.cc: Use new ABI for std::ios_base::failure
487         exceptions.
488         * testsuite/27_io/basic_ios/copyfmt/char/1.cc: Don't override ABI
489         for test, so new ios::failure can be caught.
490         * testsuite/27_io/basic_ios/exceptions/char/1.cc: Likewise.
491         * testsuite/27_io/basic_istream/extractors_arithmetic/char/
492         exceptions_failbit.cc: Likewise.
493         * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/
494         exceptions_failbit.cc: Likewise.
495         * testsuite/27_io/basic_istream/extractors_other/char/
496         exceptions_null.cc: Likewise.
497         * testsuite/27_io/basic_istream/extractors_other/wchar_t/
498         exceptions_null.cc: Likewise.
499         * testsuite/27_io/basic_istream/sentry/char/12297.cc: Likewise.
500         * testsuite/27_io/basic_istream/sentry/wchar_t/12297.cc: Likewise.
501         * testsuite/27_io/basic_ostream/inserters_other/char/
502         exceptions_null.cc: Likewise.
503         * testsuite/27_io/basic_ostream/inserters_other/wchar_t/
504         exceptions_null.cc: Likewise.
505         * testsuite/27_io/ios_base/storage/2.cc: Likewise.
507         PR libstdc++/78702
508         * include/bits/locale_classes.h (locale::facet::__shim): Change from
509         private to protected.
510         * src/c++11/cxx11-shim_facets.cc (__shim_accessor): Define helper to
511         make locale::facet::__shim accessible.
513 2017-01-16  Ville Voutilainen  <ville.voutilainen@gmail.com>
515         PR libstdc++/78389
516         * include/bits/list.tcc (merge(list&&)): Fix backwards size adjustments.
517         (merge(list&&, _StrictWeakOrdering)): Likewise.
518         * testsuite/23_containers/list/operations/78389.cc: Add
519         better test for the sizes.
521 2017-01-14  Jonathan Wakely  <jwakely@redhat.com>
523         * testsuite/23_containers/array/specialized_algorithms/swap_cxx17.cc:
524         Skip test when -D_GLIBCXX_PROFILE mode is included in options.
525         * testsuite/23_containers/map/modifiers/extract.cc: Likewise.
526         * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc:
527         Likewise.
528         * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise.
529         * testsuite/23_containers/multimap/modifiers/extract.cc: Likewise.
530         * testsuite/23_containers/multiset/modifiers/extract.cc: Likewise.
531         * testsuite/23_containers/set/modifiers/extract.cc: Likewise.
532         * testsuite/23_containers/unordered_map/modifiers/extract.cc:
533         Likewise.
534         * testsuite/23_containers/unordered_multimap/modifiers/extract.cc::
535         Likewise.
536         * testsuite/23_containers/unordered_multiset/modifiers/extract.cc::
537         Likewise.
538         * testsuite/23_containers/unordered_set/modifiers/extract.cc:
539         Likewise.
540         * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc:
541         Likewise.
542         * testsuite/25_algorithms/binary_search/partitioned.cc: Likewise.
543         * testsuite/25_algorithms/equal_range/partitioned.cc: Likewise.
544         * testsuite/25_algorithms/lexicographical_compare/71545.cc: Likewise.
545         * testsuite/25_algorithms/lower_bound/partitioned.cc: Likewise.
546         * testsuite/25_algorithms/upper_bound/partitioned.cc: Likewise.
547         * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
548         * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
549         * testsuite/libstdc++-prettyprinters/debug.cc: Likewise.
550         * testsuite/libstdc++-prettyprinters/debug_cxx11.cc: Likewise.
551         * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
552         * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
553         * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
554         * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
556 2017-01-13  Jonathan Wakely  <jwakely@redhat.com>
558         PR libstdc++/65411
559         * config/io/basic_file_stdio.cc (__basic_file<char>::close()): Don't
560         retry fclose on EINTR.
562         * include/profile/base.h: Remove unused header that leads to header
563         cycle in C++17 mode.
565         PR libstdc++/79075
566         * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string):
567         Make _If_sv private.
568         [!_GLIBCXX_USE_CXX11_ABI] (basic_string): Add member functions taking
569         basic_string_view arguments.
571         PR libstdc++/79075
572         * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Remove
573         redundant option from cxxflags.
574         (check_effective_target_cxx11-abi): Define.
575         * testsuite/21_strings/basic_string/allocator/71964.cc: Use cxx11-abi
576         effective target.
577         * testsuite/21_strings/basic_string/allocator/char/copy.cc: Likewise.
578         * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc:
579         Likewise.
580         * testsuite/21_strings/basic_string/allocator/char/minimal.cc:
581         Likewise.
582         * testsuite/21_strings/basic_string/allocator/char/move.cc: Likewise.
583         * testsuite/21_strings/basic_string/allocator/char/move_assign.cc:
584         Likewise.
585         * testsuite/21_strings/basic_string/allocator/char/noexcept.cc:
586         Likewise.
587         * testsuite/21_strings/basic_string/allocator/char/swap.cc: Likewise.
588         * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc:
589         Likewise.
590         * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc:
591         Likewise.
592         * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc:
593         Likewise.
594         * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc:
595         Likewise.
596         * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc:
597         Likewise.
598         * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc:
599         Likewise.
600         * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc:
601         Likewise.
602         * testsuite/23_containers/list/61347.cc: Likewise.
603         * testsuite/27_io/basic_fstream/cons/base.cc: Likewise.
604         * testsuite/27_io/ios_base/failure/cxx11.cc: Likewise.
606 2017-01-13  Ville Voutilainen  <ville.voutilainen@gmail.com>
608         PR libstdc++/78389
609         * include/bits/list.tcc (merge(list&&)):
610         Adjust list sizes if the comparator throws.
611         (merge(list&&, _StrictWeakOrdering)): Likewise.
612         (sort()): Splice elements back from the scratch buffers
613         if the comparator throws.
614         (sort(_StrictWeakOrdering)): Likewise.
615         * testsuite/23_containers/list/operations/78389.cc: New.
617 2017-01-13  Jonathan Wakely  <jwakely@redhat.com>
619         * testsuite/23_containers/unordered_set/allocator/ext_ptr.cc: Mark
620         XFAIL for C++17 until node reinsertion supports fancy pointers.
622         PR libstdc++/78361
623         * testsuite/20_util/add_pointer/value.cc: Test forming function
624         pointers.
626 2017-01-13  Michael Brune  <lucdanton@free.fr>
628         PR libstdc++/78361
629         * include/std/type_traits (__is_referenceable): Handle noexcept
630         function types.
632 2017-01-12  Jonathan Wakely  <jwakely@redhat.com>
634         PR libstdc++/77528
635         * include/bits/stl_queue.h (queue, priority_queue): Remove default
636         member-initializers and define default constructors as templates with
637         constraints.
638         * include/bits/stl_stack.h (stack): Likewise.
639         * testsuite/23_containers/priority_queue/requirements/constructible.cc:
640         New.
641         * testsuite/23_containers/priority_queue/requirements/
642         explicit_instantiation/1.cc: Test more instantiations.
643         * testsuite/23_containers/priority_queue/requirements/
644         explicit_instantiation/1_c++98.cc: Likewise.
645         * testsuite/23_containers/queue/requirements/constructible.cc: New.
646         * testsuite/23_containers/stack/requirements/constructible.cc: New.
648         PR libstdc++/66284
649         * doc/xml/manual/intro.xml: Document LWG 2781 change.
650         * doc/html/*: Regenerate.
651         * include/std/functional (_Function_base::_Ref_manager): Remove.
652         (_Function_handler): Remove partial specializations for
653         reference_wrapper.
654         (function::target): Remove special case for const qualification.
655         * testsuite/20_util/function/6.cc: Adjust tests for target type.
656         * testsuite/20_util/function/7.cc: Likewise.
657         * testsuite/20_util/function/8.cc: Likewise.
659 2017-01-11  Jonathan Wakely  <jwakely@redhat.com>
661         PR libstdc++/78134
662         * include/bits/stl_map.h (map::lower_bound, map::upper_bound)
663         (map::equal_range): Fix return type of heterogeneous overloads.
664         * include/bits/stl_multimap.h (multimap::lower_bound)
665         (multimap::upper_bound, multimap::equal_range): Likewise.
666         * include/bits/stl_multiset.h (multiset::lower_bound)
667         (multiset::upper_bound, multiset::equal_range): Likewise.
668         * include/bits/stl_set.h (set::lower_bound, set::upper_bound)
669         (set::equal_range): Likewise.
670         * testsuite/23_containers/map/operations/2.cc
671         * testsuite/23_containers/multimap/operations/2.cc
672         * testsuite/23_containers/multiset/operations/2.cc
673         * testsuite/23_containers/set/operations/2.cc
675         PR libstdc++/78273
676         * include/bits/stl_map.h (map::count<_Kt>(const _Kt&)): Don't assume
677         the heterogeneous comparison can only find one match.
678         * include/bits/stl_set.h (set::count<_Kt>(const _Kt&)): Likewise.
679         * testsuite/23_containers/map/operations/2.cc: Test count works with
680         comparison function that just partitions rather than sorting.
681         * testsuite/23_containers/set/operations/2.cc: Likewise.
683 2017-01-11  Ville Voutilainen  <ville.voutilainen@gmail.com>
685         Reduce the size of variant, it doesn't need an index of
686         type size_t internally.
687         * include/std/variant (parse_numbers.h): New include.
688         (__select_index): New.
689         (_Variant_storage<false, _Types...>::_M_reset_impl): Use
690         _index_type for comparison with variant_npos.
691         (_Variant_storage<false, _Types...>::__index_type): New.
692         (_Variant_storage<false, _Types...>::_M_index): Change the
693         type from size_t to __index_type.
694         (_Variant_storage<true, _Types...>::__index_type): New.
695         (_Variant_storage<true, _Types...>::_M_index): Change the
696         type from size_t to __index_type.
697         (_Variant_base::_M_valid): Use _Storage::__index_type
698         for comparison with variant_npos.
699         (variant::index): Use _Base::_Storage::__index_type
700         for comparison with variant_npos.
701         * testsuite/20_util/variant/index_type.cc: New.
703 2017-01-10  Jonathan Wakely  <jwakely@redhat.com>
705         * testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
706         effective target selector to prevent running in C++17 mode.
708         PR libstdc++/77528
709         * include/bits/stl_queue.h (queue::c): Add default member initializer.
710         (queue::queue()): Add constructor and define as defaulted.
711         (queue::queue(_Sequence&&)): Remove default argument.
712         (priority_queue::c, priority_queue::comp): Add default member
713         initializers.
714         (priority_queue::priority_queue()): Add constructor and define as
715         defaulted.
716         (priority_queue::priority_queue(const _Compare&, _Sequence&&)):
717         Remove default argument for first parameter.
718         * include/bits/stl_stack.h (stack::c): Add default member initializer.
719         (stack::stack()): Add constructor and define as defaulted.
720         (stack::stack(const _Sequence&)): Remove default argument.
721         * testsuite/23_containers/priority_queue/requirements/
722         explicit_instantiation/1.cc: Test explicit instantiation with
723         non-DefaultConstructible sequence.
724         * testsuite/23_containers/priority_queue/77528.cc: New test.
725         * testsuite/23_containers/priority_queue/requirements/
726         explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
727         * testsuite/23_containers/queue/77528.cc: New test.
728         * testsuite/23_containers/queue/requirements/explicit_instantiation/
729         1.cc: Test explicit instantiation with non-DefaultConstructible
730         sequence.
731         * testsuite/23_containers/queue/requirements/explicit_instantiation/
732         1_c++0x.cc: Replace with 1_c++98.cc.
733         * testsuite/23_containers/stack/77528.cc: New test.
734         * testsuite/23_containers/stack/requirements/explicit_instantiation/
735         1.cc: Test explicit instantiation with non-DefaultConstructible
736         sequence.
737         * testsuite/23_containers/stack/requirements/explicit_instantiation/
738         1_c++0x.cc: Replace with 1_c++98.cc.
740 2017-01-10  Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
742         * include/bits/locale_facets_nonio.tcc
743         (time_get::_M_extract_via_format): Avoid compilation errors with
744         non-standard struct tm.
746 2017-01-10  François Dumont  <fdumont@gcc.gnu.org>
747             Jonathan Wakely  <jwakely@redhat.com>
749         * python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
750         (is_specialization, strip_versioned_namespace): New helpers functions
751         to work with symbols in the versioned namespace.
752         (Printer.add_version): Add second name using versioned namespace.
753         (add_one_template_type_printer, add_one_type_printer): Add second
754         type printers using versioned namespace.
755         (register_type_printers): Add template type printer for basic_string.
756         (build_libstdcxx_dictionary): Remove dead code.
757         * python/libstdcxx/v6/xmethods.py: Make all matchers look for
758         versioned namespace.
759         * testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
760         results.
761         * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
763 2017-01-09  Jonathan Wakely  <jwakely@redhat.com>
765         PR libstdc++/79017
766         * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround
767         functions separately on darwin and if they're missing define
768         _GLIBCXX_NO_C99_ROUNDING_FUNCS.
769         * config.h.in: Regenerate.
770         * configure: Regenerate.
771         * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint)
772         (llrintf, llrintl, llround, llroundf, llroundl): Do not define.
774         * testsuite/30_threads/condition_variable/members/3.cc: Use new macro
775         to detect correct thread_local destructors.
776         * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS):
777         Define.
779 2017-01-09  Jonathan Wakely  <jwakely@redhat.com>
780             Aditya Kumar  <hiraditya@msn.com>
782         PR libstdc++/66414
783         * include/bits/basic_string.tcc
784         (basic_string::find(const CharT*, size_type, size_type)): Optimize.
786 2017-01-06  Jonathan Wakely  <jwakely@redhat.com>
788         * testsuite/21_strings/basic_string/operations/find/char/6.cc: New.
789         * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: New.
791         * testsuite/util/performance/priority_queue/mem_usage/pop_test.hpp:
792         Include <cassert> header.
794         PR libstdc++/78968
795         * crossconfig.m4: Check for __cxa_thread_atexit on *-*-freebsd*.
796         * configure: Regenerate.
798 2017-01-06  Barrett Adair  <barrettellisadair@gmail.com>
799             Jonathan Wakely  <jwakely@redhat.com>
801         * include/std/variant (variant, swap): Replace __and_ usage with fold
802         expressions.
804 2017-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
806         PR go/78978
807         * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Remove.
808         * configure.ac: Call GCC_CHECK_ASSEMBLER_HWCAP instead of
809         GLIBCXX_CHECK_ASSEMBLER_HWCAP.
810         * fragment.am (CONFIG_CXXFLAGS): Use HWCAP_CFLAGS instead of
811         HWCAP_FLAGS.
812         * aclocal.m4: Regenerate.
813         * configure: Regenerate.
814         * Makefile.in, doc/Makefile.in, include/Makefile.in,
815         libsupc++/Makefile.in, po/Makefile.in, python/Makefile.in,
816         src/Makefile.in, src/c++11/Makefile.in, src/c++98/Makefile.in,
817         src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
819 2017-01-06  Jonathan Wakely  <jwakely@redhat.com>
821         * include/bits/c++config (_GLIBCXX_ASSERTIONS): Avoid redefinition.
823         PR libstdc++/78991
824         * include/bits/predefined_ops.h (_Iter_comp_iter, _Iter_comp_val)
825         (_Val_comp_iter, _Iter_equals_val, _Iter_pred, _Iter_comp_to_val)
826         (_Iter_comp_to_iter, _Iter_negate): Make constructors explicit and
827         move function objects.
828         (__iter_comp_iter, __iter_comp_val, __val_comp_iter, __pred_iter)
829         (__iter_comp_val, __iter_comp_iter, __negate): Move function objects.
830         * testsuite/25_algorithms/sort/78991.cc: New test.
832 2017-01-05  Jonathan Wakely  <jwakely@redhat.com>
834         * include/bits/std_function.h (function::_Signature_type): Remove.
835         (function::function(_Functor)): Adjust.
837 2017-01-05  Tim Shen  <timshen@google.com>
839         PR libstdc++/78996
840         * include/std/variant (__gen_vtable_impl): rename __unused to
841         __dimensions to avoid naming conflict.
843 2017-01-04  Jonathan Wakely  <jwakely@redhat.com>
845         PR libstdc++/78968
846         * config.h.in: Regenerate.
847         * configure: Likewise.
848         * configure.ac: Check for __cxa_thread_atexit.
849         * libsupc++/atexit_thread.cc [_GLIBCXX_HAVE___CXA_THREAD_ATEXIT]:
850         Don't define __cxa_thread_atexit if libc provides it.
852 2017-01-04  Ville Voutilainen  <ville.voutilainen@gmail.com>
854         Implement 2801, Default-constructibility of unique_ptr.
855         * include/bits/unique_ptr.h (__uniq_ptr_impl::_DeleterConstraint): New.
856         (unique_ptr::_DeleterConstraint): Likewise.
857         (unique_ptr()): Constrain.
858         (unique_ptr(pointer)): Likewise.
859         (unique_ptr(nullptr_t)): Likewise.
860         (unique_ptr<_Tp[], _Dp>::_DeleterConstraint): New.
861         (unique_ptr<_Tp[], _Dp>::unique_ptr()): Constrain.
862         (unique_ptr<_Tp[], _Dp>::unique_ptr(_Up)): Likewise.
863         (unique_ptr<_Tp[], _Dp>::unique_ptr(nullptr_t)): Likewise.
864         * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust.
865         * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
866         * testsuite/20_util/unique_ptr/cons/default.cc: New.
867         * testsuite/20_util/unique_ptr/cons/ptr_deleter_neg.cc: Adjust.
869 2017-01-04  Pauli Nieminen  <suokkos@gmail.com>
870             Jonathan Wakely  <jwakely@redhat.com>
872         PR libstdc++/64735
873         * acinclude.m4 (GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER): Define.
874         * config.h.in: Regenerate.
875         * config/abi/pre/gnu.ver [HAVE_EXCEPTION_PTR_SINCE_GCC46]
876         (GLIBCXX_3.4.15, GLIBCXX_3.4.21, CXXABI_1.3.3, CXXABI_1.3.5): Make
877         exports for exception_ptr, nested_exception, and future conditional.
878         [HAVE_EXCEPTION_PTR_SINCE_GCC46] (GLIBCXX_3.4.23, CXXABI_1.3.11): Add
879         exports for exception_ptr, nested_exception, and future conditional.
880         * configure: Regenerate.
881         * configure.ac: Use GLIBCXX_CHECK_EXCEPTION_PTR_SYMVER.
882         * include/std/future: Remove check for ATOMIC_INT_LOCK_FREE
883         * libsupc++/eh_atomics.h: New file for internal use only.
884         (__eh_atomic_inc, __eh_atomic_dec): New.
885         * libsupc++/eh_ptr.cc (exception_ptr::_M_addref)
886         (exception_ptr::_M_release) (__gxx_dependent_exception_cleanup)
887         (rethrow_exception): Use eh_atomics.h reference counting helpers.
888         * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Likewise.
889         * libsupc++/eh_tm.cc (free_any_cxa_exception): Likewise.
890         * libsupc++/exception: Remove check for ATOMIC_INT_LOCK_FREE.
891         * libsupc++/exception_ptr.h: Likewise.
892         * libsupc++/guard.cc: Include header for ATOMIC_INT_LOCK_FREE macro.
893         * libsupc++/nested_exception.cc: Remove check for
894         ATOMIC_INT_LOCK_FREE.
895         * libsupc++/nested_exception.h: Likewise.
896         * src/c++11/future.cc: Likewise.
897         * testsuite/18_support/exception_ptr/*: Remove atomic builtins checks.
898         * testsuite/18_support/nested_exception/*: Likewise.
899         * testsuite/30_threads/async/*: Likewise.
900         * testsuite/30_threads/future/*: Likewise.
901         * testsuite/30_threads/headers/future/types_std_c++0x.cc: Likewise.
902         * testsuite/30_threads/packaged_task/*: Likewise.
903         * testsuite/30_threads/promise/*: Likewise.
904         * testsuite/30_threads/shared_future/*: Likewise.
906 2017-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
908         * doc/xml/manual/documentation_hacking.xml: sourceforge.net now
909         defaults to https; adjust reference.
911 2017-01-03  Jonathan Wakely  <jwakely@redhat.com>
913         PR libstdc++/78956
914         * include/std/thread (thread(const thread&&)): Add deleted
915         constructor.
916         * testsuite/30_threads/thread/cons/lwg2097.cc: New test.
918         * doc/xml/manual/spine.xml: Update copyright years.
919         * doc/xml/manual/build_hacking.xml: Fix spelling of libbuilddir.
920         * doc/xml/manual/test.xml: Likewise.
921         * doc/html/*: Regenerate.
923 2017-01-01  Gerald Pfeifer  <gerald@pfeifer.com>
925         * doc/xml/faq.xml: Update address of C++ ABI link.
926         * doc/xml/manual/abi.xml: Ditto.
927         
928 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
930         Update copyright years.
932 Copyright (C) 2017 Free Software Foundation, Inc.
934 Copying and distribution of this file, with or without modification,
935 are permitted in any medium without royalty provided the copyright
936 notice and this notice are preserved.