re PR libstdc++/61424 (std::regex matches right to left, not leftmost longest)
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-07-01 Tim Shen <timshen@google.com>
2
3 PR libstdc++/61424
4 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
5 not just regex containing back-references.
6 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
7 exchange _M_next and _M_alt for alternative operator,
8 making matching from left to right.
9 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
10 Add position tracking fom DFS.
11 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
12 _Executor<>::_M_dfs): Likewise.
13 * include/bits/regex_scanner.h: Remove unused enum entry.
14 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
15 testcase from PR.
16
17 2014-06-30 Jason Merrill <jason@redhat.com>
18
19 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
20 is pure, not inline.
21
22 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
23
24 Revert:
25 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
27
28 PR libstdc++/61536
29 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
30
31 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
32
33 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
34
35 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
36
37 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
38 parameter type.
39
40 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
41
42 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
43 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
44 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
45 Likewise.
46 * include/ext/alloc_traits.h: Fix comment.
47
48 * include/Makefile.am: Add new header.
49 * include/Makefile.in: Regenerate.
50 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
51 New RAII utilities for working with allocators.
52 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
53 __allocator_type typedef and use new __allocated_ptr type.
54 (_Sp_counted_ptr_inplace): Likewise.
55 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
56 __allocate_guarded to to simplify exception handling.
57 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
58 * include/std/future (_Result_alloc::_M_destroy): Likewise.
59 (_Result_alloc::_S_allocate_result): Likewise.
60 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
61 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
62 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
63 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
64 with fancy pointer.
65 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
66
67 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
68 allocator.
69 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
70 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
71
72 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
73
74 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
75 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
76 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
77 Remove unused typedef.
78 (time_get::do_get_monthname): Likewise.
79 * include/bits/stl_tree.h: Add system_header pragma.
80 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
81 redundant const-qualifier.
82 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
83 instead of _GLIBCXX_USE_CONSTEXPR.
84
85 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
86
87 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
88 * include/std/chrono (_Checked_integral_constant): Allow zero.
89 * testsuite/20_util/duration/literals/values.cc: Test non-positive
90 values and digit separators.
91 * include/experimental/any
92
93 PR libstdc++/61532
94 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
95 apply the signed specifier to wchar_t.
96 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
97 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
98 cv-qualifier and size.
99 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
100 Likewise.
101
102 * include/experimental/any (any_v1): Rename namespace to
103 fundamentals_v1. Change string returned by bad_any_cast::what().
104 * include/experimental/optional (fundamentals_v1): Add namespace.
105 * include/experimental/string_view (fundamentals_v1): Likewise.
106 * testsuite/experimental/any/typedefs.cc: New.
107 * testsuite/experimental/optional/typedefs.cc: New.
108 * testsuite/experimental/string_view/typedefs.cc: New.
109
110 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
111 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
112
113 PR libstdc++/61536
114 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
115
116 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
117
118 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
119 * include/Makefile.am: Add new header.
120 * include/Makefile.in: Regenerate.
121 * include/experimental/any: New.
122 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
123 constructor.
124 * testsuite/experimental/any/assign/1.cc: New.
125 * testsuite/experimental/any/assign/2.cc: New.
126 * testsuite/experimental/any/cons/1.cc: New.
127 * testsuite/experimental/any/cons/2.cc: New.
128 * testsuite/experimental/any/cons/3.cc: New.
129 * testsuite/experimental/any/misc/any_cast.cc: New.
130 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
131 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
132 * testsuite/experimental/any/misc/swap.cc: New.
133 * testsuite/experimental/any/modifiers/1.cc: New.
134 * testsuite/experimental/any/observers/type.cc: New.
135
136 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
137 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
138 warnings.
139 * include/bits/shared_ptr.h (shared_ptr): Likewise.
140 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
141 Likewise.
142 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
143 Likewise.
144 * include/parallel/list_partition.h (__parallel::list_partition):
145 Likewise.
146 * include/std/iomanip (quoted): Likewise.
147 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
148
149 * doc/xml/api.xml: Link to more recent API docs.
150 * include/bits/allocator.h: Fix link in doxygen comment.
151 * include/bits/char_traits.h: Likewise.
152 * include/bits/ios_base.h: Likewise.
153 * include/bits/stl_map.h: Likewise.
154 * include/bits/stl_multimap.h: Likewise.
155 * include/bits/stl_multiset.h: Likewise.
156 * include/bits/stl_set.h: Likewise.
157 * include/bits/unordered_map.h: Likewise.
158 * include/bits/unordered_set.h: Likewise.
159 * include/ext/mt_allocator.h: Likewise.
160 * include/std/fstream: Likewise.
161 * include/std/iosfwd: Likewise.
162 * include/std/ostream: Likewise.
163 * include/std/sstream: Likewise.
164 * include/std/streambuf: Likewise.
165 * doc/html/*: Regenerate.
166
167 * include/experimental/any (any_cast): Combine duplicate doxygen
168 comments.
169 * include/experimental/string_view (basic_string_view): Update
170 doxygen comment.
171 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
172 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
173 (dynamic_bitset): Improve Doxygen comments.
174 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
175 comment.
176
177 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
178
179 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
180 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
181
182 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
183
184 PR libstdc++/61390
185 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
186 (bin_search_tree_traits): Do not redeclare template-parameters.
187 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
188
189 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
190
191 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
192 parameter for DocBook HTML generation.
193 * doc/Makefile.in: Regenerate.
194 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
195 * doc/xml/faq.xml: Update content and improve formatting.
196 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
197 * doc/xml/manual/allocator.xml: Add stable ID attribute.
198 * doc/xml/manual/bitmap_allocator.xml: Likewise.
199 * doc/xml/manual/build_hacking.xml: Likewise.
200 * doc/xml/manual/codecvt.xml: Change URL.
201 * doc/xml/manual/ctype.xml: Add stable ID attribute.
202 * doc/xml/manual/debug_mode.xml: Likewise.
203 * doc/xml/manual/documentation_hacking.xml: Likewise.
204 * doc/xml/manual/evolution.xml: Likewise.
205 * doc/xml/manual/extensions.xml: Likewise.
206 * doc/xml/manual/locale.xml: Likewise.
207 * doc/xml/manual/messages.xml: Make section id consistent, improve
208 markup, change URL.
209 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
210 * doc/xml/manual/profile_mode.xml: Likewise.
211 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
212 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
213 * doc/xml/manual/status_cxx2011.xml: Likewise.
214 * doc/xml/manual/status_cxx2014.xml: Likewise.
215 * doc/xml/manual/status_cxxtr1.xml: Likewise.
216 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
217 * doc/xml/manual/using.xml: Likewise.
218 * doc/html/*: Regenerate.
219
220 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
221
222 * include/tr1/beta_function.tcc: Fix spelling of include guard in
223 comment.
224
225 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
226
227 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
228
229 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
230
231 DR 2344 - std::quoted doesn't respect padding
232 * include/std/iomanip: Allow for padding in quoted inserters.
233 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
234 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
235
236 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
237
238 * testsuite/23_containers/map/operators/1.cc: Simplify test.
239
240 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
241
242 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
243 code example.
244 * doc/xml/manual/backwards_compatibility.xml
245 (backwards.second.stringstreams): Likewise.
246 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
247 change of default.
248 * doc/xml/manual/containers.xml (associative.bitset.type_string):
249 Replace <quote> in code example.
250 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
251 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
252 fix typos, improve markup.
253 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
254 <emphasis> with <replaceable>.
255 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
256 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
257 and remove newlines in string literal.
258
259 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
260
261 DR 1423
262 PR c++/52174
263 * testsuite/20_util/is_assignable/value.cc: Update.
264
265 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
266
267 * include/std/condition_variable (condition_variable_any::_Unlock): Do
268 not swallow __forced_unwind.
269 * include/std/future (__future_base::_Task_setter): Likewise.
270 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
271 promise and rethrow.
272 * include/std/mutex (try_lock): Likewise.
273 * testsuite/30_threads/async/forced_unwind.cc: New.
274 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
275
276 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
277 members to avoid wasted space when not using a cache.
278 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
279 * include/bits/regex_compiler.tcc
280 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
281 search on set.
282 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
283 New enumeration type to indicate match mode.
284 (__detail::_Executor::_State_info): New type holding members only
285 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
286 unique_ptr<bool[]>.
287 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
288 Replace template parameter with run-time function parameter.
289 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
290 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
291 implement DFS and BFS mode.
292 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
293 Split implementation into ...
294 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
295 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
296 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
297 argument instead of template argument.
298 (__detail::_Executor::_M_dfs): Likewise.
299 * include/bits/regex_scanner.tcc: Fix typos in comments.
300 * testsuite/performance/28_regex/range.cc: New.
301
302 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
303 Jonathan Wakely <jwakely@redhat.com>
304
305 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
306 helper struct.
307 (aligned_union): New struct (C++11).
308 (aligned_union_t): New type alias (C++14).
309 * doc/xml/manual/status_cxx2011.xml: Update.
310 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
311 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
312 line number.
313
314 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
315
316 PR libstdc++/61374
317 * include/experimental/string_view (operator basic_string): Correct
318 order of arguments.
319 (to_string): Replace with member function.
320 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
321 allow _M_str to be null.
322 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
323 default constructor semantics.
324 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
325 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
326 copyright dates. Remove unused header.
327 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
328 Likewise.
329 * testsuite/experimental/string_view/operations/data/char/1.cc:
330 Fix copyright dates. Adjust to new default constructor semantics.
331 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
332 Likewise.
333 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
334
335 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
336 (__uses_allocator_arg): Remove unused type.
337 (__uses_alloc0): Turn into a trivial type.
338 (__uses_alloc): Add missing template parameter in primary template.
339 (__uses_alloc_impl): Rename to __uses_alloc_t.
340
341 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
342
343 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
344 work with previous versions of Tcl.
345
346 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
347 Benjamin's old email address.
348
349 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
350 Paolo's address too.
351
352 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
353
354 * include/tr2/bool_set: Use UTF-8 for accented characters.
355 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
356 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
357 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
358
359 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
360
361 PR libstdc++/61329
362 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
363 inline specifier.
364 (_State_base::_M_dot): Likewise.
365
366 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
367
368 * include/profile/map.h: Fix typo in comment; minor formatting fix.
369 * include/profile/multimap.h: Likewise.
370 * include/profile/set.h: Likewise.
371 * include/profile/multiset.h: Likewise.
372
373 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
374
375 * include/profile/array: Clean useless white chars.
376 * include/profile/base.h: Likewise.
377 * include/profile/iterator_tracker.h: Likewise.
378 * include/profile/bitset: Code cleanup and remove not instrumented code.
379 * include/profile/deque: Likewise.
380 * include/profile/forward_list: Likewise.
381 * include/profile/list (std::__profile::_List_profile<>): New.
382 (std::__profile::list<>): Inherit from latter and adapt.
383 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
384 advise to match any ordered to unordered container conversion.
385 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
386 New.
387 * include/Makefile.am: Add latter.
388 * include/Makefile.in: Regenerate.
389 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
390 remove not instrumented code.
391 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
392 * include/profile/set.h (std::__profile::set<>): Likewise.
393 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
394 * include/profile/unordered_base.h: Add some line feed.
395 * include/profile/unordered_map: Clean useless white chars and replace
396 spaces with tabs.
397 * include/profile/unordered_set: Likewise.
398 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
399 (std::__profile::_Vector_profile_post<>): New.
400 (std::__profile::vector<>): Inherit from latter and adapt.
401
402 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
403
404 PR libstdc++/60793
405 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
406 dragonfly target selector to all tests that run on freebsd.
407
408 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
409 dragonfly.
410 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
411 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
412
413 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
414 selector.
415 * testsuite/30_threads/call_once/60497.cc: Likewise.
416 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
417 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
418 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
419 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
420 * testsuite/30_threads/promise/60966.cc: Likewise.
421 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
422 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
423 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
424 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
425 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
426 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
427 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
428 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
429 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
430 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
431 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
432 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
433 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
434 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
435 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
436 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
437 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
438
439 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
440
441 PR libstdc++/61143
442 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
443 usable state.
444 * testsuite/23_containers/unordered_set/61143.cc: New.
445 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
446
447 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
448
449 PR libstdc++/61269
450 * include/std/type_traits: Move include outside namespace std.
451 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
452 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
453 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
454 Likewise.
455
456 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
457 Fix warning.
458
459 2014-05-21 John Marino <gnugcc@marino.st>
460
461 * acinclude.m4 (*-*-dragonfly*): New target.
462 * configure: Regenerate.
463 * configure.host (*-*-dragonfly*): New target.
464 * config/locale/dragonfly/c_locale.cc: New.
465 * config/locale/dragonfly/ctype_members.cc: New.
466 * config/os/bsd/dragonfly/ctype_base.h: New.
467 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
468 * config/os/bsd/dragonfly/ctype_inline.h: New.
469 * config/os/bsd/dragonfly/os_defines.h: New.
470
471 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
472
473 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
474 libstdc++.exp imports those flags via getenv.
475 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
476 CXXFLAGS contains a '-O' flag.
477
478 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
479
480 PR libstdc++/61223
481 Revert:
482 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
483
484 PR libstdc++/60758
485 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
486 and add unwind directives.
487
488 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
489
490 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
491
492 2014-05-20 Tim Shen <timshen91@gmail.com>
493
494 PR libstdc++/61227
495 * include/bits/regex_compiler.h
496 (_BracketMatcher<>::_M_add_character_class): Add negative character
497 class support.
498 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
499 Likewise.
500 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
501 Add more testcases.
502
503 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
504
505 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
506
507 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
508
509 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
510 * libsupc++/new_opnt.cc: Likewise.
511
512 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
513
514 PR libstdc++/60966
515 * include/std/future (__future_base::_State_baseV2::_M_set_result):
516 Pass lock into _M_do_set and hold it until the function returns.
517 Signal condition variable after call_once completes.
518 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
519 signal here.
520 * testsuite/30_threads/promise/60966.cc: New.
521
522 2014-05-16 Iain Sandoe <iain@codesourcery.com>
523 Sandra Loosemore <sandra@codesourcery.com>
524
525 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
526 until after checking that the test is eligible to be run.
527
528 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
529
530 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
531 test for 32-bit target.
532 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
533 Likewise.
534 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
535 Fix test.
536
537 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
538
539 PR libstdc++/60758
540 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
541 and add unwind directives.
542
543 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
544
545 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
546 overflow.
547 * include/std/chrono (chrono_literals::__select_type::_Select_type):
548 Remove.
549 (chrono_literals::_Checked_integral_constant): Define.
550 Simplify UDL operator templates and check for overflow.
551 * testsuite/20_util/duration/literals/range.cc: New.
552
553 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
554 Jonathan Wakely <jwakely@redhat.com>
555
556 PR libstdc++/61166
557 * include/bits/parse_numbers.h: Use integral_constant to remove
558 duplication and simplify.
559 * testsuite/20_util/duration/literals/61166.cc: New.
560
561 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
562
563 PR libstdc++/60326
564 * include/std/type_traits (__make_unsigned, __make_signed): Define
565 specializations for wchar_t, char16_t and char32_t.
566 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
567 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
568 test for make_unsigned<volatile wchar_t>.
569 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
570 Likewise.
571 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
572 line number.
573 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
574 Likewise.
575 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
576 Likewise.
577
578 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
579
580 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
581 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
582 * include/std/utility (tuple_size, tuple_element): Likewise.
583 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
584 Adjust dg-error line number.
585
586 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
587
588 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
589 (__tuple_element_t): Define.
590 (tuple_element): Use __tuple_element_t.
591 (__cv_tuple_size): Define.
592 (tuple_size<cv _Tp>): Use __cv_tuple_size.
593 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
594 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
595 (__tuple_compare): Remove size check, re-order parameters.
596 (operator==, operator<): Use static_assert to check requirements.
597 * include/std/functional (__volget): use __tuple_element_t.
598 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
599 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
600
601 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
602
603 PR libstdc++/60497
604 * include/std/tuple (get, __tuple_compare): Qualify more calls to
605 prevent ADL. Cast comparison results to bool.
606 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
607 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
608
609 PR libstdc++/60497
610 * include/debug/array (get): Qualify call to other get overload.
611 * include/profile/array (get): Likewise.
612 * include/std/array (get): Likewise.
613 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
614 * include/std/mutex (unique_lock, call_once): Use __addressof.
615 (__unlock_impl): Remove unused template.
616 (__try_to_lock): Declare inline.
617 (__try_lock_impl::__do_try_lock): Qualify function calls.
618 (lock): Avoid narrowing conversion.
619 * testsuite/20_util/bind/60497.cc: New.
620 * testsuite/23_containers/array/element_access/60497.cc: New.
621 * testsuite/30_threads/call_once/60497.cc: New.
622 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
623
624 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
625
626 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
627 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
628 * acinclude.m4 (libtool_VERSION): Bump.
629 * configure: Regenerate.
630 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
631 * testsuite/28_regex/regex_error/base.cc: New.
632
633 2014-05-08 Joshua Gay <jgay@gnu.org>
634
635 PR libstdc++/61117
636 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
637 source" with "free software".
638 * doc/html/faq.html: Likewise.
639
640 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
641
642 PR libstdc++/57394
643 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
644 deleted for C++11.
645 (operator=(const ios_base&)): Likewise.
646 * include/std/streambuf: Remove trailing whitespace.
647 (basic_streambuf(const basic_streambuf&)): Fix initializer for
648 _M_out_end. Define as defaulted for C++11.
649 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
650 (swap(basic_streambuf&)): Define for C++11.
651 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
652
653 PR libstdc++/13860
654 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
655
656 * include/std/iostream: Fix URL in comment.
657 * src/c++98/ios_init.cc: Fix path in comment.
658
659 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
660
661 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
662 * configure: Regenerate.
663
664 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
665
666 PR libstdc++/61023
667 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
668 comparison function.
669 * testsuite/23_containers/set/cons/61023.cc: New.
670
671 PR libstdc++/61086
672 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
673 Remove.
674 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
675 arithmetic to obtain a mutable iterator from const_iterator.
676 * include/bits/vector.tcc (vector::insert): Likewise.
677 * include/debug/vector (vector::erase): Likewise.
678 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
679 Adjust dg-error line number.
680 * testsuite/23_containers/vector/requirements/dr438/
681 constructor_1_neg.cc: Likewise.
682 * testsuite/23_containers/vector/requirements/dr438/
683 constructor_2_neg.cc: Likewise.
684 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
685 Likewise.
686
687 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
688
689 * include/Makefile.in: Regenerate.
690
691 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
692
693 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
694 parameter to pass the 2 instances to check allocator equality.
695 * include/debug/safe_container.h: New, define _Safe_container<>.
696 * include/Makefile.am: Add previous.
697 * include/debug/deque (std::__debug::deque<>): Inherit
698 _Safe_container<>. Use default implementation for all special
699 functions.
700 * include/debug/forward_list (std::__debug::forward_list<>):
701 Likewise.
702 * include/debug/list (std::__debug::list<>): Likewise.
703 * include/debug/map.h (std::__debug::map<>): Likewise.
704 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
705 * include/debug/set.h (std::__debug::set<>): Likewise.
706 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
707 * include/debug/string (std::__debug::basic_string<>): Likewise.
708 * include/debug/unordered_map
709 (std::__debug::unordered_map<>): Likewise.
710 (std::__debug::unordered_multimap<>): Likewise.
711 * include/debug/unordered_set
712 (std::__debug::unordered_set<>): Likewise.
713 (std::__debug::unordered_multiset<>): Likewise.
714 * include/debug/vector (std::__debug::vector<>): Likewise.
715 * include/debug/safe_base.h (_Safe_sequence_base()): Add
716 noexcept.
717 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
718 (~_Safe_sequence_base()): Add noexcept.
719 * include/debug/safe_sequence.h
720 (std::__debug::_Safe_node_sequence<>): New.
721 * include/debug/safe_unordered_base.h
722 (_Safe_unordered_container_base()): Add noexcept.
723 (~_Safe_unordered_container_base()): Likewise.
724 (_M_swap(_Safe_unordered_container_base&)): Likewise.
725 * include/debug/safe_unordered_container.h:
726 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
727 (_Safe_unordered_container<>::_M_invalidate_all()): New.
728 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
729 qualifications.
730 * testsuite/util/debug/checks.h (check_construct1): Just implement
731 an invalid constructor invocation and no other operations
732 potentially not supported by some types of container.
733 (check_construct2): Likewise.
734 (check_construct3): Likewise.
735 * testsuite/23_containers/forward_list/allocator/move.cc: Add
736 check on iterators to make sure they are correctly moved in debug
737 mode.
738 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
739 Likewise.
740 * testsuite/23_containers/map/allocator/move.cc: Likewise.
741 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
742 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
743 * testsuite/23_containers/multimap/allocator/move_assign.cc:
744 Likewise.
745 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
746 * testsuite/23_containers/multiset/allocator/move_assign.cc:
747 Likewise.
748 * testsuite/23_containers/set/allocator/move.cc: Likewise.
749 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
750 * testsuite/23_containers/unordered_map/allocator/move.cc:
751 Likewise.
752 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
753 Likewise.
754 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
755 Likewise.
756 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
757 Likewise.
758 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
759 Likewise.
760 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
761 Likewise.
762 * testsuite/23_containers/unordered_set/allocator/move.cc:
763 Likewise.
764 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
765 Likewise.
766 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
767 New.
768 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
769 New.
770 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
771 New.
772 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
773 New.
774 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
775 New.
776 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
777 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
778 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
779 * testsuite/23_containers/map/debug/move_neg.cc: New.
780 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
781 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
782 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
783 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
784 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
785 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
786 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
787 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
788 * testsuite/23_containers/set/debug/move_neg.cc: New.
789 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
790 New.
791 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
792 New.
793 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
794 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
795 New.
796 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
797 New.
798 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
799 New.
800 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
801 New.
802 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
803 New.
804 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
805 New.
806 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
807 New.
808 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
809 New.
810 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
811 * testsuite/23_containers/vector/debug/move_neg.cc: New.
812
813 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
814
815 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
816 (CXXABI_1.3.9): Remove __float128 symbols.
817
818 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
819
820 PR libstdc++/59476
821 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
822 function to handle both C++03 and C++11 _Rb_tree_node implementations.
823 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
824 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
825 refer to...
826 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
827
828 PR libstdc++/61036
829 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
830 Check the correct type in the static assertion.
831 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
832
833 2014-04-27 Tim Shen <timshen91@gmail.com>
834
835 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
836 Add _S_opcode_repeat support to distingush a loop from
837 _S_opcode_alternative.
838 * include/bits/regex_automaton.tcc (_State_base::_M_print,
839 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
840 _StateSeq<>::_M_clone): Likewise.
841 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
842 Likewise.
843 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
844 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
845 Uglify local variable __i.
846 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
847 Use size_t instead of int to compare with vector::size().
848
849 2014-04-27 Tim Shen <timshen91@gmail.com>
850
851 * include/bits/regex_executor.h: Add _M_rep_count to track how
852 many times this repeat node are visited.
853 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
854 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
855 infinite loop.
856
857 2014-04-27 Tim Shen <timshen91@gmail.com>
858
859 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
860 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
861 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
862 * include/bits/regex_automaton.h: Remove quantifier counting variable.
863 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
864 Adjust debug NFA dump.
865
866 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
867
868 PR libstdc++/60710
869 * include/experimental/optional (operator!=): Implement in terms of
870 operator==.
871 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
872 * testsuite/experimental/optional/relops/2.cc: Likewise.
873 * testsuite/experimental/optional/relops/3.cc: Likewise.
874 * testsuite/experimental/optional/relops/4.cc: Likewise.
875 * testsuite/experimental/optional/relops/5.cc: Likewise.
876 * testsuite/experimental/optional/relops/6.cc: Likewise.
877
878 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
879
880 PR libstdc++/60958
881 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
882 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
883 comment.
884
885 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
886
887 * testsuite/util/testsuite_abi.cc (check_version): Update for
888 CXXABI_1.3.9.
889
890 2014-04-24 Tim Shen <timshen91@gmail.com>
891
892 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
893 Do _M_alt before _M_next.
894 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
895
896 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
897
898 PR libstdc++/43622
899 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
900 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
901 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
902
903 2014-04-24 Andreas Schwab <schwab@suse.de>
904
905 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
906 new CXXABI_1.3.9 symbols.
907
908 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
909
910 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
911 (CXXABI_1.3.9): New version.
912
913 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
914
915 PR libstdc++/43622
916 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
917 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
918 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
919
920 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
921
922 * configure.host: Remove solaris2.9 handling.
923 Change os_include_dir to os/solaris/solaris2.10.
924 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
925 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
926 * configure: Regenerate.
927 * config/abi/post/solaris2.9: Remove.
928 * config/os/solaris/solaris2.9: Rename to ...
929 * config/os/solaris/solaris2.10: ... this.
930 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
931 Remove.
932
933 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
934 Remove Solaris 9 reference.
935 * doc/html/manual/configure.html: Regenerate.
936
937 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
938 Remove *-*-solaris2.9 xfail.
939 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
940 Likewise.
941
942 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
943 xfail.
944
945 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
946
947 * include/std/functional (__is_location_invariant): Use __or_ helper.
948
949 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
950
951 PR libstdc++/60734
952 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
953
954 PR libstdc++/60695
955 * include/std/atomic (atomic<_Tp>): Add static assertion.
956 * testsuite/29_atomics/atomic/60695.cc: New.
957
958 PR libstdc++/60594
959 * include/std/functional (function::_Callable): Exclude own type
960 from the callable checks.
961 * testsuite/20_util/function/60594.cc: New.
962
963 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
964 const to constexpr member functions.
965
966 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
967 delegating constructor.
968 * include/bits/shared_ptr_base.h
969 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
970
971 * include/std/atomic: Uglify parameter names.
972
973 PR c++/60786
974 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
975 1.cc: Fix invalid explicit instantiations with unqualified names.
976 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
977 2.cc: Likweise.
978 * testsuite/20_util/tuple/53648.cc: Likweise.
979 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
980 Likewise.
981 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
982 Likewise.
983 * testsuite/23_containers/unordered_map/requirements/
984 debug_container.cc: Likewise.
985 * testsuite/23_containers/unordered_map/requirements/
986 explicit_instantiation/3.cc: Likewise.
987 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
988 Likewise.
989 * testsuite/23_containers/unordered_multimap/requirements/
990 explicit_instantiation/3.cc: Likewise.
991 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
992 Likewise.
993 * testsuite/23_containers/unordered_multiset/requirements/
994 explicit_instantiation/3.cc: Likewise.
995 * testsuite/23_containers/unordered_set/requirements/
996 debug_container.cc: Likewise.
997 * testsuite/23_containers/unordered_set/requirements/
998 explicit_instantiation/3.cc: Likewise.
999
1000 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1001 not use uninitialized members in mem-initializers.
1002 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1003 * testsuite/util/testsuite_common_types.h: Update comment.
1004
1005 * include/experimental/string_view: Fix inconsistent exception specs.
1006
1007 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1008 Remove name of unused parameter.
1009
1010 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1011
1012 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1013 _Vector_base::_M_allocate): NullablePointer requirements do not
1014 include initialization from literal zero, use value-initialization.
1015 * include/bits/vector.tcc (vector::_M_insert_aux,
1016 vector::_M_explace_back_aux): Likewise for assignment.
1017
1018 * include/bits/allocator.h (operator==, operator!=): Add exception
1019 specifications.
1020
1021 PR libstdc++/60497
1022 * include/std/tuple (get): Qualify calls to prevent ADL.
1023 * testsuite/20_util/tuple/60497.cc: New.
1024
1025 * include/std/tuple (tuple_element_t): Define.
1026 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1027 test.
1028 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1029
1030 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1031
1032 PR libstdc++/59434
1033 * include/bits/stl_iterator.h (move_iterator::reference,
1034 move_iterator::operator*): Implement LWG 2106.
1035 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1036
1037 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1038
1039 * include/std/complex (__complex_exp, pow): Specify the template
1040 parameter in calls to std::polar, for expression templates.
1041
1042 2014-04-10 Andreas Schwab <schwab@suse.de>
1043
1044 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1045 symbols.
1046 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1047 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1048
1049 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1050
1051 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1052
1053 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1054 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1055 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1056 specifications.
1057
1058 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1059 Jack Howarth <howarth@bromo.med.uc.edu>
1060
1061 PR target/54407
1062 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1063 darwin < 11.
1064
1065 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1066
1067 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1068 Update link.
1069 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1070 Fix broken links.
1071 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1072 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1073 * doc/xml/manual/concurrency_extensions.xml
1074 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1075 * doc/html/*: Regenerate.
1076
1077 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1078 Jonathan Wakely <jwakely@redhat.com>
1079
1080 PR libstdc++/60270
1081 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1082 string if input is not quoted.
1083 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1084
1085 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1086
1087 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1088
1089 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1090
1091 * testsuite/18_support/exception_ptr/60612-terminate.cc
1092 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1093 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1094
1095 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1096
1097 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1098
1099 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1100 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1101 Likewise.
1102 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1103 Likewise.
1104 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1105
1106 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1107 Fix bad s/part/chapter/ substitutions.
1108 * doc/xml/manual/io.xml (std.io): Likewise.
1109 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1110 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1111
1112 * doc/html/*: Regenerate.
1113
1114 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1115
1116 PR libstdc++/60612
1117 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1118 compatible with __cxa_exception.
1119 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1120 Fix typos in comments.
1121 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1122 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1123
1124 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1125
1126 PR libstdc++/60658
1127 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1128 Use sizeof pointer type not the element type.
1129 * testsuite/29_atomics/atomic/60658.cc: New.
1130
1131 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1132
1133 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1134 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1135 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1136 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1137 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1138 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1139 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1140 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1141 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1142 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1143 entries.
1144
1145 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1146
1147 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1148
1149 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1150
1151 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1152 to delegated constructor.
1153 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1154 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1155 Likewise.
1156 (_Hashtable(
1157 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1158
1159 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1160
1161 PR libstdc++/60623
1162 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1163
1164 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1165
1166 PR libstdc++/60587
1167 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1168 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1169 iterator category.
1170 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1171 from different types of debug container. Use _Is_contiguous_sequence
1172 instead of is_lvalue_reference.
1173 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1174 dereferencing past-the-end iterator.
1175 (__foreign_iterator_aux4): Use const value_type* instead of
1176 potentially user-defined const_pointer type.
1177 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1178 and pass end iterator to __gnu_debug::__foreign_iterator.
1179 (__glibcxx_check_insert_range_after): Likewise.
1180 (__glibcxx_check_max_load_factor): Fix comment.
1181 * include/debug/vector (_Is_contiguous_sequence): Define partial
1182 specializations.
1183 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1184 -std=gnu++11 option and unused header.
1185 * testsuite/23_containers/vector/debug/60587.cc: New.
1186 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1187
1188 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1189
1190 * crossconfig.m4: Support spu-*-elf* targets.
1191 * configure: Regenerate.
1192
1193 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1194
1195 PR libstdc++/60564
1196 * include/std/future (__future_base::_Task_state<>): Change
1197 constructors to template functions using perfect forwarding.
1198 (__create_task_state): Use decayed type as stored task.
1199 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1200 * testsuite/30_threads/packaged_task/60564.cc: New.
1201
1202 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1203
1204 * scripts/create_testsuite_files: Add testsuite/experimental in
1205 the list of folders to search for tests.
1206
1207 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1208
1209 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1210
1211 2014-03-15 Tim Shen <timshen91@gmail.com>
1212
1213 * include/bits/regex.h: Add/modify comments.
1214 * include/bits/regex_compiler.h: Likewise.
1215 * include/bits/regex_executor.h: Likewise.
1216 * include/bits/regex_executor.tcc: Likewise.
1217 * include/bits/regex_scanner.h: Likewise.
1218
1219 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1220
1221 PR ipa/58721
1222 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1223 _ZNSt12system_errorC* symbols which are not exported on any target.
1224
1225 2014-03-12 Roland McGrath <mcgrathr@google.com>
1226 Mark Seaborn <mseaborn@google.com>
1227
1228 PR libstdc++/59392
1229 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1230 the address of a null pointer, not with a null pointer to pointer.
1231 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1232 * testsuite/18_support/bad_exception/59392.cc: New file.
1233
1234 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1235
1236 PR libstdc++/60499
1237 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1238 Uglify name.
1239 * include/debug/map (map::operator=(map&&)): Likewise.
1240 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1241 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1242 * include/debug/set (set::operator=(set&&)): Likewise.
1243 * include/debug/unordered_map
1244 (unordered_map::operator=(unordered_map&&)): Likewise.
1245 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1246 * include/debug/unordered_set
1247 (unordered_set::operator=(unordered_set&&)): Likewise.
1248 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1249 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1250 * testsuite/23_containers/forward_list/debug/60499.cc: New
1251 * testsuite/23_containers/map/debug/60499.cc: New
1252 * testsuite/23_containers/multimap/debug/60499.cc: New
1253 * testsuite/23_containers/multiset/debug/60499.cc: New
1254 * testsuite/23_containers/set/debug/60499.cc: New
1255 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1256 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1257 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1258 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1259 * testsuite/23_containers/vector/debug/60499.cc: New
1260
1261 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1262
1263 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1264 for filesystem and fundamentals TS work items.
1265
1266 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1267
1268 PR c++/60376
1269 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1270 Adjust dg-error directives.
1271
1272 2014-02-26 Tim Shen <timshen91@gmail.com>
1273
1274 * include/bits/regex.tcc (match_results<>::format,
1275 regex_replace<>): Update __out after calling std::copy.
1276 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1277 Add testcase.
1278 * testsuite/28_regex/match_results/format.cc: Likewise.
1279
1280 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1281
1282 PR libstdc++/60308
1283 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1284 allocator_type&)): Remove redundant call to _M_initialize_map.
1285 (deque::deque(const allocator_type&)): Initialize _Base with a
1286 constructor that calls _M_initialize_map.
1287
1288 Partial revert:
1289
1290 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1291 PR libstdc++/58338
1292 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1293 _M_initialize_map.
1294
1295 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1296
1297 Rename testsuite directory shared_mutex to shared_timed_mutex
1298 for consistency.
1299 * testsuite/30_threads/shared_mutex: Moved to...
1300 * testsuite/30_threads/shared_timed_mutex: ...here
1301
1302 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1303
1304 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1305 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1306 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1307 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1308 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1309 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1310 * testsuite/30_threads/shared_lock/requirements/
1311 explicit_instantiation.cc: Ditto.
1312 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1313 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1314 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1315 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1316 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1317 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1318 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1319 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1320 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1321 * testsuite/30_threads/shared_mutex/requirements/
1322 standard_layout.cc: Ditto.
1323 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1324 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1325 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1326 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1327 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1328
1329 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1330
1331 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1332 execution on i?86-*-solaris2.9, remove comment.
1333 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1334
1335 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1336
1337 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1338 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1339 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1340
1341 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1342
1343 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1344 not use varargs when argument could be non-POD.
1345 (__alloctr_rebind_helper): Eliminate static const bool member by
1346 using true_type and false_type.
1347 (allocator_traits::__allocate_helper): Likewise.
1348 (allocator_traits::__construct_helper): Likewise.
1349 (allocator_traits::__destroy_helper): Likewise.
1350 (allocator_traits::__maxsize_helper): Likewise.
1351 (allocator_traits::__select_helper): Likewise.
1352 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1353 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1354 Remove redundant condition.
1355 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1356 Likewise.
1357 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1358 indirection through __alloc_traits.
1359 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1360 Eliminate static const bool members by using true_type and false_type.
1361 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1362 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1363 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1364 New.
1365 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1366
1367 PR libstdc++/59829
1368 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1369 (vector::_M_data_ptr): New overloaded functions to ensure empty
1370 vectors do not dereference the pointer.
1371 * testsuite/23_containers/vector/59829.cc: New.
1372 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1373 Adjust dg-error line number.
1374 * testsuite/23_containers/vector/requirements/dr438/
1375 constructor_1_neg.cc: Likewise.
1376 * testsuite/23_containers/vector/requirements/dr438/
1377 constructor_2_neg.cc: Likewise.
1378 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1379 Likewise.
1380
1381 PR libstdc++/21609
1382 * include/ext/array_allocator.h: Add deprecated attribute.
1383
1384 PR libstdc++/57226
1385 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1386 installation and use of python printers.
1387 * doc/xml/manual/status_cxx2011.xml: Update.
1388 * doc/html/*: Regenerate.
1389
1390 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1391 Kyle Lippincott <spectral@google.com>
1392
1393 PR libstdc++/59656
1394 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1395 constructor and grant friendship to weak_ptr.
1396 (weak_ptr::lock()): Use new constructor.
1397 * include/bits/shared_ptr_base.h
1398 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1399 and define specializations.
1400 (__shared_count): Add new non-throwing constructor.
1401 (__shared_ptr): Add new non-throwing constructor and grant friendship
1402 to __weak_ptr.
1403 (__weak_ptr::lock()): Use new constructor.
1404 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1405 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1406
1407 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1408
1409 PR libstdc++/59215
1410 * include/bits/shared_ptr_base.h
1411 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1412 load.
1413
1414 2014-01-27 Jason Merrill <jason@redhat.com>
1415
1416 Core DR 475
1417 PR c++/41174
1418 PR c++/59224
1419 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1420 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1421 (__cxa_allocate_exception): Don't set it here.
1422
1423 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1424
1425 * include/bits/stl_map.h: Remove anachronistic comment.
1426 * include/bits/stl_multimap.h: Add whitespace.
1427 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1428 -std=gnu++11 instead of -std=c++11.
1429 * testsuite/23_containers/map/operators/2.cc: Likewise.
1430 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1431 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1432 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1433
1434 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1435 * configure: Regenerate.
1436
1437 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1438
1439 PR libstdc++/59531
1440 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1441 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1442
1443 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1444 Peter A. Bigot <pab@pabigot.com>
1445
1446 PR libstdc++/59531
1447 * include/experimental/string_view
1448 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1449 Correct copy start location.
1450
1451 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1452 Peter A. Bigot <pab@pabigot.com>
1453
1454 PR libstdc++/59530
1455 * include/experimental/string_view (operator[](size_type) const):
1456 Fix one-off index error in debug check.
1457 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1458 test basic_string_view at size().
1459 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1460
1461 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1462 Peter A. Bigot <pab@pabigot.com>
1463
1464 PR libstdc++/59529
1465 * include/experimental/string_view
1466 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1467 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1468 Comment out catch of out_of_range; No terminating null
1469 in basic_string_view. Check begin == end.
1470 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1471 Ditto.
1472
1473 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1474
1475 PR libstdc++/59548
1476 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1477 constructor to prevent it being implicitly defined as deleted, but
1478 do not copy anything.
1479 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1480 Define copy and move constructors similar to _Safe_sequence_base's.
1481 * testsuite/23_containers/unordered_map/59548.cc: New.
1482
1483 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1484 Steve Ellcey <sellcey@mips.com>
1485
1486 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1487 function.
1488 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1489 * (configure, config.h.in): Regenerate.
1490 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1491
1492 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1493
1494 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1495 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1496
1497 PR libstdc++/59872
1498 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1499 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1500 Likewise.
1501 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1502 Likewise.
1503 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1504 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1505 functions to perform moving or copying of elements from rvalue tree.
1506 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1507 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1508 * testsuite/23_containers/map/59872.cc: New.
1509 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1510
1511 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1512
1513 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1514
1515 PR libstdc++/58764
1516 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1517 Split into separate default constructor and constructor taking
1518 allocator.
1519 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1520 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1521 Likewise.
1522 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1523 * include/debug/list (list::list(const _Allocator&)): Likewise.
1524 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1525 Likewise.
1526 * include/debug/multimap.h
1527 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1528 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1529 Likewise.
1530 * include/debug/multiset.h
1531 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1532 * include/debug/vector (vector::vector(const allocator_type&)):
1533 Likewise.
1534 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1535 * include/profile/list (list::list(const _Allocator&)): Likewise.
1536 * include/profile/map.h
1537 (map::map(const _Compare&, const _Allocator&)): Likewise.
1538 * include/profile/multimap.h
1539 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1540 * include/profile/set.h
1541 (set::set(const _Compare&, const _Allocator&)): Likewise.
1542 * include/profile/multiset.h
1543 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1544 * include/profile/vector (vector::vector(const _Allocator&)):
1545 Likewise.
1546 * testsuite/23_containers/deque/58764.cc: New.
1547 * testsuite/23_containers/list/58764.cc: New.
1548 * testsuite/23_containers/map/58764.cc: New.
1549 * testsuite/23_containers/multimap/58764.cc: New.
1550 * testsuite/23_containers/set/58764.cc: New.
1551 * testsuite/23_containers/multiset/58764.cc: New.
1552 * testsuite/23_containers/vector/58764.cc: New.
1553 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1554 Adjust dg-error line number.
1555 * testsuite/23_containers/deque/requirements/dr438/
1556 constructor_1_neg.cc: Likewise.
1557 * testsuite/23_containers/deque/requirements/dr438/
1558 constructor_2_neg.cc: Likewise.
1559 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1560 Likewise.
1561 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1562 Likewise.
1563 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1564 Likewise.
1565 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1566 Likewise.
1567 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1568 Likewise.
1569 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1570 Likewise.
1571 * testsuite/23_containers/vector/requirements/dr438/
1572 constructor_1_neg.cc: Likewise.
1573 * testsuite/23_containers/vector/requirements/dr438/
1574 constructor_2_neg.cc: Likewise.
1575 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1576 Likewise.
1577
1578 PR libstdc++/58764 (again)
1579 * include/bits/stl_list.h (list): Make default constructor's exception
1580 specification conditional.
1581 * include/bits/stl_vector.h (vector): Likewise.
1582 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1583 to default constructor.
1584 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1585 Adjust dg-error line number.
1586 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1587 Likewise.
1588 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1589 Likewise.
1590 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1591 Likewise.
1592 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1593 Likewise.
1594 * testsuite/23_containers/vector/requirements/dr438/
1595 constructor_1_neg.cc: Likewise.
1596 * testsuite/23_containers/vector/requirements/dr438/
1597 constructor_2_neg.cc: Likewise.
1598 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1599 Likewise.
1600
1601 2014-01-21 Tim Shen <timshen91@gmail.com>
1602
1603 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1604 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1605 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1606
1607 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1608
1609 PR libstdc++/56267
1610 * include/bits/hashtable.h (__cache_default): Do not depend on
1611 whether the hash function is DefaultConstructible or CopyAssignable.
1612 (_Hashtable): Adjust static assertions.
1613 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1614 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1615 dg-error line number.
1616 * testsuite/23_containers/unordered_set/
1617 not_default_constructible_hash_neg.cc: Remove.
1618
1619 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1620
1621 * scripts/create_testsuite_files: Add testsuite/experimental in
1622 the list of folders to search for tests.
1623 * include/experimental/string_view
1624 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1625 incompatible with constexpr qualifier.
1626 (basic_string_view<>::front()): Likewise.
1627 (basic_string_view<>::back()): Likewise.
1628 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1629 Merge dg-options directives into one.
1630 * testsuite/experimental/string_view/element_access/char/2.cc:
1631 Likewise. Remove invalid experimental namespace scope on
1632 string_view_type.
1633
1634 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1635
1636 PR libstdc++/56267
1637 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1638 friendship to _Local_iterator_base<..., false>.
1639 (_Local_iterator_base): Give protected access to all existing members.
1640 (_Local_iterator_base::_M_curr()): New public accessor.
1641 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1642 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1643 the lifetime of the _Hash_code_base explicitly.
1644 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1645 (_Local_iterator_base<..., false>): Define copy constructor and copy
1646 assignment operator that use new functions to manage _Hash_code_base.
1647 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1648 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1649 Use public API for _Local_iterator_base.
1650 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1651 * include/debug/unordered_map (__debug::unordered_map::erase(),
1652 __debug::unordered_multimap::erase()): Likewise.
1653 * include/debug/unordered_set (__debug::unordered_set::erase(),
1654 __debug::unordered_multiset::erase()): Likewise.
1655 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1656
1657 2014-01-19 Tim Shen <timshen91@gmail.com>
1658
1659 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1660 Fix parse error of multiple consecutive quantifiers like "a**".
1661 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1662 Likewise.
1663 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1664
1665 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1666
1667 * include/profile/set.h (set): Implement C++11 allocator-aware
1668 container requirements.
1669 * include/profile/map.h (map): Likewise.
1670 * include/profile/multiset.h (multiset): Likewise.
1671 * include/profile/multimap.h (multimap): Likewise.
1672 * include/profile/set.h
1673 (set::operator=(const set&)): Define as default in C++11 mode.
1674 (set::operator=(set&&)): Likewise.
1675 * include/profile/map.h
1676 (map::operator=(const map&)): Likewise.
1677 (map::operator=(map&&)): Likewise.
1678 * include/profile/multiset.h
1679 (multiset::operator=(const multiset&)): Likewise.
1680 (multiset::operator=(multiset&&)): Likewise.
1681 * include/profile/multimap.h
1682 (multimap::operator=(const multimap&)): Likewise.
1683 (multimap::operator=(multimap&&)): Likewise.
1684 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1685 Rely on the same operator from normal mode.
1686 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1687 Likewise.
1688 * include/profile/multiset.h
1689 (multiset::operator=(std::initializer_list<>)): Likewise.
1690 * include/profile/multimap.h
1691 (multimap::operator=(std::initializer_list<>)): Likewise.
1692 * include/profile/set.h (set::swap(set&)): Add noexcept
1693 specification.
1694 * include/profile/map.h (map::swap(map&)): Likewise.
1695 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1696 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1697
1698 2014-01-17 Tim Shen <timshen91@gmail.com>
1699
1700 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1701 use std::map.
1702 * include/bits/regex_automaton.h: Do not use std::set.
1703 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1704 _BracketMatcher<>::_M_add_collating_element(),
1705 _BracketMatcher<>::_M_add_equivalence_class(),
1706 _BracketMatcher<>::_M_make_range()): Likewise.
1707 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1708 Likewise.
1709 * include/bits/regex_executor.h: Do not use std::queue.
1710 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1711 _Executor<>::_M_dfs()): Likewise.
1712 * include/std/regex: Remove <map>, <set> and <queue>.
1713
1714 2014-01-17 Tim Shen <timshen91@gmail.com>
1715
1716 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1717 basic_regex<>::assign()): Change __compile_nfa to accept
1718 const _CharT* only.
1719 * include/bits/regex_compiler.h: Change _Compiler's template
1720 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1721 * include/bits/regex_compiler.tcc: Likewise.
1722
1723 2014-01-17 Tim Shen <timshen91@gmail.com>
1724
1725 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1726 templated.
1727 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1728 _ScannerBase from _Scanner; Change _Scanner's template argument from
1729 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1730 instead.
1731 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1732 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1733 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1734 Likewise.
1735 * include/std/regex: Add <cstring> for using strchr.
1736
1737 2014-01-17 Tim Shen <timshen91@gmail.com>
1738
1739 * bits/regex_automaton.tcc: Indentation fix.
1740 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1741 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1742 _BracketMatcher<>): Add bool option template parameters and
1743 specializations to make matching more efficient and space saving.
1744 * bits/regex_compiler.tcc: Likewise.
1745
1746 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1747
1748 PR libstdc++/59712
1749 * include/bits/hashtable_policy.h: Fix some long lines.
1750 * include/bits/hashtable.h (__hash_code_base_access): Define and
1751 use it to check its _M_bucket_index noexcept qualification. Use
1752 also in place of...
1753 (__access_protected_ctor): ...this.
1754 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1755 Adapt line number.
1756 * testsuite/23_containers/unordered_set/
1757 not_default_constructible_hash_neg.cc: Likewise.
1758
1759 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1760
1761 * include/debug/set.h (set): Implement C++11 allocator-aware
1762 container requirements.
1763 * include/debug/map.h (map): Likewise.
1764 * include/debug/multiset.h (multiset): Likewise.
1765 * include/debug/multimap.h (multimap): Likewise.
1766 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1767 fix implementation regarding management of safe iterators.
1768 * include/debug/map.h (map::operator=(map&&)): Likewise.
1769 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1770 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1771 Likewise.
1772 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1773 Rely on the same operator from normal mode.
1774 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1775 Likewise.
1776 * include/debug/multiset.h
1777 (multiset::operator=(std::initializer_list<>)): Likewise.
1778 * include/debug/multimap.h
1779 (multimap::operator=(std::initializer_list<>)): Likewise.
1780 * include/debug/set.h (set::swap(set&)): Add noexcept
1781 specification, add allocator equality check.
1782 * include/debug/map.h (map::swap(map&)): Likewise.
1783 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1784 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1785
1786 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1787
1788 PR libstdc++/59698
1789 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1790 and stylistic improvements.
1791 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1792 and update for C++11.
1793 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1794
1795 PR libstdc++/59687
1796 * doc/xml/manual/backwards_compatibility.xml
1797 (backwards.third.nocreate_noreplace): Correct and expand.
1798
1799 PR libstdc++/59699
1800 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1801
1802 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1803
1804 PR libstdc++/59738
1805 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1806 support for non-Movable types.
1807
1808 PR libstdc++/59680
1809 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1810
1811 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1812
1813 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1814 *this allocator instance when building temporary vector instance
1815 so that *this allocator does not get moved.
1816 * include/debug/safe_base.h
1817 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1818 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1819 move constructor from _Safe_sequence_base.
1820 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1821 safe iterators if the instance is moved.
1822 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1823 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1824 check on a vector iterator.
1825 * testsuite/23_containers/vector/allocator/move_assign.cc
1826 (test02): Likewise.
1827 (test03): New, test with a non-propagating allocator.
1828 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1829
1830 2014-01-07 Tim Shen <timshen91@gmail.com>
1831
1832 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1833 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1834 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1835 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1836 _BracketMatcher<>::_M_add_char(),
1837 _BracketMatcher<>::_M_add_collating_element(),
1838 _BracketMatcher<>::_M_add_equivalence_class(),
1839 _BracketMatcher<>::_M_add_character_class(),
1840 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1841 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1842 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1843 to template parameter; Add cache for _BracketMatcher. Adjust
1844 declarations from here...
1845 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1846 imbuing a regex will trigger a recompilation to rebuild the cache.
1847 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1848 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1849 different template bool parameters.
1850 * include/bits/regex_executor.h: Remove unnecessary declarations.
1851 * include/std/regex: Adjust including orders.
1852 * testsuite/28_regex/traits/char/user_defined.cc: New.
1853 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1854
1855 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1856
1857 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1858 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1859 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1860 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1861 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1862
1863 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1864
1865 Update copyright years
1866
1867 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1868
1869 * testsuite/18_support/new_handler.cc,
1870 testsuite/18_support/terminate_handler.cc,
1871 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1872 the copyright notice.
1873 \f
1874 Copyright (C) 2014 Free Software Foundation, Inc.
1875
1876 Copying and distribution of this file, with or without modification,
1877 are permitted in any medium without royalty provided the copyright
1878 notice and this notice are preserved.