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