]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
libstdc++/71005 fix post-increment for filesystem iterators
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
d7187f9e
JW
12016-05-10 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/71005
4 * include/experimental/bits/fs_dir.h (__directory_iterator_proxy):
5 New type.
6 (directory_iterator::operator++(int)): Return proxy.
7 (recursive_directory_iterator::operator++(int)): Likewise.
8 * testsuite/experimental/filesystem/iterators/directory_iterator.cc:
9 Test post-increment.
10 * testsuite/experimental/filesystem/iterators/
11 recursive_directory_iterator.cc: Likewise.
12
7972e246
JW
132016-05-09 Jonathan Wakely <jwakely@redhat.com>
14
15 PR libstdc++/71004
16 * testsuite/experimental/filesystem/iterators/
17 recursive_directory_iterator.cc: Fix test02 to not call member
18 functions on invalid iterator, and use VERIFY not assert.
19
fb334765
VV
202016-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
21
22 Avoid endless run-time recursion for copying single-element
23 tuples where the element type is by-value constructible
24 from any type.
25 * include/std/tuple (_NotSameTuple): New.
26 * include/std/tuple (tuple(_UElements&&...): Use it.
27 * testsuite/20_util/tuple/cons/element_accepts_anything_byval.cc: New.
28
e4cce0ce
JW
292016-05-09 Jonathan Wakely <jwakely@redhat.com>
30
31 PR libstdc++/71004
32 * include/experimental/bits/fs_dir.h (recursive_directory_iterator):
33 Initialize scalar member variables in default constructor.
34 * testsuite/experimental/filesystem/iterators/
d7187f9e 35 recursive_directory_iterator.cc: Test default construction.
e4cce0ce 36
40436d81
RO
372016-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
38
39 * testsuite/lib/libstdc++.exp (libstdc++_init): Enable on *-*-solaris*.
40
f5c40ce2
JW
412016-05-05 Jonathan Wakely <jwakely@redhat.com>
42
43 * testsuite/experimental/filesystem/path/native/string.cc: Add
44 dg-require-filesystem-ts directive.
45
d9cb3e75
JW
462016-05-04 Jonathan Wakely <jwakely@redhat.com>
47
48 PR libstdc++/70940
49 * include/experimental/memory_resource
50 (__resource_adaptor_imp::do_allocate): Do not default-construct
51 rebound allocator.
52 (__resource_adaptor_imp::do_deallocate): Likewise. Use
53 allocator_traits to get pointer type.
54 (__null_memory_resource::do_allocate): Remove unused parameters.
55 (__null_memory_resource::do_deallocate): Likewise.
56 (__null_memory_resource::do_is_equal): Likewise. Add return statement.
57 * testsuite/experimental/type_erased_allocator/1.cc: Combine with ...
58 * testsuite/experimental/type_erased_allocator/1_neg.cc: This, and
59 move to ...
60 * testsuite/experimental/memory_resource/1.cc: Here.
61 * testsuite/experimental/memory_resource/null_memory_resource.cc: New.
62 * testsuite/experimental/memory_resource/resource_adaptor.cc: New.
63
f92ab29f
CG
642016-04-29 Chris Gregory <czipperz@gmail.com>
65
66 * config/*: Remove trailing whitespace.
67 * src/*: Likewise.
68 * testsuite/tr1/*: Likewise.
69 * testsuite/util/*: Likewise.
70
272b2ce4
JW
712016-04-28 Jonathan Wakely <jwakely@redhat.com>
72
9f9eb84e
JW
73 PR libstdc++/70766
74 * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
75 __addressof.
76 * include/bits/stream_iterator.h (istream_iterator, ostream_iterator):
77 Likewise.
78 * include/std/atomic (atomic<_Tp>): Likewise.
79 * include/std/shared_mutex (shared_lock): Likewise.
80 * testsuite/24_iterators/istream_iterator/70766.cc: New test.
81 * testsuite/24_iterators/ostream_iterator/70766.cc : New test.
82 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
83 * testsuite/29_atomics/atomic/70766.cc: New test.
84 * testsuite/30_threads/shared_lock/70766.cc: New test.
85
272b2ce4
JW
86 * include/bits/hashtable_policy.h (__detail::_Insert_base,
87 __detail::_Insert): Improve comments.
88
45e20696
JW
892016-04-27 Jonathan Wakely <jwakely@redhat.com>
90
91 PR libstdc++/70767
92 * include/std/limits: Update comments about DRs.
93 (numeric_limits<const _Tp>, numeric_limits<volatile _Tp>,
94 numeric_limits<const volatile _Tp>): Define unconditionally.
95
a635cdb2
JW
962016-04-24 Jonathan Wakely <jwakely@redhat.com>
97
98 PR libstdc++/70762
99 * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
100 static counter to return a different path on every call.
101
216f7526
TS
1022016-04-22 Tim Shen <timshen@google.com>
103
104 PR libstdc++/70745
105 * include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
106 Fix the match_not_bow and match_not_eow behavior.
107 * testsuite/28_regex/regression.cc: Add testcase.
108
a1e1ec76
JW
1092016-04-20 Jonathan Wakely <jwakely@redhat.com>
110
111 PR libstdc++/69703
112 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in,
113 __codecvt_utf8_utf16_base<char16_t>::do_in): Fix mask operations.
114
9c476ad4
JW
1152016-04-19 Jonathan Wakely <jwakely@redhat.com>
116
29ca91f7 117 PR libstdc++/69703
a1e1ec76 118 * src/c++11/codecvt.cc (__codecvt_utf8_base<char16_t>::do_in):
29ca91f7
JW
119 Override endianness bit in mode.
120 * testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: New test.
121 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: Test
122 that little_endian mode is ignored.
123 * testsuite/experimental/filesystem/path/native/string.cc: New test.
124
14905251
JW
125 PR libstdc++/70609
126 * src/filesystem/ops.cc (close_fd): New function.
127 (do_copy_file): Set permissions before copying file contents. Check
128 result of closing file descriptors. Don't copy streambuf when file
129 is empty.
130 (copy(const path&, const path&, copy_options, error_code&)): Use
131 lstat for source file when copy_symlinks is set.
132 * testsuite/experimental/filesystem/operations/copy.cc: Test copy().
133
9c476ad4
JW
134 * include/experimental/bits/fs_fwd.h (operator&, operator|, operator^,
135 operator~ operator&=, operator|=, operator^=): Add noexcept to
136 overloaded operators for copy_options, perms and directory_options.
137 * src/filesystem/ops.cc (make_file_type, make_file_status,
138 is_not_found_errno, file_time): Add noexcept.
139
d855ad89
ESR
1402016-04-19 Edward Smith-Rowland <3dw4rd@verizon.net>
141
142 * include/bits/c++14_warning.h: Do not refer C++14 as experimental.
143
8dc1e574
JW
1442016-04-18 Jonathan Wakely <jwakely@redhat.com>
145
0cded43d
JW
146 PR libstdc++/41759
147 * include/bits/random.h: Reword static assertion messages to state
148 positive conditions.
149 * include/bits/random.tcc: Likewise.
150 * include/bits/uniform_int_dist.h: Likewise.
151 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
152 patterns.
153
90751aa7
JW
154 * include/std/function (_Bind, _Bind_result): Remove unused typedefs.
155
351a5f81
JW
156 * config/cpu/sh/atomicity.h: Fix typo in comment.
157
b05cf382
JW
158 PR libstdc++/70294
159 * include/std/thread (operator<, operator==): Move definitions to
160 namespace-scope.
161 * testsuite/30_threads/thread/id/70294.cc: New test.
162
4ed6e524
JW
163 * testsuite/18_support/bad_exception/23591_thread-1.c: Add
164 -Wno-pedantic to dg-options.
165 * testsuite/20_util/align/2.cc: Use type as operand of alignof.
166 * testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
167 to dg-options.
168 * testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
169 Remove extra semi-colon.
170 * testsuite/23_containers/array/tuple_interface/tuple_element.cc:
171 Always supply second argument to static_assert.
172 * testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
173 semi-colon.
174 * testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
175 dg-options.
176 * testsuite/26_numerics/complex/literals/values.cc: Likewise.
177 * testsuite/29_atomics/atomic/60695.cc: Likewise.
178 * testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
179 alignof when operand is an object not a type.
180 * testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
181 * testsuite/decimal/make-decimal.cc: Likewise.
182 * testsuite/experimental/type_traits/value.cc: Always supply second
183 argument to static_assert.
184 * testsuite/util/testsuite_common_types.h: Use __extension__ for
185 __int128 types.
186
abb6e0a1
JW
187 * testsuite/experimental/type_erased_allocator/1.cc: Don't include
188 internal header.
189 * testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
190 * testsuite/experimental/type_erased_allocator/2.cc: Likewise.
191 * testsuite/experimental/type_erased_allocator/uses_allocator.cc:
192 Likewise. Add licence and change to compile-only test.
193
6b6147dd
JW
194 * include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
195 unused parameter.
196 * include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
197
8dc1e574
JW
198 * include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
199 warnings.
200
80dbaf98
ESR
2012016-04-17 Edward Smith-Rowland <3dw4rd@verizon.net>
202
203 * include/bits/specfun.h: Trivial comment misspelling.
204
9f285ccb
JM
2052016-04-14 Jason Merrill <jason@redhat.com>
206
207 Revert Jonathan's empty ABI change from yesterday.
208
342fac95
MS
2092016-04-13 Martin Sebor <msebor@redhat.com>
210
211 PR c++/69517
212 * testsuite/25_algorithms/rotate/moveable2.cc: Make sure VLA
213 upper bound is positive.
214
a6297ab5
JW
2152016-04-13 Jonathan Wakely <jwakely@redhat.com>
216
217 * include/bits/c++config (_GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES,
218 _GLIBCXX_END_NAMESPACE_EMPTY_TYPES, _GLIBCXX_ABI_TAG_EMPTY): Define.
219 * include/bits/hashtable.h (_Hashtable::_M_emplace): Change signatures
220 of functions taking empty structs by value. Add a template parameter
221 to overloads without hints. Rename overloads with hints to
222 _M_emplace_hint.
223 (_Hashtable::_M_erase(true_type, const_iterator),
224 _Hashtable::_M_erase(false_type, const_iterator)): Change signatures
225 by reordering parameters.
226 * include/bits/hashtable_policy.h (_Insert::insert): Adjust to call
227 _M_emplace_hint instead of _M_emplace.
228 * include/bits/shared_ptr.h (shared_ptr(_Tp1*, _Deleter, _Alloc),
229 shared_ptr(nullptr_t, _Deleter, _Alloc)): Use _GLIBCXX_ABI_TAG_EMPTY.
230 * include/bits/shared_ptr_base.h (_Sp_counted_deleter, __shared_count,
231 __shared_ptr): Likewise.
232 * include/bits/stl_algo.h (replace_if): Likewise.
233 * include/bits/stl_pair.h (piecewise_construct_t,
234 piecewise_construct): Use _GLIBCXX_BEGIN_NAMESPACE_EMPTY_TYPES.
235 * include/bits/uses_allocator.h (allocator_arg_t, allocator_arg,
236 __uses_alloc0): Likewise.
237 * include/ext/pb_ds/assoc_container.hpp (basic_hash_table): Likewise.
238 * testsuite/20_util/scoped_allocator/69293_neg.cc: Adjust dg-error.
239 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
240 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
241 * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
242 * testsuite/20_util/uses_allocator/cons_neg.cc: Likewise.
243 * testsuite/ext/profile/mutex_extensions_neg.cc: Likewise.
244
0c39f36d
ESR
2452016-04-12 Edward Smith-Rowland <3dw4rd@verizon.net>
246
247 Document C++17/TR29124 C++ Special Math Functions.
248 * include/bits/specfun.h: Add Doxygen markup.
249
6da8b931
JW
2502016-04-07 Jonathan Wakely <jwakely@redhat.com>
251
252 * testsuite/30_threads/thread/70503.cc: Adjust from xfail to pass.
253
49a52ebc
EB
2542016-04-06 Eric Botcazou <ebotcazou@adacore.com>
255
256 * src/Makefile.am (libstdc++-symbols.ver): Remove useless /dev/null.
257 * src/Makefile.in: Regenerate.
258
87cec93e
JW
2592016-04-05 Jonathan Wakely <jwakely@redhat.com>
260
d2aee115
JW
261 PR libstdc++/70554
262 * acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Don't test
263 __atomic_fetch_add for bool.
264 * configure: Regenerate.
265
d5ec69f3
JW
266 * testsuite/30_threads/thread/70503.cc: Require -static to work.
267
87cec93e
JW
268 PR libstdc++/70503
269 * src/c++11/thread.cc (execute_native_thread_routine,
270 execute_native_thread_routine_compat): Give internal linkage.
271 * testsuite/30_threads/thread/70503.cc: New test.
272
7b3318c4
VV
2732016-04-05 Ville Voutilainen <ville.voutilainen@gmail.com>
274
275 PR libstdc++/70437
276 * include/bits/stl_pair.h (_ConstructiblePair,
277 _ImplicitlyConvertiblePair, _MoveConstructiblePair,
278 _ImplicitlyMoveConvertiblePair): Add shortcut conditions
279 for same-type cases.
280 * testsuite/20_util/pair/70437.cc: New.
281
00e6c25a
JW
2822016-03-24 Jonathan Wakely <jwakely@redhat.com>
283
284 PR libstdc++/69945
285 * config/abi/pre/gnu.ver: Add new symbol.
286 * libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
287 * testsuite/18_support/free_eh_pool.cc: New test.
288
bfd84e6b
BE
2892016-03-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
290
291 * include/Makefile.am (install-freestanding-headers): Add
292 concept_check.h and move.h to the installed headers.
293 * include/Makefile.in: Regenerated.
294 * include/bits/concept_check.h: Ignore _GLIBCXX_CONCEPT_CHECKS for
295 freestanding implementations.
296 * doc/xml/manual/using.xml (_GLIBCXX_CONCEPT_CHECKS): Mention
297 that this macro has no effect for freestanding implementations.
298 * doc/html/manual/using_macros.html: Likewise.
299
86715b09
JW
3002016-02-24 Jonathan Wakely <jwakely@redhat.com>
301
302 PR libstdc++/69939
303 * include/experimental/tuple (__apply_impl): Qualify get and forward.
304
9aee022e
JW
3052016-02-23 Jonathan Wakely <jwakely@redhat.com>
306
be9967e8
JW
307 * doc/xml/manual/using.xml: Document __STDCPP_WANT_MATH_SPEC_FUNCS__.
308 * doc/html/*: Regenerate.
309
9aee022e
JW
310 PR libstdc++/69893
311 * include/tr1/cmath (acosh, asinh, atanh, cbrt, copysign, erf, erfc,
312 exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma, llrint,
313 llround, log1p, log2, logb, lrint, lround, nan, nearbyint, nextafter,
314 nexttoward, remainder, remquo, rint, round, scalbln, scalbn, tgamma,
315 trunc) [__cplusplus >= 201103L]: Import from namespace std.
316 (fabs) [__cplusplus < 201103L]: Import from namespace std.
317 * include/tr1/complex (acosh, asinh, atanh) [__cplusplus >= 201103L]:
318 Likewise.
319 * testsuite/tr1/headers/c++200x/complex.cc: Add std::fabs to global
320 namespace before including TR1 headers.
321 * testsuite/tr1/headers/c++200x/math.cc: New test.
322
5f6dd593
BE
3232016-02-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
324
325 PR libstdc++/69881
326 * include/c_global/cstdarg: Undefine __need___va_list.
327 * include/c_global/cstddef: Undefine all kinds of __need_*.
328
244901a5
TS
3292016-02-16 Tim Shen <timshen@google.com>
330
331 PR libstdc++/69794
332 * include/bits/regex_scanner.h: Add different special character
333 sets for grep and egrep regex.
334 * include/bits/regex_scanner.tcc: Use _M_spec_char more uniformly.
335 * testsuite/28_regex/regression.cc: Add new testcase.
336
cc07da33
JW
3372016-02-08 Jonathan Wakely <jwakely@redhat.com>
338
2158532f
JW
339 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Remove accidentally
340 added 'constexpr' in previous commit.
341 * configure: Regenerate.
342
cc07da33
JW
343 PR libstdc++/48891
344 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Enable isinf and isnan
345 checks for all targets except *-*-solaris2.* and ensure we find the
346 libc math.h header not our own.
347 * configure: Regenerate.
348
acc04646
DV
3492016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
350
351 * config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
352 New file. Copied over from s390-linux-gnu.
353
dbcda3ee
JW
3542016-02-04 Jonathan Wakely <jwakely@redhat.com>
355
3555173f
JW
356 PR libstdc++/69626
357 * acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
358 with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
359 * config.h.in: Regenerate.
360 * configure: Regenerate.
361 * testsuite/21_strings/c_strings/char/69626.cc: New.
362
15ebf379
JW
363 * doc/html/index.html: Regenerate.
364
dbcda3ee
JW
365 * doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
366 * doc/xml/manual/spine.xml: Update copyright years and author blurb.
367 * doc/html/*: Regenerate.
368
571512d5
BE
3692016-02-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
370
371 PR libstdc++/69581
372 * include/c_compatibility/math.h: Move header guards.
373 * include/c_compatibility/stdlib.h: Likewise.
374
f597d5f7
JW
3752016-01-29 Jonathan Wakely <jwakely@redhat.com>
376
377 PR libstdc++/69506
378 * config/os/newlib/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
379
69b0daeb
JDA
3802016-01-28 John David Anglin <danglin@gcc.gnu.org>
381
382 PR libstdc++/69450
383 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Split check for obsolete
384 isinf and isnan functions into two independent checks. Check on hpux.
385 * config.h.in: Regenerate.
386 * configure: Regenerate.
387 * include/c_global/cmath (isinf(double), isnan(double)): Use
388 _GLIBCXX_HAVE_OBSOLETE_ISINF and _GLIBCXX_HAVE_OBSOLETE_ISNAN,
389 respectively.
390
8dc781e4
JJ
3912016-01-27 Jakub Jelinek <jakub@redhat.com>
392
393 * testsuite/libstdc++-prettyprinters/whatis.cc: Include <random>.
394
bae87f7f
JW
3952016-01-27 Jonathan Wakely <jwakely@redhat.com>
396
397 PR libstdc++/69295
398 * testsuite/ext/special_functions/hyperg/check_value.cc: Use
399 -ffp-contract=off, and -ffloat-store to disable excess precision.
400 * testsuite/special_functions/02_assoc_legendre/check_value.cc: Use
401 -ffp-contract=off.
402
f1d591e8
JW
4032016-01-26 Jonathan Wakely <jwakely@redhat.com>
404
405 PR libstdc++/69478
406 * include/bits/stl_algobase.h (__copy_move<_IsMove, true,
407 random_access_iterator_tag>): Check is_move_assignable when moving.
408 (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>):
409 Likewise.
410 * testsuite/25_algorithms/copy/move_iterators/69478.cc: New.
411 * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New.
412 * testsuite/25_algorithms/move/69478.cc: New.
413 * testsuite/25_algorithms/move_backward/69478.cc: new.
414
8964d2a0
AP
4152016-01-26 Andris Pavenis <andris.pavenis@iki.fi>
416
417 * include/c_compatibility/stdlib.h: Include wide character related
418 definitions only when they are available in cstdlib.
419
2944621e
JW
4202016-01-25 Jonathan Wakely <jwakely@redhat.com>
421
422 PR libstdc++/69464
423 * include/Makefile.am: Add new header.
424 * include/Makefile.in: Regenerate.
425 * include/bits/random.h (uniform_int_distribution): Move to
426 bits/uniform_int_dist.h.
427 * include/bits/random.tcc (uniform_int_distribution::operator(),
428 uniform_int_distribution::__generate_impl): Likewise.
429 * include/bits/uniform_int_dist.h: New header.
430 * include/bits/stl_algo.h [__cplusplus >= 201103L]: Include
431 <bits/uniform_int_dist.h> instead of <random>.
432 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
433 move_iterators/1.cc: Include correct header for uninitialized_copy.
434 * testsuite/20_util/specialized_algorithms/uninitialized_copy_n/
435 move_iterators/1.cc: Likewise.
436 * testsuite/25_algorithms/nth_element/58800.cc: Include correct
437 header for vector.
438 * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error lines.
439
3676c087
JDA
4402016-01-23 John David Anglin <danglin@gcc.gnu.org>
441
442 PR libstdc++/69446
443 * config/os/hpux/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
444
02dc2419
ESR
4452016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net>
446
447 TR29124 C++ Special Math - <math.h> pulls funcs into global namespace.
448 * include/c_compatibility/math.h: Import the TR29124 functions
449 into the global namespace.
450 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove
451 xfail and make compile-only.
452 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto.
453 * testsuite/special_functions/03_beta/compile_2.cc: Ditto.
454 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto.
455 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto.
456 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto.
457 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto.
458 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto.
459 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto.
460 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto.
461 * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto.
462 * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto.
463 * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto.
464 * testsuite/special_functions/14_expint/compile_2.cc: Ditto.
465 * testsuite/special_functions/15_hermite/compile_2.cc: Ditto.
466 * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto.
467 * testsuite/special_functions/17_legendre/compile_2.cc: Ditto.
468 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto.
469 * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto.
470 * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto.
471 * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto.
472
350fe282
JW
4732016-01-22 Jonathan Wakely <jwakely@redhat.com>
474
d1fb377c
JW
475 PR libstdc++/69116
476 * include/bits/valarray_before.h (__fun, __fun_with_valarray): Only
477 define result_type for types which can be safely used with valarrays.
478 * testsuite/26_numerics/valarray/69116.cc: New.
479
350fe282
JW
480 PR libstdc++/69413
481 * config/os/gnu-linux/os_defines.h: Define
482 _GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
483 * include/c_global/cmath (isinf, isnan): Check it.
484 * doc/xml/manual/internals.xml: Document it.
485 * doc/html/*: Regenerate.
486
ab56cbed
JW
4872016-01-21 Jonathan Wakely <jwakely@redhat.com>
488
489 PR libstdc++/69406
490 * include/bits/cpp_type_traits.h: Ensure C++ language linkage.
491 * include/ext/type_traits.h: Likewise.
492 * testsuite/17_intro/headers/c++2011/linkage.cc: Check autoconf macros
493 for presence of C headers.
494 * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Adjust
495 dg-error line number.
496 * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Likewise.
497 * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Likewise.
498 * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Likewise.
499
7e10bcfa
TR
5002016-01-20 Torvald Riegel <triegel@redhat.com>
501
502 PR libstdc++/69310
503 * config/os/bsd/darwin/os_defines.h (_GLIBCXX_USE_WEAK_REF): Define.
504
eac437bf
JW
5052016-01-20 Jonathan Wakely <jwakely@redhat.com>
506
3f93466a
JW
507 PR libstdc++/60401
508 * include/c_compatibility/math.h (acosh, asinh, atanh, acbrt,
509 copysign, erf, erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb,
510 lgamma, llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
511 nextafter, nexttoward, remainder, remquo, rint, round, scalbln, scalbn,
512 tgamma, trunc) [__cplusplus >= 201103L && _GLIBCXX_USE_C99_MATH_TR1]:
513 Add using declarations.
514 * testsuite/26_numerics/headers/cmath/60401.cc: New.
515
eac437bf
JW
516 PR libstdc++/69386
517 * include/c_global/ccomplex: Ensure C++ language linkage.
518 * include/c_global/cmath: Likewise.
519 * include/c_global/cstdlib: Likewise.
520 * include/c_global/ctgmath: Likewise.
521 * testsuite/17_intro/headers/c++2011/linkage.cc: New.
522
96e19ada
JW
5232016-01-19 Jonathan Wakely <jwakely@redhat.com>
524
525 PR libstdc++/14608
526 PR libstdc++/60401
527 * include/Makefile.am: Use c_compatibility math.h and stdlib.h for
528 --enable-cheaders=c_global configs.
529 * include/Makefile.in: Regenerate.
530 * include/c_compatibility/math.h: Remove obsolete _GLIBCXX_NAMESPACE_C
531 test and allow inclusion from C files.
532 * include/c_compatibility/stdlib.h: Likewise. Support freestanding.
533 (at_quick_exit, quick_exit): Add using directives.
534 * include/c_global/cmath: Use #include_next for math.h.
535 * include/c_global/cstdlib: Use #include_next for stdlib.h.
536 * testsuite/26_numerics/headers/cmath/14608.cc: New.
537 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
538 Remove xfail for most targets.
539 * testsuite/26_numerics/headers/cstdlib/60401.cc: New.
540
9585381a
TR
5412016-01-18 Torvald Riegel <triegel@redhat.com>
542
543 * include/bits/c++config (_GLIBCXX_USE_WEAK_REF): New.
544 (_GLIBCXX_TXN_SAFE, _GLIBCXX_TXN_SAFE_DYN): Use _GLIBCXX_USE_WEAK_REF
545 and move after its definition.
546 * config/os/aix/os_defines.h (_GLIBCXX_USE_WEAK_REF): Override.
547 * src/c++11/cow-stdexcept.cc: Use _GLIBCXX_USE_WEAK_REF instead of
548 __GXX_WEAK__, and only provide transactional clones if
549 _GLIBCXX_USE_WEAK_REF is true. Don't provide stubs of libitm
550 functions.
551
f5460595
JW
5522016-01-18 Jonathan Wakely <jwakely@redhat.com>
553
c91bcffc
JW
554 PR libstdc++/60637
555 * testsuite/26_numerics/headers/cmath/60637.cc: Add test.
556
d75d9f91 557 PR libstdc++/69243
9c5ad80e
JW
558 * include/std/functional (_Function_base::_M_not_empty_function):
559 Change overloads for pointers to take arguments by value.
560 * testsuite/20_util/function/cons/57465.cc: Add tests for
561 pointer-to-member cases.
562
f5460595
JW
563 PR libstdc++/69340
564 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions):
565 Use macros for exception handling and fix unused parameter warning.
566
271366f6
JDA
5672016-01-17 John David Anglin <danglin@gcc.gnu.org>
568
569 PR libstdc++/68734
570 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
571
7a5d1d34
TR
5722016-01-17 Torvald Riegel <triegel@redhat.com>
573
574 * src/c++11/cow-stdexcept.cc (txnal_read_ptr): Fix static_assert.
575
5445d5bf
L
5762016-01-16 H.J. Lu <hongjiu.lu@intel.com>
577
578 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Add
579 __int128 symbols.
580
3d076231
JW
5812016-01-15 Jonathan Wakely <jwakely@redhat.com>
582
d7c1581c
JW
583 PR libstdc++/69293
584 * include/bits/uses_allocator.h (__uses_alloc<true, ...>): Add
585 static assertion that type is constructible from the arguments.
586 * testsuite/20_util/scoped_allocator/69293_neg.cc: New.
587 * testsuite/20_util/uses_allocator/69293_neg.cc: New.
588 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
589
3d076231
JW
590 PR libstdc++/69294
591 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
592 and isnan on AIX. Quote variables.
593 * configure: Regenerate.
594
a04d5fc9
TR
5952016-01-15 Torvald Riegel <triegel@redhat.com>
596
597 * include/bits/basic_string.h (basic_string): Declare friends.
598 * include/bits/c++config (_GLIBCXX_TXN_SAFE,
599 _GLIBCXX_TXN_SAFE_DYN, _GLIBCXX_USE_ALLOCATOR_NEW): New.
600 * include/std/stdexcept (logic_error, domain_error, invalid_argument,
601 length_error, out_of_range, runtime_error, range_error,
602 underflow_error, overflow_error): Declare members as transaction-safe.
603 (logic_error, runtime_error): Declare friend functions.
604 * libsupc++/exception (exception, bad_exception): Declare members as
605 transaction-safe.
606 * src/c++11/cow-stdexcept.cc: Define transactional clones for the
607 transaction-safe members of exceptions and helper functions.
608 * libsupc++/eh_exception.cc: Adjust and define transactional clones.
609 * config/abi/pre/gnu.ver (GLIBCXX_3.4.22) Add transactional clones.
610 (CXXABI_1.3.10): New.
611 * acinclude.m4 (GLIBCXX_CHECK_SIZE_T_MANGLING): New.
612 (GLIBCXX_ENABLE_ALLOCATOR): Set ENABLE_ALLOCATOR_NEW.
613 * configure.ac: Call GLIBCXX_CHECK_SIZE_T_MANGLING.
614 * include/Makefile.am: Write ENABLE_ALLOCATOR_NEW to c++config.h.
615 * include/Makefile.in: Regenerate.
616 * config.h.in: Regenerate.
617 * configure: Regenerate.
618 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.10.
619
cebeb718
SE
6202016-01-15 Steve Ellcey <sellcey@imgtec.com>
621
622 * include/ext/random.tcc: Use __builtin_isfinite instead of
623 std::isfinite.
624
3b07547d
JW
6252016-01-15 Jonathan Wakely <jwakely@redhat.com>
626
627 * include/bits/std_mutex.h: Fix Doxygen @file name.
628
2be75957
ESR
6292016-01-14 Edward Smith-Rowland <3dw4rd@verizon.net>
630 Jonathan Wakely <jwakely@redhat.com>
631 Florian Goth <CaptainSifff@gmx.de>
632
633 Implement TR29124 C++ special Math Functions.
634 * include/Makefile.am: Add new headers.
635 * include/Makefile.in: Regenerate.
636 * include/bits/specfun.h: New.
637 * include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
638 * include/tr1/bessel_function.tcc: Ditto.
639 * include/tr1/beta_function.tcc: Ditto.
640 * include/tr1/cmath: Ditto.
641 * include/tr1/ell_integral.tcc: Ditto.
642 * include/tr1/exp_integral.tcc: Ditto.
643 * include/tr1/gamma.tcc: Ditto.
644 * include/tr1/hypergeometric.tcc: Ditto.
645 * include/tr1/legendre_function.tcc: Ditto.
646 * include/tr1/modified_bessel_func.tcc: Ditto.
647 * include/tr1/poly_hermite.tcc: Ditto.
648 * include/tr1/poly_laguerre.tcc: Ditto.
649 * include/tr1/riemann_zeta.tcc: Ditto.
650 * include/tr1/special_function_util.h: Ditto.
651 * testsuite/ext/special_functions/conf_hyperg: New.
652 * testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
653 * testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
654 * testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
655 * testsuite/ext/special_functions/hyperg: New.
656 * testsuite/ext/special_functions/hyperg/check_nan.cc: New.
657 * testsuite/ext/special_functions/hyperg/check_value.cc: New.
658 * testsuite/ext/special_functions/hyperg/compile.cc: New.
659 * testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
660 * testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
661 * testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
662 * testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
663 * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
664 * testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
665 * testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
666 * testsuite/special_functions/02_assoc_legendre/compile.cc: New.
667 * testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
668 * testsuite/special_functions/03_beta/check_nan.cc: New.
669 * testsuite/special_functions/03_beta/check_value.cc: New.
670 * testsuite/special_functions/03_beta/compile.cc: New.
671 * testsuite/special_functions/03_beta/compile_2.cc: New.
672 * testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
673 * testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
674 * testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
675 * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
676 * testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
677 * testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
678 * testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
679 * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
680 * testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
681 * testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
682 * testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
683 * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
684 * testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
685 * testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
686 * testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
687 * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
688 * testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
689 * testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
690 * testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
691 * testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
692 * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
693 * testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
694 * testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
695 * testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
696 * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
697 * testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
698 * testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
699 * testsuite/special_functions/10_cyl_neumann/compile.cc: New.
700 * testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
701 * testsuite/special_functions/11_ellint_1/check_nan.cc: New.
702 * testsuite/special_functions/11_ellint_1/check_value.cc: New.
703 * testsuite/special_functions/11_ellint_1/compile.cc: New.
704 * testsuite/special_functions/11_ellint_1/compile_2.cc: New.
705 * testsuite/special_functions/12_ellint_2/check_nan.cc: New.
706 * testsuite/special_functions/12_ellint_2/check_value.cc: New.
707 * testsuite/special_functions/12_ellint_2/compile.cc: New.
708 * testsuite/special_functions/12_ellint_2/compile_2.cc: New.
709 * testsuite/special_functions/13_ellint_3/check_nan.cc: New.
710 * testsuite/special_functions/13_ellint_3/check_value.cc: New.
711 * testsuite/special_functions/13_ellint_3/compile.cc: New.
712 * testsuite/special_functions/13_ellint_3/compile_2.cc: New.
713 * testsuite/special_functions/14_expint/check_nan.cc: New.
714 * testsuite/special_functions/14_expint/check_value.cc: New.
715 * testsuite/special_functions/14_expint/compile.cc: New.
716 * testsuite/special_functions/14_expint/compile_2.cc: New.
717 * testsuite/special_functions/15_hermite/check_nan.cc: New.
718 * testsuite/special_functions/15_hermite/check_value.cc: New.
719 * testsuite/special_functions/15_hermite/compile.cc: New.
720 * testsuite/special_functions/15_hermite/compile_2.cc: New.
721 * testsuite/special_functions/16_laguerre/check_nan.cc: New.
722 * testsuite/special_functions/16_laguerre/check_value.cc: New.
723 * testsuite/special_functions/16_laguerre/compile.cc: New.
724 * testsuite/special_functions/16_laguerre/compile_2.cc: New.
725 * testsuite/special_functions/17_legendre/check_nan.cc: New.
726 * testsuite/special_functions/17_legendre/check_value.cc: New.
727 * testsuite/special_functions/17_legendre/compile.cc: New.
728 * testsuite/special_functions/17_legendre/compile_2.cc: New.
729 * testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
730 * testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
731 * testsuite/special_functions/18_riemann_zeta/compile.cc: New.
732 * testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
733 * testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
734 * testsuite/special_functions/19_sph_bessel/check_value.cc: New.
735 * testsuite/special_functions/19_sph_bessel/compile.cc: New.
736 * testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
737 * testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
738 * testsuite/special_functions/20_sph_legendre/check_value.cc: New.
739 * testsuite/special_functions/20_sph_legendre/compile.cc: New.
740 * testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
741 * testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
742 * testsuite/special_functions/21_sph_neumann/check_value.cc: New.
743 * testsuite/special_functions/21_sph_neumann/compile.cc: New.
744 * testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
745 * testsuite/util/specfun_testcase.h: New.
746 * testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
747 * testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
748 * testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
749 * testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
750 * testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
751 * testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
752 * testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.
753
39a1d8c8
JW
7542016-01-13 Jonathan Wakely <jwakely@redhat.com>
755
756 PR libstdc++/48891
757 * acinclude.m4 (GLIBCXX_CHECK_MATH11_PROTO): Check for obsolete isinf
758 and isnan functions.
759 * config.h.in: Regenerate.
760 * configure: Regenerate.
761 * include/c_global/cmath (isinf(double), isnan(double))
762 [_GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN]: Import via using-directive.
763 * testsuite/26_numerics/headers/cmath/48891.cc: New.
764
e862906c
RO
7652016-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
766
767 PR libstdc++/66006
768 * configure.host (abi_baseline_pair): Use separate baseline for
769 Solaris 11+ and Solaris 10 with gld.
770 * config/abi/post/solaris2.11/amd64/baseline_symbols.txt: New file.
771 * config/abi/post/solaris2.11/baseline_symbols.txt: New file.
772 * config/abi/post/solaris2.11/sparcv9/baseline_symbols.txt: New file.
773
26b5ace7
DK
7742016-01-12 Daniel Kruegler <daniel.kruegler@gmail.com>
775
776 PR libstdc++/68877
777 * include/std/type_traits: Following N4511, reimplement __is_swappable
778 and __is_nothrow_swappable. Move __is_swappable to namespace std,
779 adjust callers. Use __is_nothrow_swappable in swap.
780 * include/bits/move.h: Use __is_nothrow_swappable in swap.
781 * testsuite/20_util/is_nothrow_swappable/value.cc: Extend; remove
782 __is_swappable related tests.
783 * testsuite/20_util/is_swappable/value.cc: New.
784 * testsuite/20_util/is_swappable/requirements/
785 explicit_instantiation.cc: New.
786 * testsuite/20_util/is_swappable/requirements/typedefs.cc: New.
787 * testsuite/25_algorithms/swap/68877.cc: New.
788
1c3c7c41
JW
7892016-01-12 Jonathan Wakely <jwakely@redhat.com>
790
bd285a8b
JW
791 * testsuite/20_util/function/68995.cc: Test reference_wrapper cases.
792
1c3c7c41
JW
793 PR libstdc++/69005
794 PR libstdc++/69222
795 * include/std/functional (function::_Invoke): Remove, use result_of.
796 (function::_Callable): Replace alias template with class template
797 and use partial specialization instead of _NotSelf alias template.
798 (function(_Functor)): Add "not self" constraint so that _Callable is
799 not used while type is incomplete.
800 * testsuite/20_util/function/69222.cc: New.
801
1517bc30
JW
8022016-01-11 Jonathan Wakely <jwakely@redhat.com>
803
804 PR libstdc++/60976
805 * include/bits/alloc_traits.h (allocator_traits<allocator<_Tp>>):
806 Define partial specialization.
807 * testsuite/20_util/shared_ptr/cons/58659.cc: Add construct and
808 destroy members to std::allocator explicit specialization.
809
e525d78c
JW
8102016-01-08 Jonathan Wakely <jwakely@redhat.com>
811
8babc12b
JW
812 * testsuite/26_numerics/headers/cmath/
813 c99_classification_macros_c++.cc: Rename to ...
814 * testsuite/26_numerics/headers/cmath/
815 c99_classification_macros_c++98.cc: Here and add -std=gnu++98.
816 * testsuite/26_numerics/headers/cmath/
817 c99_classification_macros_c++0x.cc: Rename to ...
818 * testsuite/26_numerics/headers/cmath/
819 c99_classification_macros_c++11.cc: Here.
820
32a8c97f 821 PR libstdc++/69190
e525d78c
JW
822 * include/bits/uses_allocator.h: Add missing include.
823
f885fa89
JW
8242016-01-07 Jonathan Wakely <jwakely@redhat.com>
825
826 PR libstdc++/69105
827 PR libstdc++/69106
828 PR libstdc++/69114
829 * include/bits/stl_iterator.h (back_insert_iterator,
830 front_insert_iterator, insert_iterator): Use __addressof (LWG 2324).
831 * include/bits/uses_allocator.h (__use_alloc): Use __addressof.
832 * include/std/future (__future::base::_State_baseV2::__setter):
833 Likewise.
834 * include/std/scoped_allocator (__outermost): Likewise.
835 * testsuite/20_util/scoped_allocator/69114.cc: New.
836 * testsuite/20_util/uses_allocator/69114.cc: New.
837 * testsuite/30_threads/promise/69106.cc: New.
838
0c3e5dd1
JW
8392016-01-06 Jonathan Wakely <jwakely@redhat.com>
840
373a75fb
JW
841 PR libstdc++/69092
842 * include/bits/basic_string.h (basic_string::_S_copy_chars<_Iterator>):
843 Remove _GLIBCXX_NOEXCEPT.
844 testsuite/21_strings/basic_string/cons/char/69092.cc: New.
845
0c3e5dd1
JW
846 * include/Makefile.am: Adjust.
847 * include/Makefile.in: Regenerate.
848 * include/bits/mutex.h: Rename to bits/std_mutex.h.
849 * include/std/condition_variable: Adjust include.
850 * include/std/mutex: Likewise.
851
818ab71a 8522016-01-04 Jakub Jelinek <jakub@redhat.com>
5624e564
JJ
853
854 Update copyright years.
b4df5e92 855\f
818ab71a 856Copyright (C) 2016 Free Software Foundation, Inc.
b4df5e92
JW
857
858Copying and distribution of this file, with or without modification,
859are permitted in any medium without royalty provided the copyright
860notice and this notice are preserved.