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