re PR libstdc++/61269 (<type_traits> includes <cstdint> inside std namespace)
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/61269
4 * include/std/type_traits: Move include outside namespace std.
5 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
6 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
7 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
8 Likewise.
9
10 2014-05-21 John Marino <gnugcc@marino.st>
11
12 * acinclude.m4 (*-*-dragonfly*): New target.
13 * configure: Regenerate.
14 * configure.host (*-*-dragonfly*): New target.
15 * config/locale/dragonfly/c_locale.cc: New.
16 * config/locale/dragonfly/ctype_members.cc: New.
17 * config/os/bsd/dragonfly/ctype_base.h: New.
18 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
19 * config/os/bsd/dragonfly/ctype_inline.h: New.
20 * config/os/bsd/dragonfly/os_defines.h: New.
21
22 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
23
24 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
25 libstdc++.exp imports those flags via getenv.
26 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
27 CXXFLAGS contains a '-O' flag.
28
29 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
30
31 PR libstdc++/61223
32 Revert:
33 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
34
35 PR libstdc++/60758
36 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
37 and add unwind directives.
38
39 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
40
41 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
42
43 2014-05-20 Tim Shen <timshen91@gmail.com>
44
45 PR libstdc++/61227
46 * include/bits/regex_compiler.h
47 (_BracketMatcher<>::_M_add_character_class): Add negative character
48 class support.
49 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
50 Likewise.
51 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
52 Add more testcases.
53
54 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
55
56 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
57
58 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
59
60 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
61 * libsupc++/new_opnt.cc: Likewise.
62
63 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
64
65 PR libstdc++/60966
66 * include/std/future (__future_base::_State_baseV2::_M_set_result):
67 Pass lock into _M_do_set and hold it until the function returns.
68 Signal condition variable after call_once completes.
69 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
70 signal here.
71 * testsuite/30_threads/promise/60966.cc: New.
72
73 2014-05-16 Iain Sandoe <iain@codesourcery.com>
74 Sandra Loosemore <sandra@codesourcery.com>
75
76 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
77 until after checking that the test is eligible to be run.
78
79 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
80
81 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
82 test for 32-bit target.
83 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
84 Likewise.
85 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
86 Fix test.
87
88 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
89
90 PR libstdc++/60758
91 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
92 and add unwind directives.
93
94 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
95
96 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
97 overflow.
98 * include/std/chrono (chrono_literals::__select_type::_Select_type):
99 Remove.
100 (chrono_literals::_Checked_integral_constant): Define.
101 Simplify UDL operator templates and check for overflow.
102 * testsuite/20_util/duration/literals/range.cc: New.
103
104 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
105 Jonathan Wakely <jwakely@redhat.com>
106
107 PR libstdc++/61166
108 * include/bits/parse_numbers.h: Use integral_constant to remove
109 duplication and simplify.
110 * testsuite/20_util/duration/literals/61166.cc: New.
111
112 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
113
114 PR libstdc++/60326
115 * include/std/type_traits (__make_unsigned, __make_signed): Define
116 specializations for wchar_t, char16_t and char32_t.
117 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
118 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
119 test for make_unsigned<volatile wchar_t>.
120 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
121 Likewise.
122 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
123 line number.
124 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
125 Likewise.
126 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
127 Likewise.
128
129 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
130
131 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
132 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
133 * include/std/utility (tuple_size, tuple_element): Likewise.
134 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
135 Adjust dg-error line number.
136
137 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
138
139 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
140 (__tuple_element_t): Define.
141 (tuple_element): Use __tuple_element_t.
142 (__cv_tuple_size): Define.
143 (tuple_size<cv _Tp>): Use __cv_tuple_size.
144 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
145 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
146 (__tuple_compare): Remove size check, re-order parameters.
147 (operator==, operator<): Use static_assert to check requirements.
148 * include/std/functional (__volget): use __tuple_element_t.
149 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
150 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
151
152 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
153
154 PR libstdc++/60497
155 * include/std/tuple (get, __tuple_compare): Qualify more calls to
156 prevent ADL. Cast comparison results to bool.
157 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
158 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
159
160 PR libstdc++/60497
161 * include/debug/array (get): Qualify call to other get overload.
162 * include/profile/array (get): Likewise.
163 * include/std/array (get): Likewise.
164 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
165 * include/std/mutex (unique_lock, call_once): Use __addressof.
166 (__unlock_impl): Remove unused template.
167 (__try_to_lock): Declare inline.
168 (__try_lock_impl::__do_try_lock): Qualify function calls.
169 (lock): Avoid narrowing conversion.
170 * testsuite/20_util/bind/60497.cc: New.
171 * testsuite/23_containers/array/element_access/60497.cc: New.
172 * testsuite/30_threads/call_once/60497.cc: New.
173 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
174
175 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
176
177 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
178 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
179 * acinclude.m4 (libtool_VERSION): Bump.
180 * configure: Regenerate.
181 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
182 * testsuite/28_regex/regex_error/base.cc: New.
183
184 2014-05-08 Joshua Gay <jgay@gnu.org>
185
186 PR libstdc++/61117
187 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
188 source" with "free software".
189 * doc/html/faq.html: Likewise.
190
191 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
192
193 PR libstdc++/57394
194 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
195 deleted for C++11.
196 (operator=(const ios_base&)): Likewise.
197 * include/std/streambuf: Remove trailing whitespace.
198 (basic_streambuf(const basic_streambuf&)): Fix initializer for
199 _M_out_end. Define as defaulted for C++11.
200 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
201 (swap(basic_streambuf&)): Define for C++11.
202 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
203
204 PR libstdc++/13860
205 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
206
207 * include/std/iostream: Fix URL in comment.
208 * src/c++98/ios_init.cc: Fix path in comment.
209
210 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
211
212 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
213 * configure: Regenerate.
214
215 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
216
217 PR libstdc++/61023
218 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
219 comparison function.
220 * testsuite/23_containers/set/cons/61023.cc: New.
221
222 PR libstdc++/61086
223 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
224 Remove.
225 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
226 arithmetic to obtain a mutable iterator from const_iterator.
227 * include/bits/vector.tcc (vector::insert): Likewise.
228 * include/debug/vector (vector::erase): Likewise.
229 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
230 Adjust dg-error line number.
231 * testsuite/23_containers/vector/requirements/dr438/
232 constructor_1_neg.cc: Likewise.
233 * testsuite/23_containers/vector/requirements/dr438/
234 constructor_2_neg.cc: Likewise.
235 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
236 Likewise.
237
238 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
239
240 * include/Makefile.in: Regenerate.
241
242 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
243
244 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
245 parameter to pass the 2 instances to check allocator equality.
246 * include/debug/safe_container.h: New, define _Safe_container<>.
247 * include/Makefile.am: Add previous.
248 * include/debug/deque (std::__debug::deque<>): Inherit
249 _Safe_container<>. Use default implementation for all special
250 functions.
251 * include/debug/forward_list (std::__debug::forward_list<>):
252 Likewise.
253 * include/debug/list (std::__debug::list<>): Likewise.
254 * include/debug/map.h (std::__debug::map<>): Likewise.
255 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
256 * include/debug/set.h (std::__debug::set<>): Likewise.
257 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
258 * include/debug/string (std::__debug::basic_string<>): Likewise.
259 * include/debug/unordered_map
260 (std::__debug::unordered_map<>): Likewise.
261 (std::__debug::unordered_multimap<>): Likewise.
262 * include/debug/unordered_set
263 (std::__debug::unordered_set<>): Likewise.
264 (std::__debug::unordered_multiset<>): Likewise.
265 * include/debug/vector (std::__debug::vector<>): Likewise.
266 * include/debug/safe_base.h (_Safe_sequence_base()): Add
267 noexcept.
268 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
269 (~_Safe_sequence_base()): Add noexcept.
270 * include/debug/safe_sequence.h
271 (std::__debug::_Safe_node_sequence<>): New.
272 * include/debug/safe_unordered_base.h
273 (_Safe_unordered_container_base()): Add noexcept.
274 (~_Safe_unordered_container_base()): Likewise.
275 (_M_swap(_Safe_unordered_container_base&)): Likewise.
276 * include/debug/safe_unordered_container.h:
277 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
278 (_Safe_unordered_container<>::_M_invalidate_all()): New.
279 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
280 qualifications.
281 * testsuite/util/debug/checks.h (check_construct1): Just implement
282 an invalid constructor invocation and no other operations
283 potentially not supported by some types of container.
284 (check_construct2): Likewise.
285 (check_construct3): Likewise.
286 * testsuite/23_containers/forward_list/allocator/move.cc: Add
287 check on iterators to make sure they are correctly moved in debug
288 mode.
289 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
290 Likewise.
291 * testsuite/23_containers/map/allocator/move.cc: Likewise.
292 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
293 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
294 * testsuite/23_containers/multimap/allocator/move_assign.cc:
295 Likewise.
296 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
297 * testsuite/23_containers/multiset/allocator/move_assign.cc:
298 Likewise.
299 * testsuite/23_containers/set/allocator/move.cc: Likewise.
300 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
301 * testsuite/23_containers/unordered_map/allocator/move.cc:
302 Likewise.
303 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
304 Likewise.
305 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
306 Likewise.
307 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
308 Likewise.
309 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
310 Likewise.
311 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
312 Likewise.
313 * testsuite/23_containers/unordered_set/allocator/move.cc:
314 Likewise.
315 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
316 Likewise.
317 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
318 New.
319 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
320 New.
321 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
322 New.
323 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
324 New.
325 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
326 New.
327 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
328 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
329 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
330 * testsuite/23_containers/map/debug/move_neg.cc: New.
331 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
332 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
333 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
334 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
335 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
336 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
337 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
338 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
339 * testsuite/23_containers/set/debug/move_neg.cc: New.
340 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
341 New.
342 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
343 New.
344 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
345 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
346 New.
347 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
348 New.
349 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
350 New.
351 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
352 New.
353 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
354 New.
355 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
356 New.
357 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
358 New.
359 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
360 New.
361 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
362 * testsuite/23_containers/vector/debug/move_neg.cc: New.
363
364 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
365
366 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
367 (CXXABI_1.3.9): Remove __float128 symbols.
368
369 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
370
371 PR libstdc++/59476
372 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
373 function to handle both C++03 and C++11 _Rb_tree_node implementations.
374 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
375 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
376 refer to...
377 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
378
379 PR libstdc++/61036
380 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
381 Check the correct type in the static assertion.
382 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
383
384 2014-04-27 Tim Shen <timshen91@gmail.com>
385
386 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
387 Add _S_opcode_repeat support to distingush a loop from
388 _S_opcode_alternative.
389 * include/bits/regex_automaton.tcc (_State_base::_M_print,
390 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
391 _StateSeq<>::_M_clone): Likewise.
392 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
393 Likewise.
394 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
395 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
396 Uglify local variable __i.
397 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
398 Use size_t instead of int to compare with vector::size().
399
400 2014-04-27 Tim Shen <timshen91@gmail.com>
401
402 * include/bits/regex_executor.h: Add _M_rep_count to track how
403 many times this repeat node are visited.
404 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
405 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
406 infinite loop.
407
408 2014-04-27 Tim Shen <timshen91@gmail.com>
409
410 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
411 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
412 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
413 * include/bits/regex_automaton.h: Remove quantifier counting variable.
414 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
415 Adjust debug NFA dump.
416
417 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
418
419 PR libstdc++/60710
420 * include/experimental/optional (operator!=): Implement in terms of
421 operator==.
422 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
423 * testsuite/experimental/optional/relops/2.cc: Likewise.
424 * testsuite/experimental/optional/relops/3.cc: Likewise.
425 * testsuite/experimental/optional/relops/4.cc: Likewise.
426 * testsuite/experimental/optional/relops/5.cc: Likewise.
427 * testsuite/experimental/optional/relops/6.cc: Likewise.
428
429 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
430
431 PR libstdc++/60958
432 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
433 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
434 comment.
435
436 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
437
438 * testsuite/util/testsuite_abi.cc (check_version): Update for
439 CXXABI_1.3.9.
440
441 2014-04-24 Tim Shen <timshen91@gmail.com>
442
443 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
444 Do _M_alt before _M_next.
445 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
446
447 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
448
449 PR libstdc++/43622
450 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
451 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
452 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
453
454 2014-04-24 Andreas Schwab <schwab@suse.de>
455
456 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
457 new CXXABI_1.3.9 symbols.
458
459 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
460
461 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
462 (CXXABI_1.3.9): New version.
463
464 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
465
466 PR libstdc++/43622
467 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
468 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
469 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
470
471 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
472
473 * configure.host: Remove solaris2.9 handling.
474 Change os_include_dir to os/solaris/solaris2.10.
475 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
476 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
477 * configure: Regenerate.
478 * config/abi/post/solaris2.9: Remove.
479 * config/os/solaris/solaris2.9: Rename to ...
480 * config/os/solaris/solaris2.10: ... this.
481 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
482 Remove.
483
484 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
485 Remove Solaris 9 reference.
486 * doc/html/manual/configure.html: Regenerate.
487
488 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
489 Remove *-*-solaris2.9 xfail.
490 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
491 Likewise.
492
493 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
494 xfail.
495
496 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
497
498 * include/std/functional (__is_location_invariant): Use __or_ helper.
499
500 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
501
502 PR libstdc++/60734
503 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
504
505 PR libstdc++/60695
506 * include/std/atomic (atomic<_Tp>): Add static assertion.
507 * testsuite/29_atomics/atomic/60695.cc: New.
508
509 PR libstdc++/60594
510 * include/std/functional (function::_Callable): Exclude own type
511 from the callable checks.
512 * testsuite/20_util/function/60594.cc: New.
513
514 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
515 const to constexpr member functions.
516
517 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
518 delegating constructor.
519 * include/bits/shared_ptr_base.h
520 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
521
522 * include/std/atomic: Uglify parameter names.
523
524 PR c++/60786
525 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
526 1.cc: Fix invalid explicit instantiations with unqualified names.
527 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
528 2.cc: Likweise.
529 * testsuite/20_util/tuple/53648.cc: Likweise.
530 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
531 Likewise.
532 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
533 Likewise.
534 * testsuite/23_containers/unordered_map/requirements/
535 debug_container.cc: Likewise.
536 * testsuite/23_containers/unordered_map/requirements/
537 explicit_instantiation/3.cc: Likewise.
538 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
539 Likewise.
540 * testsuite/23_containers/unordered_multimap/requirements/
541 explicit_instantiation/3.cc: Likewise.
542 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
543 Likewise.
544 * testsuite/23_containers/unordered_multiset/requirements/
545 explicit_instantiation/3.cc: Likewise.
546 * testsuite/23_containers/unordered_set/requirements/
547 debug_container.cc: Likewise.
548 * testsuite/23_containers/unordered_set/requirements/
549 explicit_instantiation/3.cc: Likewise.
550
551 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
552 not use uninitialized members in mem-initializers.
553 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
554 * testsuite/util/testsuite_common_types.h: Update comment.
555
556 * include/experimental/string_view: Fix inconsistent exception specs.
557
558 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
559 Remove name of unused parameter.
560
561 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
562
563 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
564 _Vector_base::_M_allocate): NullablePointer requirements do not
565 include initialization from literal zero, use value-initialization.
566 * include/bits/vector.tcc (vector::_M_insert_aux,
567 vector::_M_explace_back_aux): Likewise for assignment.
568
569 * include/bits/allocator.h (operator==, operator!=): Add exception
570 specifications.
571
572 PR libstdc++/60497
573 * include/std/tuple (get): Qualify calls to prevent ADL.
574 * testsuite/20_util/tuple/60497.cc: New.
575
576 * include/std/tuple (tuple_element_t): Define.
577 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
578 test.
579 * testsuite/20_util/tuple/tuple_element_t.cc: New.
580
581 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
582
583 PR libstdc++/59434
584 * include/bits/stl_iterator.h (move_iterator::reference,
585 move_iterator::operator*): Implement LWG 2106.
586 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
587
588 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
589
590 * include/std/complex (__complex_exp, pow): Specify the template
591 parameter in calls to std::polar, for expression templates.
592
593 2014-04-10 Andreas Schwab <schwab@suse.de>
594
595 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
596 symbols.
597 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
598 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
599
600 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
601
602 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
603
604 * testsuite/20_util/exchange/1.cc: Add missing return statements.
605 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
606 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
607 specifications.
608
609 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
610 Jack Howarth <howarth@bromo.med.uc.edu>
611
612 PR target/54407
613 * testsuite/30_threads/condition_variable/54185.cc: Skip for
614 darwin < 11.
615
616 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
617
618 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
619 Update link.
620 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
621 Fix broken links.
622 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
623 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
624 * doc/xml/manual/concurrency_extensions.xml
625 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
626 * doc/html/*: Regenerate.
627
628 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
629 Jonathan Wakely <jwakely@redhat.com>
630
631 PR libstdc++/60270
632 * include/std/iomanip (_Quoted_string operator>>): Do not clear
633 string if input is not quoted.
634 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
635
636 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
637
638 * libsupc++/eh_ptr.cc: Improve static_assert messages.
639
640 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
641
642 * testsuite/18_support/exception_ptr/60612-terminate.cc
643 (terminate, f): Wrap in _GLIBCXX_USE_C99.
644 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
645
646 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
647
648 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
649
650 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
651 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
652 Likewise.
653 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
654 Likewise.
655 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
656
657 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
658 Fix bad s/part/chapter/ substitutions.
659 * doc/xml/manual/io.xml (std.io): Likewise.
660 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
661 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
662
663 * doc/html/*: Regenerate.
664
665 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
666
667 PR libstdc++/60612
668 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
669 compatible with __cxa_exception.
670 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
671 Fix typos in comments.
672 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
673 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
674
675 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
676
677 PR libstdc++/60658
678 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
679 Use sizeof pointer type not the element type.
680 * testsuite/29_atomics/atomic/60658.cc: New.
681
682 2014-03-24 Jakub Jelinek <jakub@redhat.com>
683
684 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
685 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
686 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
687 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
688 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
689 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
690 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
691 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
692 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
693 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
694 entries.
695
696 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
697
698 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
699
700 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
701
702 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
703 to delegated constructor.
704 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
705 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
706 Likewise.
707 (_Hashtable(
708 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
709
710 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
711
712 PR libstdc++/60623
713 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
714
715 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
716
717 PR libstdc++/60587
718 * include/debug/functions.h (_Is_contiguous_sequence): Define.
719 (__foreign_iterator): Accept additional iterator. Do not dispatch on
720 iterator category.
721 (__foreign_iterator_aux2): Likewise. Add overload for iterators
722 from different types of debug container. Use _Is_contiguous_sequence
723 instead of is_lvalue_reference.
724 (__foreign_iterator_aux3): Accept additional iterator. Avoid
725 dereferencing past-the-end iterator.
726 (__foreign_iterator_aux4): Use const value_type* instead of
727 potentially user-defined const_pointer type.
728 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
729 and pass end iterator to __gnu_debug::__foreign_iterator.
730 (__glibcxx_check_insert_range_after): Likewise.
731 (__glibcxx_check_max_load_factor): Fix comment.
732 * include/debug/vector (_Is_contiguous_sequence): Define partial
733 specializations.
734 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
735 -std=gnu++11 option and unused header.
736 * testsuite/23_containers/vector/debug/60587.cc: New.
737 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
738
739 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
740
741 * crossconfig.m4: Support spu-*-elf* targets.
742 * configure: Regenerate.
743
744 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
745
746 PR libstdc++/60564
747 * include/std/future (__future_base::_Task_state<>): Change
748 constructors to template functions using perfect forwarding.
749 (__create_task_state): Use decayed type as stored task.
750 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
751 * testsuite/30_threads/packaged_task/60564.cc: New.
752
753 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
754
755 * scripts/create_testsuite_files: Add testsuite/experimental in
756 the list of folders to search for tests.
757
758 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
759
760 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
761
762 2014-03-15 Tim Shen <timshen91@gmail.com>
763
764 * include/bits/regex.h: Add/modify comments.
765 * include/bits/regex_compiler.h: Likewise.
766 * include/bits/regex_executor.h: Likewise.
767 * include/bits/regex_executor.tcc: Likewise.
768 * include/bits/regex_scanner.h: Likewise.
769
770 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
771
772 PR ipa/58721
773 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
774 _ZNSt12system_errorC* symbols which are not exported on any target.
775
776 2014-03-12 Roland McGrath <mcgrathr@google.com>
777 Mark Seaborn <mseaborn@google.com>
778
779 PR libstdc++/59392
780 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
781 the address of a null pointer, not with a null pointer to pointer.
782 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
783 * testsuite/18_support/bad_exception/59392.cc: New file.
784
785 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
786
787 PR libstdc++/60499
788 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
789 Uglify name.
790 * include/debug/map (map::operator=(map&&)): Likewise.
791 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
792 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
793 * include/debug/set (set::operator=(set&&)): Likewise.
794 * include/debug/unordered_map
795 (unordered_map::operator=(unordered_map&&)): Likewise.
796 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
797 * include/debug/unordered_set
798 (unordered_set::operator=(unordered_set&&)): Likewise.
799 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
800 * include/debug/vector (vector::operator=(vector&&)): Likewise.
801 * testsuite/23_containers/forward_list/debug/60499.cc: New
802 * testsuite/23_containers/map/debug/60499.cc: New
803 * testsuite/23_containers/multimap/debug/60499.cc: New
804 * testsuite/23_containers/multiset/debug/60499.cc: New
805 * testsuite/23_containers/set/debug/60499.cc: New
806 * testsuite/23_containers/unordered_map/debug/60499.cc: New
807 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
808 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
809 * testsuite/23_containers/unordered_set/debug/60499.cc: New
810 * testsuite/23_containers/vector/debug/60499.cc: New
811
812 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
813
814 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
815 for filesystem and fundamentals TS work items.
816
817 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
818
819 PR c++/60376
820 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
821 Adjust dg-error directives.
822
823 2014-02-26 Tim Shen <timshen91@gmail.com>
824
825 * include/bits/regex.tcc (match_results<>::format,
826 regex_replace<>): Update __out after calling std::copy.
827 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
828 Add testcase.
829 * testsuite/28_regex/match_results/format.cc: Likewise.
830
831 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
832
833 PR libstdc++/60308
834 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
835 allocator_type&)): Remove redundant call to _M_initialize_map.
836 (deque::deque(const allocator_type&)): Initialize _Base with a
837 constructor that calls _M_initialize_map.
838
839 Partial revert:
840
841 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
842 PR libstdc++/58338
843 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
844 _M_initialize_map.
845
846 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
847
848 Rename testsuite directory shared_mutex to shared_timed_mutex
849 for consistency.
850 * testsuite/30_threads/shared_mutex: Moved to...
851 * testsuite/30_threads/shared_timed_mutex: ...here
852
853 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
854
855 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
856 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
857 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
858 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
859 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
860 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
861 * testsuite/30_threads/shared_lock/requirements/
862 explicit_instantiation.cc: Ditto.
863 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
864 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
865 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
866 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
867 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
868 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
869 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
870 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
871 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
872 * testsuite/30_threads/shared_mutex/requirements/
873 standard_layout.cc: Ditto.
874 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
875 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
876 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
877 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
878 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
879
880 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
881
882 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
883 execution on i?86-*-solaris2.9, remove comment.
884 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
885
886 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
887
888 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
889 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
890 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
891
892 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
893
894 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
895 not use varargs when argument could be non-POD.
896 (__alloctr_rebind_helper): Eliminate static const bool member by
897 using true_type and false_type.
898 (allocator_traits::__allocate_helper): Likewise.
899 (allocator_traits::__construct_helper): Likewise.
900 (allocator_traits::__destroy_helper): Likewise.
901 (allocator_traits::__maxsize_helper): Likewise.
902 (allocator_traits::__select_helper): Likewise.
903 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
904 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
905 Remove redundant condition.
906 * include/bits/stl_vector.h (vector::operator=(const vector&)):
907 Likewise.
908 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
909 indirection through __alloc_traits.
910 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
911 Eliminate static const bool members by using true_type and false_type.
912 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
913 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
914 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
915 New.
916 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
917
918 PR libstdc++/59829
919 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
920 (vector::_M_data_ptr): New overloaded functions to ensure empty
921 vectors do not dereference the pointer.
922 * testsuite/23_containers/vector/59829.cc: New.
923 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
924 Adjust dg-error line number.
925 * testsuite/23_containers/vector/requirements/dr438/
926 constructor_1_neg.cc: Likewise.
927 * testsuite/23_containers/vector/requirements/dr438/
928 constructor_2_neg.cc: Likewise.
929 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
930 Likewise.
931
932 PR libstdc++/21609
933 * include/ext/array_allocator.h: Add deprecated attribute.
934
935 PR libstdc++/57226
936 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
937 installation and use of python printers.
938 * doc/xml/manual/status_cxx2011.xml: Update.
939 * doc/html/*: Regenerate.
940
941 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
942 Kyle Lippincott <spectral@google.com>
943
944 PR libstdc++/59656
945 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
946 constructor and grant friendship to weak_ptr.
947 (weak_ptr::lock()): Use new constructor.
948 * include/bits/shared_ptr_base.h
949 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
950 and define specializations.
951 (__shared_count): Add new non-throwing constructor.
952 (__shared_ptr): Add new non-throwing constructor and grant friendship
953 to __weak_ptr.
954 (__weak_ptr::lock()): Use new constructor.
955 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
956 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
957
958 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
959
960 PR libstdc++/59215
961 * include/bits/shared_ptr_base.h
962 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
963 load.
964
965 2014-01-27 Jason Merrill <jason@redhat.com>
966
967 Core DR 475
968 PR c++/41174
969 PR c++/59224
970 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
971 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
972 (__cxa_allocate_exception): Don't set it here.
973
974 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
975
976 * include/bits/stl_map.h: Remove anachronistic comment.
977 * include/bits/stl_multimap.h: Add whitespace.
978 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
979 -std=gnu++11 instead of -std=c++11.
980 * testsuite/23_containers/map/operators/2.cc: Likewise.
981 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
982 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
983 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
984
985 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
986 * configure: Regenerate.
987
988 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
989
990 PR libstdc++/59531
991 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
992 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
993
994 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
995 Peter A. Bigot <pab@pabigot.com>
996
997 PR libstdc++/59531
998 * include/experimental/string_view
999 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1000 Correct copy start location.
1001
1002 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1003 Peter A. Bigot <pab@pabigot.com>
1004
1005 PR libstdc++/59530
1006 * include/experimental/string_view (operator[](size_type) const):
1007 Fix one-off index error in debug check.
1008 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1009 test basic_string_view at size().
1010 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1011
1012 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1013 Peter A. Bigot <pab@pabigot.com>
1014
1015 PR libstdc++/59529
1016 * include/experimental/string_view
1017 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1018 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1019 Comment out catch of out_of_range; No terminating null
1020 in basic_string_view. Check begin == end.
1021 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1022 Ditto.
1023
1024 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1025
1026 PR libstdc++/59548
1027 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1028 constructor to prevent it being implicitly defined as deleted, but
1029 do not copy anything.
1030 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1031 Define copy and move constructors similar to _Safe_sequence_base's.
1032 * testsuite/23_containers/unordered_map/59548.cc: New.
1033
1034 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1035 Steve Ellcey <sellcey@mips.com>
1036
1037 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1038 function.
1039 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1040 * (configure, config.h.in): Regenerate.
1041 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1042
1043 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1044
1045 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1046 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1047
1048 PR libstdc++/59872
1049 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1050 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1051 Likewise.
1052 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1053 Likewise.
1054 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1055 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1056 functions to perform moving or copying of elements from rvalue tree.
1057 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1058 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1059 * testsuite/23_containers/map/59872.cc: New.
1060 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1061
1062 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1063
1064 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1065
1066 PR libstdc++/58764
1067 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1068 Split into separate default constructor and constructor taking
1069 allocator.
1070 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1071 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1072 Likewise.
1073 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1074 * include/debug/list (list::list(const _Allocator&)): Likewise.
1075 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1076 Likewise.
1077 * include/debug/multimap.h
1078 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1079 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1080 Likewise.
1081 * include/debug/multiset.h
1082 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1083 * include/debug/vector (vector::vector(const allocator_type&)):
1084 Likewise.
1085 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1086 * include/profile/list (list::list(const _Allocator&)): Likewise.
1087 * include/profile/map.h
1088 (map::map(const _Compare&, const _Allocator&)): Likewise.
1089 * include/profile/multimap.h
1090 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1091 * include/profile/set.h
1092 (set::set(const _Compare&, const _Allocator&)): Likewise.
1093 * include/profile/multiset.h
1094 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1095 * include/profile/vector (vector::vector(const _Allocator&)):
1096 Likewise.
1097 * testsuite/23_containers/deque/58764.cc: New.
1098 * testsuite/23_containers/list/58764.cc: New.
1099 * testsuite/23_containers/map/58764.cc: New.
1100 * testsuite/23_containers/multimap/58764.cc: New.
1101 * testsuite/23_containers/set/58764.cc: New.
1102 * testsuite/23_containers/multiset/58764.cc: New.
1103 * testsuite/23_containers/vector/58764.cc: New.
1104 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1105 Adjust dg-error line number.
1106 * testsuite/23_containers/deque/requirements/dr438/
1107 constructor_1_neg.cc: Likewise.
1108 * testsuite/23_containers/deque/requirements/dr438/
1109 constructor_2_neg.cc: Likewise.
1110 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1111 Likewise.
1112 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1113 Likewise.
1114 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1115 Likewise.
1116 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1117 Likewise.
1118 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1119 Likewise.
1120 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1121 Likewise.
1122 * testsuite/23_containers/vector/requirements/dr438/
1123 constructor_1_neg.cc: Likewise.
1124 * testsuite/23_containers/vector/requirements/dr438/
1125 constructor_2_neg.cc: Likewise.
1126 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1127 Likewise.
1128
1129 PR libstdc++/58764 (again)
1130 * include/bits/stl_list.h (list): Make default constructor's exception
1131 specification conditional.
1132 * include/bits/stl_vector.h (vector): Likewise.
1133 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1134 to default constructor.
1135 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1136 Adjust dg-error line number.
1137 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1138 Likewise.
1139 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1140 Likewise.
1141 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1142 Likewise.
1143 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1144 Likewise.
1145 * testsuite/23_containers/vector/requirements/dr438/
1146 constructor_1_neg.cc: Likewise.
1147 * testsuite/23_containers/vector/requirements/dr438/
1148 constructor_2_neg.cc: Likewise.
1149 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1150 Likewise.
1151
1152 2014-01-21 Tim Shen <timshen91@gmail.com>
1153
1154 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1155 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1156 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1157
1158 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1159
1160 PR libstdc++/56267
1161 * include/bits/hashtable.h (__cache_default): Do not depend on
1162 whether the hash function is DefaultConstructible or CopyAssignable.
1163 (_Hashtable): Adjust static assertions.
1164 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1165 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1166 dg-error line number.
1167 * testsuite/23_containers/unordered_set/
1168 not_default_constructible_hash_neg.cc: Remove.
1169
1170 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1171
1172 * scripts/create_testsuite_files: Add testsuite/experimental in
1173 the list of folders to search for tests.
1174 * include/experimental/string_view
1175 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1176 incompatible with constexpr qualifier.
1177 (basic_string_view<>::front()): Likewise.
1178 (basic_string_view<>::back()): Likewise.
1179 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1180 Merge dg-options directives into one.
1181 * testsuite/experimental/string_view/element_access/char/2.cc:
1182 Likewise. Remove invalid experimental namespace scope on
1183 string_view_type.
1184
1185 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1186
1187 PR libstdc++/56267
1188 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1189 friendship to _Local_iterator_base<..., false>.
1190 (_Local_iterator_base): Give protected access to all existing members.
1191 (_Local_iterator_base::_M_curr()): New public accessor.
1192 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1193 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1194 the lifetime of the _Hash_code_base explicitly.
1195 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1196 (_Local_iterator_base<..., false>): Define copy constructor and copy
1197 assignment operator that use new functions to manage _Hash_code_base.
1198 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1199 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1200 Use public API for _Local_iterator_base.
1201 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1202 * include/debug/unordered_map (__debug::unordered_map::erase(),
1203 __debug::unordered_multimap::erase()): Likewise.
1204 * include/debug/unordered_set (__debug::unordered_set::erase(),
1205 __debug::unordered_multiset::erase()): Likewise.
1206 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1207
1208 2014-01-19 Tim Shen <timshen91@gmail.com>
1209
1210 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1211 Fix parse error of multiple consecutive quantifiers like "a**".
1212 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1213 Likewise.
1214 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1215
1216 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1217
1218 * include/profile/set.h (set): Implement C++11 allocator-aware
1219 container requirements.
1220 * include/profile/map.h (map): Likewise.
1221 * include/profile/multiset.h (multiset): Likewise.
1222 * include/profile/multimap.h (multimap): Likewise.
1223 * include/profile/set.h
1224 (set::operator=(const set&)): Define as default in C++11 mode.
1225 (set::operator=(set&&)): Likewise.
1226 * include/profile/map.h
1227 (map::operator=(const map&)): Likewise.
1228 (map::operator=(map&&)): Likewise.
1229 * include/profile/multiset.h
1230 (multiset::operator=(const multiset&)): Likewise.
1231 (multiset::operator=(multiset&&)): Likewise.
1232 * include/profile/multimap.h
1233 (multimap::operator=(const multimap&)): Likewise.
1234 (multimap::operator=(multimap&&)): Likewise.
1235 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1236 Rely on the same operator from normal mode.
1237 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1238 Likewise.
1239 * include/profile/multiset.h
1240 (multiset::operator=(std::initializer_list<>)): Likewise.
1241 * include/profile/multimap.h
1242 (multimap::operator=(std::initializer_list<>)): Likewise.
1243 * include/profile/set.h (set::swap(set&)): Add noexcept
1244 specification.
1245 * include/profile/map.h (map::swap(map&)): Likewise.
1246 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1247 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1248
1249 2014-01-17 Tim Shen <timshen91@gmail.com>
1250
1251 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1252 use std::map.
1253 * include/bits/regex_automaton.h: Do not use std::set.
1254 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1255 _BracketMatcher<>::_M_add_collating_element(),
1256 _BracketMatcher<>::_M_add_equivalence_class(),
1257 _BracketMatcher<>::_M_make_range()): Likewise.
1258 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1259 Likewise.
1260 * include/bits/regex_executor.h: Do not use std::queue.
1261 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1262 _Executor<>::_M_dfs()): Likewise.
1263 * include/std/regex: Remove <map>, <set> and <queue>.
1264
1265 2014-01-17 Tim Shen <timshen91@gmail.com>
1266
1267 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1268 basic_regex<>::assign()): Change __compile_nfa to accept
1269 const _CharT* only.
1270 * include/bits/regex_compiler.h: Change _Compiler's template
1271 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1272 * include/bits/regex_compiler.tcc: Likewise.
1273
1274 2014-01-17 Tim Shen <timshen91@gmail.com>
1275
1276 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1277 templated.
1278 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1279 _ScannerBase from _Scanner; Change _Scanner's template argument from
1280 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1281 instead.
1282 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1283 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1284 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1285 Likewise.
1286 * include/std/regex: Add <cstring> for using strchr.
1287
1288 2014-01-17 Tim Shen <timshen91@gmail.com>
1289
1290 * bits/regex_automaton.tcc: Indentation fix.
1291 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1292 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1293 _BracketMatcher<>): Add bool option template parameters and
1294 specializations to make matching more efficient and space saving.
1295 * bits/regex_compiler.tcc: Likewise.
1296
1297 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1298
1299 PR libstdc++/59712
1300 * include/bits/hashtable_policy.h: Fix some long lines.
1301 * include/bits/hashtable.h (__hash_code_base_access): Define and
1302 use it to check its _M_bucket_index noexcept qualification. Use
1303 also in place of...
1304 (__access_protected_ctor): ...this.
1305 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1306 Adapt line number.
1307 * testsuite/23_containers/unordered_set/
1308 not_default_constructible_hash_neg.cc: Likewise.
1309
1310 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1311
1312 * include/debug/set.h (set): Implement C++11 allocator-aware
1313 container requirements.
1314 * include/debug/map.h (map): Likewise.
1315 * include/debug/multiset.h (multiset): Likewise.
1316 * include/debug/multimap.h (multimap): Likewise.
1317 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1318 fix implementation regarding management of safe iterators.
1319 * include/debug/map.h (map::operator=(map&&)): Likewise.
1320 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1321 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1322 Likewise.
1323 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1324 Rely on the same operator from normal mode.
1325 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1326 Likewise.
1327 * include/debug/multiset.h
1328 (multiset::operator=(std::initializer_list<>)): Likewise.
1329 * include/debug/multimap.h
1330 (multimap::operator=(std::initializer_list<>)): Likewise.
1331 * include/debug/set.h (set::swap(set&)): Add noexcept
1332 specification, add allocator equality check.
1333 * include/debug/map.h (map::swap(map&)): Likewise.
1334 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1335 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1336
1337 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1338
1339 PR libstdc++/59698
1340 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1341 and stylistic improvements.
1342 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1343 and update for C++11.
1344 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1345
1346 PR libstdc++/59687
1347 * doc/xml/manual/backwards_compatibility.xml
1348 (backwards.third.nocreate_noreplace): Correct and expand.
1349
1350 PR libstdc++/59699
1351 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1352
1353 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1354
1355 PR libstdc++/59738
1356 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1357 support for non-Movable types.
1358
1359 PR libstdc++/59680
1360 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1361
1362 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1363
1364 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1365 *this allocator instance when building temporary vector instance
1366 so that *this allocator does not get moved.
1367 * include/debug/safe_base.h
1368 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1369 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1370 move constructor from _Safe_sequence_base.
1371 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1372 safe iterators if the instance is moved.
1373 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1374 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1375 check on a vector iterator.
1376 * testsuite/23_containers/vector/allocator/move_assign.cc
1377 (test02): Likewise.
1378 (test03): New, test with a non-propagating allocator.
1379 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1380
1381 2014-01-07 Tim Shen <timshen91@gmail.com>
1382
1383 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1384 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1385 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1386 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1387 _BracketMatcher<>::_M_add_char(),
1388 _BracketMatcher<>::_M_add_collating_element(),
1389 _BracketMatcher<>::_M_add_equivalence_class(),
1390 _BracketMatcher<>::_M_add_character_class(),
1391 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1392 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1393 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1394 to template parameter; Add cache for _BracketMatcher. Adjust
1395 declarations from here...
1396 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1397 imbuing a regex will trigger a recompilation to rebuild the cache.
1398 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1399 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1400 different template bool parameters.
1401 * include/bits/regex_executor.h: Remove unnecessary declarations.
1402 * include/std/regex: Adjust including orders.
1403 * testsuite/28_regex/traits/char/user_defined.cc: New.
1404 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1405
1406 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1407
1408 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1409 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1410 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1411 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1412 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1413
1414 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1415
1416 Update copyright years
1417
1418 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1419
1420 * testsuite/18_support/new_handler.cc,
1421 testsuite/18_support/terminate_handler.cc,
1422 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1423 the copyright notice.
1424 \f
1425 Copyright (C) 2014 Free Software Foundation, Inc.
1426
1427 Copying and distribution of this file, with or without modification,
1428 are permitted in any medium without royalty provided the copyright
1429 notice and this notice are preserved.