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