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