2014-01-28 Jonathan Wakely <jwakely@redhat.com>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob4674e1f7318b0ea2578941c48d259a13001350c0
1 2014-01-28  Jonathan Wakely  <jwakely@redhat.com>
2             Kyle Lippincott  <spectral@google.com>
4         PR libstdc++/59656
5         * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
6         constructor and grant friendship to weak_ptr.
7         (weak_ptr::lock()): Use new constructor.
8         * include/bits/shared_ptr_base.h
9         (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
10         and define specializations.
11         (__shared_count): Add new non-throwing constructor.
12         (__shared_ptr): Add new non-throwing constructor and grant friendship
13         to __weak_ptr.
14         (__weak_ptr::lock()): Use new constructor.
15         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
16         * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
18 2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
20         PR libstdc++/59215
21         * include/bits/shared_ptr_base.h
22         (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
23         load.
25 2014-01-27  Jason Merrill  <jason@redhat.com>
27         Core DR 475
28         PR c++/41174
29         PR c++/59224
30         * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
31         * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
32         (__cxa_allocate_exception): Don't set it here.
34 2014-01-26  Jonathan Wakely  <jwakely@redhat.com>
36         * include/bits/stl_map.h: Remove anachronistic comment.
37         * include/bits/stl_multimap.h: Add whitespace.
38         * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
39         -std=gnu++11 instead of -std=c++11.
40         * testsuite/23_containers/map/operators/2.cc: Likewise.
41         * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
42         * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
43         * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
45         * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
46         * configure: Regenerate.
48 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
50         PR libstdc++/59531
51         * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
52         * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
54 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
55             Peter A. Bigot <pab@pabigot.com>
57         PR libstdc++/59531
58         * include/experimental/string_view
59         (copy(_CharT*, size_type, size_type) const): Correct throw string.
60         Correct copy start location.
62 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
63             Peter A. Bigot <pab@pabigot.com>
65         PR libstdc++/59530
66         * include/experimental/string_view (operator[](size_type) const):
67         Fix one-off index error in debug check.
68         * testsuite/experimental/string_view/element_access/char/1.cc: Don't
69         test basic_string_view at size().
70         * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
72 2014-01-24  Ed Smith-Rowland  <3dw4rd@verizon.net>
73             Peter A. Bigot <pab@pabigot.com>
75         PR libstdc++/59529
76         * include/experimental/string_view
77         (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
78         * testsuite/experimental/string_view/operations/substr/char/1.cc:
79         Comment out catch of out_of_range; No terminating null
80         in basic_string_view.  Check begin == end.
81         * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
82         Ditto.
84 2014-01-24  Jonathan Wakely  <jwakely@redhat.com>
86         PR libstdc++/59548
87         * include/debug/safe_base.h (_Safe_sequence_base): Define copy
88         constructor to prevent it being implicitly defined as deleted, but
89         do not copy anything.
90         * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
91         Define copy and move constructors similar to _Safe_sequence_base's.
92         * testsuite/23_containers/unordered_map/59548.cc: New.
94 2014-01-23  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
95             Steve Ellcey  <sellcey@mips.com>
97         * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
98         function.
99         * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
100         * (configure, config.h.in): Regenerate.
101         * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
103 2014-01-23  Jonathan Wakely  <jwakely@redhat.com>
105         * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
106         * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
108         PR libstdc++/59872
109         * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
110         * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
111         Likewise.
112         * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
113         Likewise.
114         * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
115         * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
116         functions to perform moving or copying of elements from rvalue tree.
117         (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
118         (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
119         * testsuite/23_containers/map/59872.cc: New.
120         * testsuite/23_containers/map/56613.cc: Remove duplicate include.
122 2014-01-22  Jonathan Wakely  <jwakely@redhat.com>
124         * include/bits/stl_deque.h (_Deque_impl): Move comment.
126         PR libstdc++/58764
127         * include/bits/stl_deque.h (deque::deque(const allocator_type&):
128         Split into separate default constructor and constructor taking
129         allocator.
130         * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
131         * include/bits/stl_vector.h (vector::vector(const allocator_type&):
132         Likewise.
133         * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
134         * include/debug/list (list::list(const _Allocator&)): Likewise.
135         * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
136         Likewise.
137         * include/debug/multimap.h
138         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
139         * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
140         Likewise.
141         * include/debug/multiset.h
142         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
143         * include/debug/vector (vector::vector(const allocator_type&)):
144         Likewise.
145         * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
146         * include/profile/list (list::list(const _Allocator&)): Likewise.
147         * include/profile/map.h
148         (map::map(const _Compare&, const _Allocator&)): Likewise.
149         * include/profile/multimap.h
150         (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
151         * include/profile/set.h
152         (set::set(const _Compare&, const _Allocator&)): Likewise.
153         * include/profile/multiset.h
154         (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
155         * include/profile/vector (vector::vector(const _Allocator&)):
156         Likewise.
157         * testsuite/23_containers/deque/58764.cc: New.
158         * testsuite/23_containers/list/58764.cc: New.
159         * testsuite/23_containers/map/58764.cc: New.
160         * testsuite/23_containers/multimap/58764.cc: New.
161         * testsuite/23_containers/set/58764.cc: New.
162         * testsuite/23_containers/multiset/58764.cc: New.
163         * testsuite/23_containers/vector/58764.cc: New.
164         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
165         Adjust dg-error line number.
166         * testsuite/23_containers/deque/requirements/dr438/
167         constructor_1_neg.cc: Likewise.
168         * testsuite/23_containers/deque/requirements/dr438/
169         constructor_2_neg.cc: Likewise.
170         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
171         Likewise.
172         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
173         Likewise.
174         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
175         Likewise.
176         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
177         Likewise.
178         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
179         Likewise.
180         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
181         Likewise.
182         * testsuite/23_containers/vector/requirements/dr438/
183         constructor_1_neg.cc: Likewise.
184         * testsuite/23_containers/vector/requirements/dr438/
185         constructor_2_neg.cc: Likewise.
186         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
187         Likewise.
189         PR libstdc++/58764 (again)
190         * include/bits/stl_list.h (list): Make default constructor's exception
191         specification conditional.
192         * include/bits/stl_vector.h (vector): Likewise.
193         * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
194         to default constructor.
195         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
196         Adjust dg-error line number.
197         * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
198         Likewise.
199         * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
200         Likewise.
201         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
202         Likewise.
203         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
204         Likewise.
205         * testsuite/23_containers/vector/requirements/dr438/
206         constructor_1_neg.cc: Likewise.
207         * testsuite/23_containers/vector/requirements/dr438/
208         constructor_2_neg.cc: Likewise.
209         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
210         Likewise.
212 2014-01-21  Tim Shen  <timshen91@gmail.com>
214         * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
215         * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
216         * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
218 2014-01-21  Jonathan Wakely  <jwakely@redhat.com>
220         PR libstdc++/56267
221         * include/bits/hashtable.h (__cache_default): Do not depend on
222         whether the hash function is DefaultConstructible or CopyAssignable.
223         (_Hashtable): Adjust static assertions.
224         * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
225         * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
226         dg-error line number.
227         * testsuite/23_containers/unordered_set/
228         not_default_constructible_hash_neg.cc: Remove.
230 2014-01-20  François Dumont  <fdumont@gcc.gnu.org>
232         * scripts/create_testsuite_files: Add testsuite/experimental in
233         the list of folders to search for tests.
234         * include/experimental/string_view
235         (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
236         incompatible with constexpr qualifier.
237         (basic_string_view<>::front()): Likewise.
238         (basic_string_view<>::back()): Likewise.
239         * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
240         Merge dg-options directives into one.
241         * testsuite/experimental/string_view/element_access/char/2.cc:
242         Likewise. Remove invalid experimental namespace scope on
243         string_view_type.
245 2014-01-20  Jonathan Wakely  <jwakely@redhat.com>
247         PR libstdc++/56267
248         * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
249         friendship to _Local_iterator_base<..., false>.
250         (_Local_iterator_base): Give protected access to all existing members.
251         (_Local_iterator_base::_M_curr()): New public accessor.
252         (_Local_iterator_base::_M_get_bucket()): New public accessor.
253         (_Local_iterator_base<..., false>::_M_init()): New function to manage
254         the lifetime of the _Hash_code_base explicitly.
255         (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
256         (_Local_iterator_base<..., false>): Define copy constructor and copy
257         assignment operator that use new functions to manage _Hash_code_base.
258         (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
259         operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
260         Use public API for _Local_iterator_base.
261         * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
262         * include/debug/unordered_map (__debug::unordered_map::erase(),
263         __debug::unordered_multimap::erase()): Likewise.
264         * include/debug/unordered_set (__debug::unordered_set::erase(),
265         __debug::unordered_multiset::erase()): Likewise.
266         * testsuite/23_containers/unordered_set/56267-2.cc: New test.
268 2014-01-19  Tim Shen  <timshen91@gmail.com>
270         * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
271         Fix parse error of multiple consecutive quantifiers like "a**".
272         * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
273         Likewise.
274         * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
276 2014-01-17  François Dumont  <fdumont@gcc.gnu.org>
278         * include/profile/set.h (set): Implement C++11 allocator-aware
279         container requirements.
280         * include/profile/map.h (map): Likewise.
281         * include/profile/multiset.h (multiset): Likewise.
282         * include/profile/multimap.h (multimap): Likewise.
283         * include/profile/set.h
284         (set::operator=(const set&)): Define as default in C++11 mode.
285         (set::operator=(set&&)): Likewise.
286         * include/profile/map.h
287         (map::operator=(const map&)): Likewise.
288         (map::operator=(map&&)): Likewise.
289         * include/profile/multiset.h
290         (multiset::operator=(const multiset&)): Likewise.
291         (multiset::operator=(multiset&&)): Likewise.
292         * include/profile/multimap.h
293         (multimap::operator=(const multimap&)): Likewise.
294         (multimap::operator=(multimap&&)): Likewise.
295         * include/profile/set.h (set::operator=(std::initializer_list<>)):
296         Rely on the same operator from normal mode.
297         * include/profile/map.h (map::operator=(std::initializer_list<>)):
298         Likewise.
299         * include/profile/multiset.h
300         (multiset::operator=(std::initializer_list<>)): Likewise.
301         * include/profile/multimap.h
302         (multimap::operator=(std::initializer_list<>)): Likewise.
303         * include/profile/set.h (set::swap(set&)): Add noexcept
304         specification.
305         * include/profile/map.h (map::swap(map&)): Likewise.
306         * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
307         * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
309 2014-01-17  Tim Shen  <timshen91@gmail.com>
311         * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
312         use std::map.
313         * include/bits/regex_automaton.h: Do not use std::set.
314         * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
315         _BracketMatcher<>::_M_add_collating_element(),
316         _BracketMatcher<>::_M_add_equivalence_class(),
317         _BracketMatcher<>::_M_make_range()): Likewise.
318         * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
319         Likewise.
320         * include/bits/regex_executor.h: Do not use std::queue.
321         * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
322         _Executor<>::_M_dfs()): Likewise.
323         * include/std/regex: Remove <map>, <set> and <queue>.
325 2014-01-17  Tim Shen  <timshen91@gmail.com>
327         * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
328         basic_regex<>::assign()): Change __compile_nfa to accept
329         const _CharT* only.
330         * include/bits/regex_compiler.h: Change _Compiler's template
331         argument from <_FwdIter, _TraitsT> to <_TraitsT>.
332         * include/bits/regex_compiler.tcc: Likewise.
334 2014-01-17  Tim Shen  <timshen91@gmail.com>
336         * include/bits/regex_compiler.h: Change _ScannerT into char-type
337         templated.
338         * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
339         _ScannerBase from _Scanner; Change _Scanner's template argument from
340         _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
341         instead.
342         * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
343         _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
344         _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
345         Likewise.
346         * include/std/regex: Add <cstring> for using strchr.
348 2014-01-17  Tim Shen  <timshen91@gmail.com>
350         * bits/regex_automaton.tcc: Indentation fix.
351         * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
352         _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
353         _BracketMatcher<>): Add bool option template parameters and
354         specializations to make matching more efficient and space saving.
355         * bits/regex_compiler.tcc: Likewise.
357 2014-01-15  François Dumont  <fdumont@gcc.gnu.org>
359         PR libstdc++/59712
360         * include/bits/hashtable_policy.h: Fix some long lines.
361         * include/bits/hashtable.h (__hash_code_base_access): Define and
362         use it to check its _M_bucket_index noexcept qualification. Use
363         also in place of...
364         (__access_protected_ctor): ...this.
365         * testsuite/23_containers/unordered_set/instantiation_neg.cc:
366         Adapt line number.
367         * testsuite/23_containers/unordered_set/
368         not_default_constructible_hash_neg.cc: Likewise.
370 2014-01-13  François Dumont  <fdumont@gcc.gnu.org>
372         * include/debug/set.h (set): Implement C++11 allocator-aware
373         container requirements.
374         * include/debug/map.h (map): Likewise.
375         * include/debug/multiset.h (multiset): Likewise.
376         * include/debug/multimap.h (multimap): Likewise.
377         * include/debug/set.h (set::operator=(set&&)): Add noexcept and
378         fix implementation regarding management of safe iterators.
379         * include/debug/map.h (map::operator=(map&&)): Likewise.
380         * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
381         * include/debug/multimap.h (multimap::operator=(multimap&&)):
382         Likewise.
383         * include/debug/set.h (set::operator=(std::initializer_list<>)):
384         Rely on the same operator from normal mode.
385         * include/debug/map.h (map::operator=(std::initializer_list<>)):
386         Likewise.
387         * include/debug/multiset.h
388         (multiset::operator=(std::initializer_list<>)): Likewise.
389         * include/debug/multimap.h
390         (multimap::operator=(std::initializer_list<>)): Likewise.
391         * include/debug/set.h (set::swap(set&)): Add noexcept
392         specification, add allocator equality check.
393         * include/debug/map.h (map::swap(map&)): Likewise.
394         * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
395         * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
397 2014-01-10  Jonathan Wakely  <jwakely@redhat.com>
399         PR libstdc++/59698
400         * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
401         and stylistic improvements.
402         * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
403         and update for C++11.
404         * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
406         PR libstdc++/59687
407         * doc/xml/manual/backwards_compatibility.xml
408         (backwards.third.nocreate_noreplace): Correct and expand.
410         PR libstdc++/59699
411         * doc/xml/manual/support.xml (std.support.types.null): Update links.
413 2014-01-09  Jonathan Wakely  <jwakely@redhat.com>
415         PR libstdc++/59738
416         * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
417         support for non-Movable types.
419         PR libstdc++/59680
420         * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
422 2014-01-08  François Dumont  <fdumont@gcc.gnu.org>
424         * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
425         *this allocator instance when building temporary vector instance
426         so that *this allocator does not get moved.
427         * include/debug/safe_base.h
428         (_Safe_sequence_base(_Safe_sequence_base&&)): New.
429         * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
430         move constructor from _Safe_sequence_base.
431         (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
432         safe iterators if the instance is moved.
433         (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
434         * testsuite/23_containers/vector/allocator/move.cc (test01): Add
435         check on a vector iterator.
436         * testsuite/23_containers/vector/allocator/move_assign.cc
437         (test02): Likewise.
438         (test03): New, test with a non-propagating allocator.
439         * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
441 2014-01-07  Tim Shen  <timshen91@gmail.com>
443         * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
444         _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
445         _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
446         _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
447         _BracketMatcher<>::_M_add_char(),
448         _BracketMatcher<>::_M_add_collating_element(),
449         _BracketMatcher<>::_M_add_equivalence_class(),
450         _BracketMatcher<>::_M_add_character_class(),
451         _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
452         _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
453         Fix _AnyMatcher behavior of POSIX style and move _M_flags
454         to template parameter; Add cache for _BracketMatcher. Adjust
455         declarations from here...
456         * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
457         imbuing a regex will trigger a recompilation to rebuild the cache.
458         * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
459         _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
460         different template bool parameters.
461         * include/bits/regex_executor.h: Remove unnecessary declarations.
462         * include/std/regex: Adjust including orders.
463         * testsuite/28_regex/traits/char/user_defined.cc: New.
464         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
466 2014-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
468         * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
469         * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
470         * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
471         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
472         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
474 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
476         Update copyright years
478 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
480         * testsuite/18_support/new_handler.cc,
481         testsuite/18_support/terminate_handler.cc,
482         testsuite/18_support/unexpected_handler.cc: Use the standard form for
483         the copyright notice.
485 Copyright (C) 2014 Free Software Foundation, Inc.
487 Copying and distribution of this file, with or without modification,
488 are permitted in any medium without royalty provided the copyright
489 notice and this notice are preserved.