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